Pygame Zero之贪吃蛇(二)
本文来研究如何移动小蛇,而且仅限于向右移动,严格的说其实是「前进」。这里需要思考的问题是:为什么不是上下左右移动呢?
因为在游戏中,上下左右是相对于游戏窗口的,小蛇的移动方向只有前进,也就是朝着蛇头的方向(小蛇是不能倒退的哦)。如果想要往其他方向移动,只能改变蛇头的方向,这时蛇的形状就会发生改变,我们下次再来研究。
在小蛇向右移动一格的时,大概经历了下边的过程。
移动一格分为两步完成:
- 在旧蛇头右侧添加一个新蛇头,旧蛇头编程蛇身的一部分
- 删除旧蛇尾,原来挨着旧蛇尾的蛇身变成了新蛇尾
这样,我们可以在update()函数中编写这部分代码:
1 | # 前置代码见9-1.py |
结果如下:
可以看到小蛇移动速度非常快,因此我们可以导入time库来减速。比如每次update()以后,暂停0.2秒:
1 | import time |
运行程序,有一种古老游戏的感觉了,小蛇看起来是在一格一格的前进!
- 标题: Pygame Zero之贪吃蛇(二)
- 作者: Ward
- 创建于 : 2021-01-01 22:45:05
- 更新于 : 2021-01-02 00:02:11
- 链接: https://wangjiaxi.github.io/2021/01/01/Pygame-Zero之贪吃蛇(二)/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论