1.贪吃蛇游戏规则
贪吃蛇游戏规则如下:
1.1开始和结束
贪吃蛇初始出现在游戏窗口的左上角位置,体长共有3节
游戏过程中,一旦蛇头撞到了窗口的边缘或者身体的其他部位,游戏结束
游戏过程中,点击游戏窗口的关闭按钮,或者按下ESC键可以直接退出游戏
一局游戏结束后,按下空格键可以重新开启一局新游戏
1.2运动和控制
贪吃蛇初始沿屏幕水平方向,向右侧运动,每隔0.5秒移动一节身体
使用键盘的方向键(⬆⬇⬅➡)可以改变蛇头的运动方向,
注意:
当蛇头沿水平方向运动时,只能使用垂直方向的方向键将蛇头的运动方向修改为垂直方向
当蛇头沿垂直方向运动时,只能使用水平方向的方向键将蛇头的运动方向修改为水平平向
游戏过程中按下空格键,可以暂停游戏;再次按下空格键,可以继续游戏
1.3食物和得分
游戏开始后,会在游戏窗口的任-一随机位置出现食物
注意:食物不会与蛇身体重叠
当蛇头与食物相遇时,代表蛇吃到了食物,此时:
被吃掉的食物从屏幕上消失
蛇的身体会增加一节
游戏得分增加10分
在游戏窗口的其他任一随机位置再次出现新的食物,食物同样不会与蛇身体重叠
如果食物出现的30秒内,贪吃蛇没有吃到食物,那么:
没有被吃到的食物从屏幕上消失
在游戏窗口的其他任一随机位置再次出现新的食物,食物同样不会与蛇身体重叠
每吃掉1颗食物,贪吃蛇的运动速度会加快:
初始每隔0.5秒移动一节身体
每吃掉1颗食物,移动的时间间隔缩短50ms,也就是: 0.45s、0.40s、0.35s等依次类推
最短的移动时间间隔是0.1秒
2.类的设计和模块准备
2.1类的设计
根据游戏规则,要实贪吃蛇游戏,一共需要4种对象,分别是:游戏对象、蛇对象、食物对象和文字标签对象
除游戏对象外,其他3种对象在游戏窗口中的展现效果示意图如下:
因此我们可以考虑设计4个类,分别承担不同的职责:
游戏类(Game) : 负责提供整个游戏流程控制的相关操作,包括:
创建游戏主窗口和游戏时钟
创建并显示游戏元素:蛇、食物、得分标签、提示标签。
监听用户交互并做出相应处理
标签类(Label) :负责提供文本提示信息的相关操作
食物类(Food) :负责提供食物对象的相关操作
蛇类(Snake) :负责提供蛇对象相关操作
类图如下:
2.2模块的确定和准备
根据类的设计,在贪吃蛇游戏项目中设计2个模块,分别是:
game.py 游戏主模块 封装Game类并负责启动游戏
game_items.py 游戏元素模块,封装模块Label、Food、Snake类,并定义全局变量
新建项目及文件准备
使用pycharm新建一个项目:
项目名称:贪吃蛇
解释器:python 3.9.13
在项目中依次建立2个模块:game.py 和 game_items.py
内容总结于:https://space.bilibili.com/441640380