这是一个玩龙的游戏

简要

在Chrome浏览器地址栏输入"chrome://dino"或者断网后访问任意地址或者不科学上网访问需FQ的网站,将会出现如下界面:
python简单写一个谷歌小恐龙游戏
这次我模仿它来简单做一个小恐龙游戏当期末作业

游戏规则

玩家通过键盘控制一只小恐龙的前进方式,空格键代表游戏开始下键代表,当小恐龙触碰到植物或者飞龙时,游戏结束。小恐龙躲避的植物和飞龙越多,得分越高。

开发环境

  • windows 10
  • Python版本:3.8.2
    • pygame

开始开发

下面所有代码的配置都在cfg.py配置文件里面
python简单写一个谷歌小恐龙游戏

  1. 定义精灵类
    • 植物类
      python简单写一个谷歌小恐龙游戏
      其中,update函数的作用为使生成的植物不断地左移,来实现小恐龙不断右移的效果。如果它到达画布的最左边,即right < 0,则销毁它
    • 飞龙类
      python简单写一个谷歌小恐龙游戏
      飞龙类要稍微难一点,因为它有两个飞行状态,一个是翅膀向下,另一个是翅膀向下,通过image_idx表示它的飞行状态,需要做的就是每隔很短的一段时间,就让飞龙的翅膀由其中一种状态转为另外一种状态。
      python简单写一个谷歌小恐龙游戏
    • 小恐龙类
      python简单写一个谷歌小恐龙游戏
      python简单写一个谷歌小恐龙游戏
      小恐龙类代码复杂一点,但其实和飞龙差不多,也是一样用image_idx表示状态。
      其中,小恐龙的下蹲和飞龙一样,在短时间内不断切换两张图片就OK了
      python简单写一个谷歌小恐龙游戏
      它的一般状态也是类似的
      python简单写一个谷歌小恐龙游戏
      对于跳跃这个难一点动作,我用了简单的上抛和之后的自由落体运动来实现它在竖直方向上的位置。
  2. 定义场景类
    • 定义云场景
      python简单写一个谷歌小恐龙游戏
      python简单写一个谷歌小恐龙游戏

    • 定义地板场景
      python简单写一个谷歌小恐龙游戏
      地板是两张图片一起移动,如果某一张图片画出了画布,则放到另一张图片的右边

    • 定义记分板场景
      python简单写一个谷歌小恐龙游戏
      上面代码用is_highest变量来区分该记分板是否用于记录游戏最高分,还是只是记录当前的分数,做该区分的原因是游戏最高分前面有HI标识
      python简单写一个谷歌小恐龙游戏

  3. 定义游戏界面类
    • 定义游戏开始界面
      python简单写一个谷歌小恐龙游戏
      • 定义游戏结束界面
        python简单写一个谷歌小恐龙游戏
    1. 主体部分
      • 实例化精灵类
        python简单写一个谷歌小恐龙游戏
      • 主程序循环
        python简单写一个谷歌小恐龙游戏
        python简单写一个谷歌小恐龙游戏
      • 运行游戏
        python简单写一个谷歌小恐龙游戏

      到此,我就简单的做了一个小恐龙游戏,最后的结果截图为:
      python简单写一个谷歌小恐龙游戏

相关文章:

  • 2021-12-05
  • 2021-12-05
  • 2021-10-09
  • 2021-12-23
  • 2021-12-12
  • 2021-08-25
  • 2022-12-23
猜你喜欢
  • 2021-12-05
  • 2022-01-06
  • 2021-09-06
  • 2021-08-25
  • 2021-10-08
  • 2021-12-05
  • 2021-12-05
相关资源
相似解决方案