摘要
这个学期我们学习了python,我制作地贪吃蛇小游戏和你画我猜小游戏是基于python的pygame模块的小游戏开发。运用pygame模块里面的大量库函数可以让我们这些初学者开发学习2D函数更加地得心应手。pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言束缚,用于多媒体开发和游戏软件开发的模块。
贪吃蛇游戏使用pygame模块导入要使用地函数和变量,定义游戏运行主函数和游戏暂停和结束函数。设计思路是初始化蛇地位置、长度、速度和方向等变量,pygame.display.set_mode生成windows窗口,screen.fill(white)对surface对象填充某一种颜色,在这里表现为窗口背景颜色的填充。用到pygame.time.Clock()控制帧速率。pygame.time.Clock()会控制每个循环多长时间运行一次。传入clock.tick()每秒内循环要运行的次数即我们游戏的fps。
1.引言
Python在设计上坚持了清晰划一的风格,使得Python成为一门易读、可扩展性、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性,支持重载运算符和动态类型。Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。本文的小游戏就是基于python的pygame模块实现的。用户按下键盘只是改变方向的值,再用函数更新贪吃蛇坐标。如果不按,那方向值一直不变,贪吃蛇就一直向前走。头坐标未超出地图范围代表用户游戏成功。
2.游戏系统结构
(1)pygame.time模块给我们提供了一个Clock的对象,pygame.time.Clock()控制帧速率。pygame.time.Clock()会控制每个循环多长时间运行一次。第一初始化了一个Clock对象;第二返回一个上次调用的时间(以毫秒计);第三在每一个循环中加上它,那么给tick方法加上的参数就成为了游戏绘制的最大帧率,这样的话,游戏就不会用掉所有的CPU资源了。
图1 pygame.time.Clock()函数
(2)pygame.display.set_mode生成windows窗口,返回的是一个surface对象,resolution可以控制生成windows窗口的大小,flags代表的是扩展选项。
图2 pygame.display.set_mode函数
(3)g