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