预习内容
项目分析:
对于贪吃蛇,需要设计页面布局,在此基础上添加监听器,实现按键响应,然后根据键盘控制改变蛇的位置,设计随机出现的食物,在蛇吃掉食物的情况下改变蛇身长度,在蛇吃到自身或者撞墙的情况下死亡,重新开启游戏。
实验目标:
实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点,得分增加,“蛇”碰到边界或,蛇头与蛇身相撞,蛇死亡,游戏结束。为游戏设计初始欢迎界面,游戏界面,游戏结束界面。
运算符优先级认知
1、环境准备
开始之前,先来安装Pygame。可使用pip模块来帮助下载安装python包。
anaconda用户可按以下操作
输入conda list,然后回车
conda list
再输入python -m pip install --upgrade pip
然后输入pip install pygame
python -m pip install --upgrade pip pip install pygame
安装成功!
可以输入python -m pygame.examples.aliens来检验是否成功安装
python -m pygame.examples.aliens
若正常运行,说明安装成功
2、游戏规则
2.1开始和结束
1.贪吃蛇一开始出生在左上角,只有一节身体一个头
2.蛇如果碰到了自己的身体或者碰到了游戏边界,那么就直接死亡
3.如果死亡或者想要暂停可以按下空格键
2.2运动和控制
1.我们使用监听键盘上的方向键(↑、↓、←、→)来控制蛇的运动轨迹
2.3得分
1.得分设为吃到一个豆子得5分,初始为0分
2.食物必须满足是在游戏窗口随机生成的,如果蛇头跟食物碰到了,那就代表蛇吃到了食物,然后食物再次刷新随机位置
3.食物出现30s内,贪吃蛇没吃到,那么食物就刷新
4.游戏会随着你蛇的增长,也会变快
关键代码分析
(1)蛇身增加与行动
用列表来储存身体,当头部和食物坐标重合时,在列表第0项添加一些身体,通过在蛇头添加一些身体并删除蛇尾来实现移动
(2)随机食物
在game_item.py模块的顶部,导入random模块,以方便使用随机数代码如下import random
在Food类中定义random_rect方法,随机确定游戏窗口的任意格子设置食物出现的位置,每30秒刷新一次,吃到食物时改变移动速度。
(3)蛇死亡判定思路<