第一次写文章,如有错误请谅解
运行示例
----
程序分析
捕获键盘操作
Python从控制台读取可以使用input()函数, 但很明显的是, 贪吃蛇游戏需要在游戏运行的同时不断读取键盘操作,...输出游戏画面
贪吃蛇游戏需要不断的更新和显示游戏画面, 游戏地图可以使用二维矩阵的形式储存, 显示画面时, 将矩阵中的信息转换成字符串并输出即可
----
代码分析一
安装运行环境
# 测试python..., 即移动后蛇头位置处的地图为食物, 蛇长度增长一格并整体前进一格, 同时触发食物的eat()操作, 吃掉该位置处的食物
蛇头移向炸弹处, 即移动后蛇头位置处的地图为炸弹, 游戏结束
蛇头移向墙, 即移动后蛇头位置的位置超过地图边界..., 游戏结束
蛇头移向蛇身体, 即移动后蛇头位置处的地图为蛇身体, 游戏结束
蛇向前移动时, 并不需要改变每一部分身体的位置, 只需在身体的最前方添加一节身体, 位置与原蛇头位置相同, 如果蛇没有变长...产生该问题的原因是清除控制台再重新输出不是瞬间完成, 为解决该问题需要使用双缓冲DoubleBuffer, 当前缓冲区显示, 下一个缓冲区更新完成后直接替换该缓冲区的内容, 即可解决屏幕更新不及时造成的闪烁问题
双缓冲的实现参考Python