致敬典范!用ESP8266 实现 Pong 联网对战

快乐飞艇开奖网:<- 前往创客名目建造目次页

本名目收费开源, 源码可经由进程太极创客GitHub取得

名目开辟建造:
名目图文/本文编辑:

 

Pong游戏机
Pong游戏机

Pong是1972年雅达利推出的一款投币式街机游戏,它常被人们以为是电子游戏汗青上的第一款街机游戏。该游戏机一经投入市场就引发了颤动,它为母公司雅达利带来了丰富的支出和闪亮的声誉。

Pong游戏机的海报
Pong游戏机的海报

对于Pong和它的母公司雅达利,有良多传奇故事能够讲一讲。比方昔时Pong游戏如斯受接待,雅达利如斯炽热。乔布斯还曾慕名离开雅达利公司任职。这但是乔姥爷的第一份任务,能够看到当时的他还很青涩。

青年乔布斯
青年乔布斯

在雅达利下班时代,乔布斯萌发了建立苹果公司的动机。恰是Pong游戏的开辟者Allan Alcorn赞助乔布斯开立了苹果公司的第一个贸易账户。

Pong游戏机和雅达利办理职员合影
Pong游戏机和雅达利办理职员合影(右一的大胡子叔叔便是游戏开辟者Allan Alcorn)

 此刻良多外洋玩家仍然对它抱有深深的豪情。比方2019年在美国着名众筹网站KickStarter上有一款嵌入Pong游戏的咖啡桌产物,取得了33.5万美圆的众筹金钱。

美国着名众筹网站Kickstarter中的Pong咖啡桌名目
美国着名众筹网站Kickstarter中的Pong咖啡桌名目

随意网上一搜,就能够找到各类环绕这款游戏的周边。

Pong T恤衫
Pong T恤衫
Pong 马克杯
Pong 马克杯

此刻,另有良多伴侣在各类平台上复刻这款快要50岁的典范游戏,咱们太极创客的小黑也是此中一员。但差别的是,小黑将Pong回升到了收集高度。他操纵ESP8266物联网开辟板实现了可无线联网对战的Pong。

名目先容
基于ESP8266的收集多人乒乓游戏 / Multiplayer Pong Game based on ESP8266 Network是一个基于wifi,利用UDP和谈停止数据传输的双人对战游戏。两边筹办好后按下按键便可起头游戏。内置的游戏是一个简略的PONG(乒乓)游戏,有判定输赢的逻辑和计分的功效。硬件仅利用0.96寸,撑持I2C和谈的oled和ESP8266-NodeMCU开辟板,和按键开关构成。
运转申明

联机对战须要两台装备,两块8266开辟板之间须要经由进程wifi停止毗连。此中开启快乐飞艇开奖网:AP形式的是master机开启STA形式的是slave机。游戏进程中,两台机子之间经由进程UDP和谈传输己方球拍的地位数据,同时接管对方球拍的地位数据,以此到达数据同步的联机游戏结果。

若对8266的AP形式和STA形式有疑难,请参阅太极创客长网对于快乐飞艇开奖网:ESP8266-Arduino库材料。若不领会UDP和谈在本游戏中的详细操纵,能够参阅快乐飞艇开奖网:太极创客长网对于UDP和谈材料

ESP8266双人联机Pong通信表示图
ESP8266双人联机Pong通信表示图

材料清单

ESP8266 Pong 联网游戏机材料清单
ESP8266 Pong 联网游戏机材料清单

连线图

ESP8266 Pong 连线图
ESP8266 Pong 连线图
D1(8266)<————>SCL(oled) 
D2(8266)<————>SDA(oled) 
D5(8266)<————>按键UP引脚 
D6(8266)<————>按键DOWN引脚 
3V3(8266)<————>VCC(oled) 
GND(8266)<———–>GND(oled) 
注:利用的两个按键另外一端均为接地(GND)  
代码与利用库被名目代码堆栈:

请将/src文件夹下的代码,请别离烧录进两套硬件中。
以下第三方库文件可在太极创客长网下载页面取得。
第三方库:
  • Adafruit_GFX库
  • Adafruit_SSD1306

若是您对ESP8266-NodeMCU有任何题目,或不晓得若何导入第三方库,和烧录代码到ESP8266,快乐飞艇开奖网:可拜候太极创客长网搜刮相干材料。

操纵申明

Step01 代码一般烧录后,主机和从机接通电源,会显现初始界面

ESP8266-操纵申明-1
ESP8266-操纵申明-1

Step02 根据oled显现的申明,按下肆意按键能够进入wifi毗连状况。此时主机和从机起头测验考试停止毗连。

ESP8266-Pong-操纵申明-2
ESP8266-Pong-操纵申明-2

Step03 wifi毗连实现后,oled会提醒,当玩家筹办好起头游戏后按下按键。

ESP8266-Pong-操纵申明-3
ESP8266-Pong-操纵申明-3

Step04 当两边均按下按键时,游戏正式起头。两个按键代表高低挪动球拍,一旦一方不接住球,另外一方就会增添一分,游戏将延续停止。

ESP8266-Pong-操纵申明-4
ESP8266-Pong-操纵申明-4
后续优化打算

您若是停止了游戏,能够看到,两边传输数据实在是有必然提早的。并且除球拍的地位数据相互传输之外,实在不其余数据交互。相称于一旦由于提早呈现偏差,主机和从机遇呈现差别步的游戏场合排场。这一点可经由进程增添球地位校验等方式处理,也能够经由进程进一步优化代码来处理。您能够测验考试点窜或进级这个简略的游戏,处理这些小瑕疵。咱们也会持续优化代码,以寻求更优的结果。

若是您有没有法处理的题目,能够批评留言,或插手太极创客交换群扣问。
本名目利用的ESP8266开辟板实在并不庞杂。今朝太极创客团队已开辟了收费的快乐飞艇开奖网:《零根本入门学用物联网》系列教程,若是您想进修物联网方面的常识,能够点击以上链接进入该教程页面。

作者: 太极创客

太极创客-办理员