还记得你的诺基亚手机上的贪吃蛇吗?

那是满满的回忆啊。

有没有想法自己写一款贪吃蛇游戏?

废话不多说,直接来!

先看张成果图

贪吃蛇游戏python代码 python贪吃蛇简单代码_初始化

先理一下贪吃蛇的关键逻辑:

先定义一个蛇可活动的范围。

贪吃蛇移动

贪吃蛇的身体存放在一个list内, list中的元素代表画布上的坐标,list的最后一个元素代表蛇头,把新蛇头的坐标添加到list的尾部,然后把list的第一个元素(也就是蛇尾)删掉,那么在下一次画布更新的时候,根据list的元素去画蛇,就模仿了蛇移动,如果蛇吃到了食物,不删除蛇尾就行了,然后刷新食物的位置

如何判断吃到了食物?

下一次的蛇头与食物的坐标一致即可

如何刷新食物

在边界内,除去蛇的身体的任一处坐标即可

如何控制蛇的方向

先定义蛇的初始方向,下一步的方向只能往蛇方向的垂直的方向去拐弯。比如方向有上下左右,蛇的初始方向是右,那更改的方向只能是上或者下,不能是左和右。

如何判断游戏结束

当蛇头超出定义的画布边界,或者蛇头的元素已经在list中,游戏结束。

ok,下边看关键的逻辑代码

先定义一个Snake类

贪吃蛇游戏python代码 python贪吃蛇简单代码_初始化_02

类初始化函数中 定义个蛇活动区域,定义了蛇身,蛇头,初始化方向,食物,速度,分数等

贪吃蛇游戏python代码 python贪吃蛇简单代码_初始化_03

在Snake类中还定义了生成食物坐标的函数,蛇移动的函数,具体实现逻辑可以看代码中的注释

贪吃蛇游戏python代码 python贪吃蛇简单代码_python贪吃蛇最简单代码_04

定义了游戏继续和游戏结束的函数

贪吃蛇游戏python代码 python贪吃蛇简单代码_python贪吃蛇最简单代码_05

方向判断的函数

下边是主函数

贪吃蛇游戏python代码 python贪吃蛇简单代码_贪吃蛇游戏python代码_06

画布更新,调用蛇移动的函数,完成蛇的移动。

到此展示了一些主要的逻辑实现。

获取完整的代码和打包好的exe程序,后台回复 贪吃蛇 即可。

这就完成了一个简易版的贪吃蛇,后续如果想优化,可以优化界面,添加资源文件,添加游戏音效等,这就当作作业留给想优化的同学吧。

好的,装x完毕,撤!(完)