前言:朋友居然用esp8266和oled做了一个掌上游戏机,可以玩小恐龙跳仙人掌的游戏,太厉害了!用Excel表格生成点阵文件
按照“国际惯例”我们先看效果视频
游戏的原型是chrome浏览器在离线时呈现的小恐龙跳仙人掌的游戏
视频演示地址:
https://raw.githubusercontent.com/OpensourceBooks/chrome_offline_game_on_esp8266/master/demo.mp4
所需的元器件:
NodeMCU(esp8266芯片、4M内存)
12864 oled (ssd1306 驱动)
大按键按钮 (低电平触发)
杜邦线若干(母对母)
1硬件组装
将esp8266(NodeMCU)、old、按键通过杜邦线链接
组装的效果图:
使用excel表格,绘制恐龙和仙人掌
2.用1和0进行填充,保存为csv文件,并用文本编辑器打开
3.将点阵数组写到代码里
player = {}
player["x"] = 10
player["y"] = 44
player["pixel"] = [
(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0),
(0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1),
(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),
(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),
(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),
(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0),
(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0),
(0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0),
(1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0),
(1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0),
(1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,0,0),
(1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0),
(1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0),
(0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0),
(0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0),
(0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0),
(0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0),
(0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0),
(0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0),
(0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0)
]
4.循环像素,显示小恐龙
pixels = player["pixel"]
if(status["is_jump"]):
player["y"]-=3
if(player["y"]<15):
status["is_jump"]=False
else:
player["y"]+=3
if(player["y"]>=43):
player["y"]=43
status["is_jumpfinish"]=True
for i in range(0,len(pixels)):
for ii in range(0,len(pixels[i])):
oled.pixel(player["x"]+ii,player["y"]+i,pixels[i][ii])
在oled屏幕上测试小恐龙的现实效果
到此游戏动画现实原理、硬件链接盒底层模块都搞定了,剩下的就是实现上层应用逻辑了。我(作者)将游戏源码开源,并发布在了GitHub上(对就是那片净土)供大家学习参考
https://github.com/OpensourceBooks/chrome_offline_game_on_esp8266
欢迎喜欢玩esp8266的一起来切磋
获取更多创客作品和教程
请扫描二维码