传统贪吃蛇相信大家都玩过,也是一款很老很经典的游戏,今天我们用python控制台实现

项目有很多bug没有解决,因为本人一时兴起写的一个小游戏,所以只是实现可玩部分功能,并没有花较多的时间和精力去维护和解决bug

比如数组越界,这个应该是目前来说最显而易见的bug,希望大家有兴趣的可以自己调试解决,也可以联系我或评论

实现的功能

  • 开局随机产生一条蛇
  • 可以上下左右控制方向
  • 蛇可以自动爬行
  • 吃果实可以增加身体长度

依赖包

  • pynput 监听键盘输入---实现控制蛇方向
  • apscheduler 定时任务---蛇自动爬行

部分详细思路解析

  • 首先我们的蛇得有个场地可以爬行,我们可以使用一个二维数组来实现
height = 29               # 数组个数
width = 60 # 数组长度
site = ['0']*height # 场地高度
defaultBody = "-" # 默认数组填充字符串

以上都是场地初始化配置参数

那么怎么显示出场地呢,只需要打印出来就行了,更多关于场地的优化和建议可以评论或者发邮件给我

  • 需要随机生成一条蛇,需要在场地中显示,所有也就是一串连续关联的二维数组坐标点

    给大家上一个图

如上图所示,就是本次需要实现的贪吃蛇

再回到蛇本身这个话题

蛇有很多属性,例如:

  • 当前爬行方向
  • 当前身体所在坐标点
  • 爬行
  • 换方向
  • 吃果实
  • 监听键盘控制

蛇每次爬行都会有一个方向,然后身体向前移动,如果吃到了果实则尾巴增加一段,然后再将蛇的身体坐标更新到场地里面,在将场地刷新一遍,我们就能看到效果了

项目github

最新文章

  1. css3实现颜色渐变以及兼容性处理
  2. python编码
  3. 在Excel中实现查询功能
  4. PS4 的下载速度问题
  5. sql脚本太大无法打开的解决办法
  6. linux信号量之进程间同步
  7. 关于sqlite数据库
  8. js求字符长度
  9. js日期天数差
  10. 【DDD】领域驱动设计实践 —— Application层实现
  11. 安装MySQL容易出现的问题
  12. LeetCode算法题-Number of Lines To Write String(Java实现)
  13. Linux 实例常用内核网络参数介绍与常见问题处理
  14. 51nod OJ P1008 N的阶乘 mod P
  15. Linux三剑客-SED
  16. GUI 设计
  17. docker 基础 之安装
  18. 查找 管道 exec
  19. 【转】CEF3加载网页---多字节字符集和UNICODE字符集
  20. Sed&awk笔记之awk篇(转)

热门文章

  1. SUSE CaaS Platform 4 - 安装技巧
  2. httpd2.2
  3. 【IE低配杀手】html5shiv.js和respond.min.js
  4. redhat 7系统服务工具-systemctl
  5. resmgr:cpu quantum等待事件 触发的bug问题
  6. mpvue 页面预加载,新增preLoad生命周期
  7. 网络游戏开发-客户端2(自定义websocket协议格式)
  8. SparkStreaming整合Flume的pull报错解决方案
  9. KEIL软件中编译时出现的Error L6200E: symbol multiply defined ...的解决方法
  10. vodevs3031 最富有的人