資料介紹
描述
我們都喜歡那種懷念童年和青春期玩過(guò)的游戲的感覺(jué)。幾個(gè)游戲機(jī)和電腦游戲標(biāo)志著這個(gè)時(shí)代。偉大的游戲之一是 Windows 操作系統(tǒng)的掃雷,如圖 1 所示。
在這個(gè)游戲中,我們的目標(biāo)是選擇一個(gè)沒(méi)有炸彈的位置。否則,我們輸?shù)袅吮荣悺?/font>
因此,我們?cè)诳紤]這款游戲的概念時(shí),我們創(chuàng)建了這個(gè)項(xiàng)目,目的是帶回一款眾所周知的游戲:雷區(qū)。
我們的項(xiàng)目包括一個(gè)簡(jiǎn)單的游戲,具有出色的動(dòng)態(tài),可以選擇由兩個(gè)人玩。
你的主要目標(biāo)是選擇一個(gè)沒(méi)有炸彈的空方格。如果有炸彈,游戲就結(jié)束了。否則,游戲繼續(xù)。基于此,每個(gè)位置將由連接到 Arduino 的按鈕表示。
因此,在本文中,您將學(xué)習(xí)以下概念:
1. 為Arduino開(kāi)發(fā)雷區(qū)游戲;
2.學(xué)習(xí)使用random和randomseed函數(shù)。
所以,接下來(lái),我們將開(kāi)始與Arduino一起開(kāi)發(fā)雷區(qū)游戲,讓您與朋友一起玩得開(kāi)心。
使用 Arduino 開(kāi)發(fā)掃雷游戲
基于此工作原理,開(kāi)發(fā)了圖 1 中的以下電路。
如我們所見(jiàn),該電路由負(fù)責(zé)處理游戲邏輯的 Arduino UNO、模擬位置的按鈕以及 LED 和蜂鳴器組成,通過(guò)燈光和聲音信號(hào)指示游戲中的勝負(fù).
從現(xiàn)在開(kāi)始,我們將介紹電路的操作和電路中實(shí)現(xiàn)的邏輯。
Arduino掃雷
游戲的主要目標(biāo)是找到一個(gè)沒(méi)有炸彈的空地。否則,如果用戶按下泵所在的按鈕,系統(tǒng)將產(chǎn)生用戶輸?shù)粲螒虻木瘓?bào)信號(hào)。
為此,我們將使用按鈕來(lái)模擬每個(gè)正方形。我們將使用編程邏輯來(lái)繪制其中一個(gè)按鈕的數(shù)字引腳號(hào)。抽獎(jiǎng)后,地雷將分配給相應(yīng)的按鈕。
這樣,我們現(xiàn)在將展示開(kāi)發(fā)項(xiàng)目的代碼。
代碼如下所示。
int numero;
int estado;
int buzzer = 2;
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
randomSeed(analogRead(A0));
numero = random(8,14);
}
void loop()
{
digitalWrite(3, HIGH);
estado = digitalRead(numero);
while(estado == 1)
{
digitalWrite(4, HIGH);
tone(buzzer,1500);
delay(100);
digitalWrite(3, LOW);
noTone(buzzer);
digitalWrite(4, LOW);
tone(buzzer,1500);
delay(100);
digitalWrite(3, HIGH);
noTone(buzzer);
delay(100);
while(estado == 0)
{
estado = 1;
}
}
}
如您所見(jiàn),首先為連接到按鈕的數(shù)字引腳聲明了一個(gè)變量。此外,我們將創(chuàng)建一個(gè)變量來(lái)檢查這些按鈕的狀態(tài),即它們是處于高邏輯狀態(tài)還是低邏輯狀態(tài)。
最后,我們?yōu)榉澍Q器聲明一個(gè)變量,并為該變量分配一個(gè)數(shù)字端口。
int numero; // Variável referente aos pinos digitais conectados aos bot?es //
int estado; // Variável para verificar o estado dos bot?es, se est?o em nivel lógico alto ou baixo. //
int buzzer = 2; // Váriavel atribuida ao pino digital 7, referente ao buzzer.//
接下來(lái),我們有設(shè)置功能。在此函數(shù)中,我們將用于連接按鈕的 I/O 引腳配置為輸入,將 LED 和蜂鳴器引腳配置為輸出。
此外,我們使用 randomSeed 函數(shù)。此函數(shù)使用在斷開(kāi)的模擬輸入上讀取的值作為參數(shù)來(lái)生成種子值。因?yàn)楸娝苤?,斷開(kāi)的模擬引腳會(huì)生成隨機(jī)值,因此,我們對(duì)代碼中生成的值產(chǎn)生了真正的隨機(jī)影響。
除了 randomseed 函數(shù),我們還使用 random 函數(shù)。此函數(shù)從內(nèi)部 Arduino 預(yù)先建立的列表中返回?cái)?shù)字。這是一個(gè)巨大的亂碼列表,并且總是相同的數(shù)字序列,實(shí)際上它不是隨機(jī)數(shù)。
當(dāng)我們重新啟動(dòng) Arduino 時(shí),它會(huì)再次啟動(dòng)此序列。
對(duì)于這個(gè)項(xiàng)目,我們抽獎(jiǎng)了一個(gè) 8-14 范圍內(nèi)的數(shù)字。選擇這些值是因?yàn)樗鼈兪沁B接到 Arduino 上的按鈕的數(shù)字引腳的值。
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
randomSeed(analogRead(A0));
numero = random(8,14);
}
最后,我們有循環(huán)功能。開(kāi)始時(shí),綠色 LED 被激活,表示游戲已經(jīng)開(kāi)始,玩家可以開(kāi)始游戲。然后,用戶必須選擇一個(gè)按鍵,如下面的電路所示。
When a selected switch does not have the pump in place, the green LED will remain on and the red LED will remain off. 此外,蜂鳴器不會(huì)被觸發(fā)。這可以在下圖中看到。
如果用戶選擇了一個(gè)位置并有一個(gè)泵,紅色 LED 將亮起,綠色 LED 將熄滅,蜂鳴器將繼續(xù)響起。這可以在下圖中看到。
最后,我們包括一個(gè)重置按鈕,用于在泵啟動(dòng)時(shí)重新啟動(dòng)游戲。按下按鈕后,游戲重新開(kāi)始,紅色 LED 熄滅,綠色 LED 亮起。
然后繪制另一個(gè)隨機(jī)圖釘,您的樂(lè)趣將繼續(xù)。這可以在圖 5 中看到。
接下來(lái),我們將為您提供文件,以便在NEXTPCB 印刷電路板上安裝此項(xiàng)目。您可以免費(fèi)使用和購(gòu)買。
印刷電路板 NEXTPCB - Arduino Minesweeper
對(duì)于這個(gè)項(xiàng)目,我們決定為 Arduino UNO 創(chuàng)建一個(gè) Shield 。在此板上,將連接 JST 以連接按鈕、LED 和蜂鳴器。
通過(guò)這種方式,我們?yōu)樵擁?xiàng)目開(kāi)發(fā)了電子原理圖設(shè)計(jì)。示意圖如下圖所示。
下圖的原理圖是從電子原理圖中獲得的。如您所見(jiàn),我們放置了 10 個(gè) JST 連接器來(lái)連接項(xiàng)目的元素。
您現(xiàn)在可以在 3D 視圖中看到印刷電路板項(xiàng)目的結(jié)果。
使用您的NEXTPCB 盾牌 Arduino 掃雷器,您可以設(shè)置您的項(xiàng)目并與您的朋友一起玩樂(lè)。
結(jié)論
通過(guò)這個(gè)游戲的開(kāi)發(fā),我們學(xué)會(huì)了如何使用Arduino的幾個(gè)功能中的一個(gè),以及如何創(chuàng)建一個(gè)互動(dòng)項(xiàng)目,讓人們玩得開(kāi)心。
這個(gè)項(xiàng)目很簡(jiǎn)單,可以在家中與父母和孩子一起設(shè)置,也可以在學(xué)校設(shè)置。
為了讓您的樂(lè)趣更加完整,我們已經(jīng)發(fā)布了所有文件,您可以通過(guò)此鏈接獲得您的 PCB 單元來(lái)設(shè)置此項(xiàng)目。
我們感謝低成本印刷電路板 - NEXTPCB 公司的支持,并關(guān)注我們的個(gè)人資料以接收新的有趣項(xiàng)目。
- GuessMe:為Arduino Cloud Games挑戰(zhàn)而打造的游戲開(kāi)源
- Arduino微游戲開(kāi)源硬件
- Arduino迷宮游戲開(kāi)源分享
- 如何使用游戲手柄模塊制作Arduino SNAKE游戲
- Arduino井字游戲和熄燈游戲開(kāi)源分享
- Arduino掌上游戲機(jī)開(kāi)源分享
- Arduino游戲控制器開(kāi)源分享
- Arduino游戲控制器開(kāi)源
- Arduino陀螺游戲輪開(kāi)源項(xiàng)目
- 基于Arduino硬件光控?zé)糁谱髻Y料 6次下載
- 使用LabVIEW實(shí)現(xiàn)計(jì)算器和掃雷小游戲與走馬燈等實(shí)驗(yàn)資料合集免費(fèi)下載 98次下載
- 使用Java實(shí)現(xiàn)掃雷游戲的代碼免費(fèi)下載 4次下載
- 使用LABVIEW設(shè)計(jì)掃雷軟件的畢業(yè)設(shè)計(jì)論文免費(fèi)下載 38次下載
- 使用LabVIEW設(shè)計(jì)掃雷游戲的詳細(xì)資料說(shuō)明 49次下載
- winmine.exe下載(windows自帶的掃雷游戲)
- Arduino模組的KiCad符號(hào)與封裝庫(kù)介紹 1502次閱讀
- 如何使用Python和PinPong庫(kù)控制Arduino 718次閱讀
- 使用Rust和Nomad進(jìn)行開(kāi)源游戲服務(wù)器管理 517次閱讀
- C語(yǔ)言+easyX帶你實(shí)現(xiàn):掃雷游戲(六邊形升級(jí)版)! 1570次閱讀
- 如何從網(wǎng)頁(yè)控制arduino? 3836次閱讀
- dfrobot Arduino Nano控制板介紹 5611次閱讀
- dfrobot模擬PH計(jì) (Arduino兼容)簡(jiǎn)介 1944次閱讀
- dfrobotRomeo 三合一Arduino兼容控制器介紹 2372次閱讀
- 接龍掃雷Windows經(jīng)典游戲原來(lái)還有這些用處啊 3481次閱讀
- 關(guān)于FPGA在開(kāi)源方面的探索淺析 3706次閱讀
- Arduino/樹(shù)莓派/單片機(jī)/arm區(qū)別分析 9736次閱讀
- Arduino使用光敏電阻實(shí)驗(yàn) 9532次閱讀
- 淺談Arduino和樹(shù)莓派的區(qū)別 2.1w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
- arduino開(kāi)發(fā)板有什么用 2w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多