您当前的位置:JZ5U绿色下载站文章中心设计学院Photoshop → 文章内容
  • Python游戏开发贪吃蛇

今天学习Python游戏开发,当然这里说的是小游戏。主要学习一下Python的游戏库,然后完成一个小游戏。

小游戏开发其实很简单。需求先理解开发言语的游戏库的用法,包括怎样创立一个显现区域?怎样刷新显现区域?根本图形怎样绘制?以及事情处置逻辑是怎样的?在学习了游戏库的运用后,剩下的就是完成游戏规则和算法,然后遵照开发言语游戏库(框架)的逻辑,完成游戏显现和控制。


今天我们要用到的库是pygame。首先学习一下根本运用,然后依照惯例,编写一个贪吃蛇的小游戏。

pygame基本框架

下面是Pygame的一个根本框架实例代码,包含了游戏窗口创立,矩形绘图,界面刷新,按键事情处置等。先感受一下,然后逐一阐明。

运转效果,黑背景的显现区域上面有一个白色的方块,从显现区域的左上角到右下角平滑的循环挪动,按方向键左能够关掉游戏窗口:

游戏显现区域

pygame先要调用init()办法停止初始化,然后创立显现区域pygame.display是创立一个显现区域(或窗口),能够设置显现区域的大小,游戏的称号,游戏的图标等等。关键办法就是set_mode()。size参数是一个二元元组,表示显现区域的长和宽;flags参数表示一些特性,默许值是0,表示不运用特性,可用的值FULLSCREEN,RESIZEBLE,NOFRAME,DOUBLEBUF;depth参数表示色深。

图形绘制

根本图形:矩形、圆形、三角形等。pygame的draw停止图形绘制。rect()办法绘制矩形,第一个参数是显现区域的句柄,也就是第一步创立显现区域得到的值;第二个参数表示矩形区域的颜色;第三个参数表示矩形的起点坐标和长宽;第四个参数表示边线的宽度,默许是0,表示无边线填充矩形,假如设置的话表示有边线的空心矩形。

界面刷新

显现界面更新,才干显现绘制的图形。经过调用display的update()办法,停止界面更新。

游戏区域需求不时刷新,才干看到物体的挪动,所以需求设置一个界面刷新频率。time模块经过设置时钟的刷新频率(tick()办法),来停止不时的界面更新。

事情处置

Pygame的event提供get()办法获得游戏事情

贪吃蛇

在开端编码之前,我们需求先停止剖析设计。这点很重要,只要想分明了,才干做出一个好的产品/功用。

食物设计:

  • 一个矩形代表一个食物

  • 食物随机呈现

  • 屏幕中,有且只要一个食物

  • 食物不能呈现在蛇身(随机食物不能与蛇堆叠)

蛇设计:

  • 蛇分蛇头和蛇尾

  • 初始长度3,蛇头1,蛇身1,蛇尾1

  • 蛇头=蛇身=蛇尾=食物

  • 每次挪动一蛇头的间隔

  • 经过键盘的方向键上下左右控制蛇头挪动

  • 蛇头撞到蛇身或蛇尾或显现区域边境,游戏完毕

  • 蛇头与食物叠加,表示吃到食物,蛇身增加一个食物长度

显现区域:

  • 全屏显现

其他:

  • 按ESC键退出游戏

算法设计:

  • 贪吃蛇游戏的关键是蛇的挪动算法。其实原理很简单蛇头前面增加一个,尾巴消掉。蛇身不论有几个都不用动。

我们看一下运转效果:

写在结尾的话

至此,我们学习了pygame库,并运用此框架完成了小游戏贪吃蛇(Gluttonous Snake)。

源码地址:

https://github.com/stonedong/pythonworld/blob/master/PythonGame.py


  • 作者:互联网  来源:本站整理  发布时间:2019-10-18 10:48:35


------------------------------- · 相关文档浏览 · --------------------------------------------------------------------- · 热门文档浏览 · -------------------------------------