第一次写文章,如有错误请谅解
运行示例
----
程序分析
捕获键盘操作
Python从控制台读取可以使用input()函数, 但很明显的是, 贪吃蛇游戏需要在游戏运行的同时不断读取键盘操作,...__body = [] # 开始游戏时蛇的身体长度为0
蛇的主要操作为移动move(), 在移动时会触发各种场景
蛇头移向空白处, 即移动后蛇头位置处的地图为空白块, 蛇整体移动一格
蛇头移向食物处..., 再加上键盘操作即可控制蛇的移动
但有一个明显的问题, print()+clear操作闪瞎玩家的眼睛会导致屏幕严重闪烁, 产生该问题的原因是清除控制台再重新输出不是瞬间完成, 为解决该问题需要使用双缓冲...DoubleBuffer, 当前缓冲区显示, 下一个缓冲区更新完成后直接替换该缓冲区的内容, 即可解决屏幕更新不及时造成的闪烁问题
双缓冲的实现参考Python控制台双缓冲Double Buffer...format(score))
print("\033[0;33m输入任意内容退出游戏 \033[0;32m输入\033[0;34m空格\033[0;32m重新开始游戏\033[0m")
游戏主函数
在主函数中绑定键盘操作