【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!...

前言:朋友居然用esp8266和oled做了一个掌上游戏机,可以玩小恐龙跳仙人掌的游戏,太厉害了!用Excel表格生成点阵文件

按照“国际惯例”我们先看效果视频

设计原型

游戏的原型是chrome浏览器在离线时呈现的小恐龙跳仙人掌的游戏

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第1张图片

视频演示地址:

https://raw.githubusercontent.com/OpensourceBooks/chrome_offline_game_on_esp8266/master/demo.mp4


所需的元器件:

  1. NodeMCU(esp8266芯片、4M内存)

  2. 12864 oled (ssd1306 驱动)

  3. 大按键按钮 (低电平触发)

  4. 杜邦线若干(母对母)

制作过程

1硬件组装

将esp8266(NodeMCU)、old、按键通过杜邦线链接

组装的效果图:

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第2张图片

2.使用excel表格,制作游戏的像素图案

  1. 使用excel表格,绘制恐龙和仙人掌

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第3张图片

2.用1和0进行填充,保存为csv文件,并用文本编辑器打开

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第4张图片

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第5张图片

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)
    ]

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第6张图片

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屏幕上测试小恐龙的现实效果

【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!..._第7张图片

到此游戏动画现实原理、硬件链接盒底层模块都搞定了,剩下的就是实现上层应用逻辑了。我(作者)将游戏源码开源,并发布在了GitHub上(对就是那片净土)供大家学习参考

https://github.com/OpensourceBooks/chrome_offline_game_on_esp8266

欢迎喜欢玩esp8266的一起来切磋

获取更多创客作品和教程

请扫描二维码


你可能感兴趣的:(【DIY】震精!他居然用esp8266做出掌上游戏机......恐龙跑酷游戏还能这样玩!请广泛转发!...)