13浏览
查看: 13|回复: 0

[项目] FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏

[复制链接]
本帖最后由 HonestQiao 于 2025-10-4 21:50 编辑

[size=15.7415px]这篇帖子分享了使用 FireBeetle 2 ESP32-C5 + GDI显示屏,来运行Arduino版本的《恐龙游戏》。
[size=15.7415px]

[size=15.7415px]一、《恐龙游戏》了解
[size=15.7415px]在Google的Chrome浏览器中,有一个内置的彩蛋小游戏:《恐龙游戏》(英语:Dinosaur Game)。
[size=15.7415px]这是一款内置于Google Chrome的横向滚动栏形式网页游戏,玩家操控一只像素风格的小暴龙避开障碍物并获取分数。[size=15.7415px]
该游戏由Google的Chrome用户体验团队于2014年开发。
[size=15.7415px]FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏图1
[size=15.7415px]

[size=15.7415px]如果你想体验的话,可以在Chrome浏览器的地址栏输入:chrome://dino,就能打开下面的游戏界面:
[size=15.7415px]FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏图2
[size=15.7415px]

[size=15.7415px]记住,要在Google的Chrome浏览器中,才有这个彩蛋小游戏。

不过,如果使用的不是Googgle的Chrome浏览器,也可以访问网址 https://dino-chrome.com/ 来体验:

[size=15.7415px]FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏图3


二、Arduino版本的《恐龙游戏》因为Chrome浏览器的《恐龙游戏》简单又有趣,所以爱好者开发了很多衍生移植版本。
在Arduino环境中,也有对应的移植版本,我了解过的有:



[size=15.7415px]之前,我曾将 [size=15.7415px]Dino-Game-Arduino-Edition[size=15.7415px] 移植到了 AVR64DD32 Curiosity Nano开发板 上,具体可以查看 [size=15.7415px]移植Dino Game(恐龙游戏)到AVR64DD32 Curiosity Nano开发板[size=15.7415px]。



三、移植到FireBeetle 2 ESP32-C5
这次用到的硬件很简单,就是FireBeetle 2 ESP32-C5开发板,以及1.4" 172×320 IPS TFT LCD高清显示屏。
FireBeetle 2 ESP32-C5开发板的扩展板并没有实际用到,可用可不用 。
FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏图6

因为之前移植到[size=15.7415px]AVR64DD32 Curiosity Nano开发板上时,已经对很多配置做了处理,方便后续的移植。
[size=15.7415px]所以再次移植到FireBeetle 2 ESP32-C5 + 1.47 GDI显示屏上的时候,主要就是修改了TFT引脚的设置。
具体的引脚配置,可以参考我之前的文章:FireBeetle 2 ESP32-C5开发板Arduino环境多库点屏大作战

具体的代码,可以下载查看:下载附件dino_FPS.zip
在代码中,使用到了Arduino自身的库以及第三方的库,分别如下:
  • SPI:SPI.h,驱动显示屏用
  • 显示驱动库:Adafruit_ST7789

主要函数说明如下:
  • *resetFunc():复位设备(重启)
  • button():按键处理,使用中断调用,提高处理效率
  • game_over():游戏结束处理
  • update_game():游戏画面更新处理
  • display_game():游戏画面主要显示逻辑处理
  • drawBitmap():位图绘制
  • setup():设置和初始化
  • loop():主循环


因为FireBeetle 2 ESP32-C5及扩展板上,没有蜂鸣器,所以声音输出的部分,暂时就关闭了。后续考虑添加蜂鸣器或者用音频功放模块输出声音。

游戏的主界面如下:
FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏图5
  • 在代码中,通过按键,来触发小恐龙的跳跃操作。
  • 在刷新过程中,树木会随机在右边出现,然后持续向左移动,直到到达最左边消失。
  • 根据游戏进行的时长,换算为得分,在顶部进行显示。
  • 画面中的草地,会定时进行更换。
  • 顶部会显示两种不同类型的云,且会持续向右运动,直到消失。

操作说明:操作很简单,就是看到有树过来,就按BOOT按键,让小恐龙跳起来,越过树即可;否则就会game over。


四、游戏展示
编译烧录运行后,运行效果如下:
FireBeetle 2 ESP32-C5+GDI显示屏玩恐龙快跑小游戏图7





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail