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