带大家重新写个小恐龙小游戏呗~

您所在的位置:网站首页 像素小游戏怎么做 带大家重新写个小恐龙小游戏呗~

带大家重新写个小恐龙小游戏呗~

2024-05-29 21:11| 来源: 网络整理| 查看: 265

原文链接导语

本来想带大家用遗传算法再训一波龙的,于是把自己之前写的仿谷歌浏览器小恐龙代码找了出来,就是这个:

Python制作小游戏(七)

想在它基础上加AI控制的代码的,结果发现之前写的那个版本和原版还是有出入的,而且玩起来的体验也很差,于是就打算先重构一版这个游戏分享给大家,然后再带大家训龙。毕竟磨刀不误砍柴工嘛。

废话不多说,让我们愉快地开始吧~

相关文件

https://github.com/CharlesPikachu/Games/tree/master/Game7

先睹为快https://www.zhihu.com/video/1247559540729810944原理简介

这里介绍一下游戏的实现原理,先说明一下,为了后面方便训龙,我没有加入黑夜的场景效果,即游戏只有白天的场景。

首先,我们对游戏进行一些必要的初始化工作:

# 游戏初始化 pygame.init() screen = pygame.display.set_mode(cfg.SCREENSIZE) pygame.display.set_caption('T-Rex Rush —— Charles的皮卡丘') # 导入所有声音文件 sounds = {} for key, value in cfg.AUDIO_PATHS.items(): sounds[key] = pygame.mixer.Sound(value)

接着,我们来考虑一下,游戏中有哪些游戏元素:

小恐龙:由玩家控制以躲避路上的障碍物;路面:游戏的背景;云:游戏的背景;飞龙:路上的障碍物之一,小恐龙碰上就会死掉;仙人掌:路上的障碍物之一,小恐龙碰上就会死掉;记分板:记录当前的分数和历史最高分。

让我们来依次定义一下这些游戏元素类。对于云,路面以及仙人掌来说,定义起来很简单,我们只需要加载对应的游戏元素图片:

然后写两个类内部方法update和draw就ok了。两个方法分别用于将场景不断向左移动以实现小恐龙不断向前移动的动画效果和将场景显示在游戏界面的对应位置上。具体而言,代码实现如下:

'''地板''' class Ground(pygame.sprite.Sprite): def __init__(self, imagepath, position, **kwargs): pyg


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3