python【控制台】小游戏--贪吃蛇
传统贪吃蛇相信大家都玩过,也是一款很老很经典的游戏,今天我们用python控制台实现
项目有很多bug没有解决,因为本人一时兴起写的一个小游戏,所以只是实现可玩部分功能,并没有花较多的时间和精力去维护和解决bug
比如数组越界,这个应该是目前来说最显而易见的bug,希望大家有兴趣的可以自己调试解决,也可以联系我或评论
实现的功能
- 开局随机产生一条蛇
- 可以上下左右控制方向
- 蛇可以自动爬行
- 吃果实可以增加身体长度
依赖包
- pynput 监听键盘输入---实现控制蛇方向
- apscheduler 定时任务---蛇自动爬行
部分详细思路解析
- 首先我们的蛇得有个场地可以爬行,我们可以使用一个二维数组来实现
height = 29 # 数组个数
width = 60 # 数组长度
site = ['0']*height # 场地高度
defaultBody = "-" # 默认数组填充字符串
以上都是场地初始化配置参数
那么怎么显示出场地呢,只需要打印出来就行了,更多关于场地的优化和建议可以评论或者发邮件给我
- 需要随机生成一条蛇,需要在场地中显示,所有也就是一串连续关联的二维数组坐标点
给大家上一个图
如上图所示,就是本次需要实现的贪吃蛇
再回到蛇本身这个话题
蛇有很多属性,例如:
- 当前爬行方向
- 当前身体所在坐标点
- 爬行
- 换方向
- 吃果实
- 监听键盘控制
蛇每次爬行都会有一个方向,然后身体向前移动,如果吃到了果实则尾巴增加一段,然后再将蛇的身体坐标更新到场地里面,在将场地刷新一遍,我们就能看到效果了
-- 砥砺前行,勿忘初心