相信对读者来说,贪吃蛇游戏已经不新鲜了,这一经典的益智游戏早已风靡世界多年。
典型的贪吃蛇游戏的主界面如图 1 所示。
图 1:贪吃蛇小游戏的主界面
其游戏规则是:玩家使用上下左右键控制绿色的“蛇”在窗口中游走并吃掉(触碰)红色的“苹果”来得分,每吃一个“苹果”,“蛇”也将变长一些。如果“蛇头”碰到了窗口的四壁,或是与自身相撞,游戏结束。整个界面由若干方格构成,“蛇”游走的过程实际上是在不同的方格中连续绘制和擦除“蛇”的图形的过程。
根据游戏规则整理出的游戏流程如图 2 所示。
图 2:贪吃蛇小游戏的游戏流程
根据流程图,与 2048 小游戏类似,贪吃蛇游戏程序大致也可分为三个部分:
- 程序初始化;
- 判断用户输入;
- 进入游戏主循环。
其中第三部分可以继续细分为以下三个部分:
- 判断操作并处理;
- 判断是否吃到“苹果”;
- 重新开始或退出。
为了游戏界面效果美观,同样使用了 pygame 模块。首先来看程序初始化,这里主要完成以下工作:导入所需模块,初始化窗口界面,初始化各种组件和变量。代码如下:
1. #“蛇”移动的速度,数值越大速度越快
2. Snakespeed = 10
3. #窗口宽度和高度
4. Window_Width = 800
5. Window_Height = 500
6. #每个格子的宽度和高度
7. Cell_Size = 20
9. assert Window_Width % Cell_Size == 0, "窗口宽度必须是格子宽度的整数倍"
10. assert Window_Height % Cell_Size ==0, "窗