国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“跟我一起做”游戲機(jī)

2018-12-03 02:55科技學(xué)堂
中國(guó)科技教育 2018年2期
關(guān)鍵詞:關(guān)卡游戲機(jī)按鍵

科技學(xué)堂

概述

“跟我一起做”是一款記憶類游戲機(jī),由3個(gè)LED燈和3個(gè)按鍵組成。游戲總共設(shè)置了10個(gè)關(guān)卡。開始時(shí),LED燈會(huì)按一定順序閃爍,閃爍結(jié)束后,玩家需要依次按下3個(gè)對(duì)應(yīng)的按鈕。如果順序一致,進(jìn)入更有挑戰(zhàn)性的下一關(guān)_如果按錯(cuò)按鈕,游戲結(jié)束。游戲用Arduino設(shè)計(jì),在制作過程中學(xué)生能夠得到計(jì)算思維和編程能力的鍛煉。

適合年齡

初中到高中

功能材料

Arduino UNO板(如有一體主板,可直接使用,如無一體主板,可安裝IO擴(kuò)展板使用),LED模塊×3,按鍵模塊×3,3p連接線×6

結(jié)構(gòu)材料

瓦楞紙板、彩色卡紙、藍(lán)泥膠、束線帶、裝飾貼紙

思路分析

在制作開始前,我們應(yīng)該先理清整個(gè)游戲的思路,才能更好地設(shè)計(jì)游戲機(jī)的程序。我們可以先繪制流程圖,讓你的思路更加明確。

程序設(shè)計(jì)

步驟1:硬件連接

分別將藍(lán)、紅、黃3個(gè)按鈕杜邦接口端接在Arduino的5、6、7接口上,再將藍(lán)、紅、黃3個(gè)LED杜邦接口接在Arduino的8、9、10接口上。

步驟2:變量初始化

首先,要將所有在這個(gè)程序中需要用到的變量先聲明好。這里我們需要聲明的分別有按鍵接口、LED燈接口、保存關(guān)卡數(shù)組LedA、保存玩家輸入答案用數(shù)組UserLed、一個(gè)專門記錄目前關(guān)卡數(shù)的變量Level,以及通往下一關(guān)的布爾變量nextL。程序如下。

步驟3:程序初始定義

在游戲開始之前,程序中與硬件溝通相關(guān)的指令,都需在setup()函數(shù)中完成預(yù)先聲明。在這里我們要聲明輸入輸出接口、隨機(jī)種子、開始使用串口溝通的指令。程序如下。

步驟4:設(shè)置關(guān)卡題目

在游戲開始之前,我們必須先將游戲關(guān)卡新題目準(zhǔn)備好。為了不讓主程序過于冗長(zhǎng),我們可以將設(shè)置關(guān)卡題目功能寫進(jìn)restartLeds()函數(shù)中,這樣,每一個(gè)游戲回合結(jié)束后調(diào)用1次即可。該函數(shù)需要通過隨機(jī)種子運(yùn)算,運(yùn)算結(jié)果運(yùn)用循環(huán)一一存儲(chǔ)到關(guān)卡數(shù)組中。程序如下。

步驟5:闖關(guān)結(jié)果燈號(hào)函數(shù)

我們讓LED燈會(huì)顯示出不同的狀態(tài),用來表示玩家的闖關(guān)結(jié)果。當(dāng)玩家闖關(guān)成功,LED燈顯示為流水燈;當(dāng)玩家闖關(guān)失敗,3盞LED燈同時(shí)閃爍。為了表示這個(gè)狀態(tài),我們需要設(shè)計(jì)2組函數(shù),分別表示闖關(guān)成功和失敗。程序如下。

范例程序僅供參考,你可以發(fā)揮自己的創(chuàng)意,讓LED燈顯示不同的狀態(tài)。

步驟6:按鍵偵測(cè)函數(shù)

我們還需要設(shè)計(jì)一個(gè)函數(shù)讓按鍵和相應(yīng)顏色的LED燈對(duì)應(yīng)起來。程序如下。

步驟7:顯示關(guān)卡題目函數(shù)

在步驟4中,我們已經(jīng)把每一關(guān)的題目函數(shù)設(shè)置好,但并沒有用LED燈顯示出來。在這一步,我們需要設(shè)計(jì)一個(gè)函數(shù),用LED燈顯示步驟4的題目。程序如下。

步驟8:主程序

聲明完所有的函數(shù)之后,就可以開始設(shè)計(jì)主程序。由于游戲需要重復(fù)執(zhí)行,所以整個(gè)主程序需要寫在loop()函數(shù)中。主程序分為2個(gè)部分:關(guān)卡判斷和答案判斷,其中,答案判斷程序嵌套在關(guān)卡判斷的While語句中。

·關(guān)卡判斷。主程序需要判斷玩家是否通關(guān),它判斷2個(gè)變量:Level和nextL。Level變量是確認(rèn)玩家是否通過全部關(guān)卡,當(dāng)所處關(guān)卡不小于總關(guān)卡數(shù),即處于最高關(guān)卡時(shí),有可能闖關(guān)成功,否則繼續(xù)進(jìn)入游戲;布爾變量nextL記錄玩家是否通關(guān),若為false,代表闖關(guān)失敗。

只有在布爾變量nextL為true,且所處關(guān)卡不小于總關(guān)卡數(shù)時(shí),程序才會(huì)調(diào)用winnerDance()函數(shù)發(fā)出表示勝利的流水燈。

·答案判斷。定義一個(gè)新的局部變量ubc,用來計(jì)算玩家按鍵次數(shù)。同時(shí)調(diào)用w4press()按鍵偵測(cè)函數(shù),將其返回值保存至userLED數(shù)組中,并核對(duì)玩家記錄數(shù)組userLED和題目數(shù)組LedA中的內(nèi)容是否一致。若不一致,將nextL設(shè)為false,闖關(guān)失敗,并將ubc變量改為低于目前關(guān)卡數(shù)的Level變量跳出循環(huán)結(jié)束判斷。程序如下。

結(jié)構(gòu)設(shè)計(jì)

完成“跟我一起做”游戲機(jī)功能的實(shí)現(xiàn)之后,我們還需要為游戲機(jī)制作一個(gè)外殼,以擁有更好的游戲體驗(yàn)。

步驟1:切割1塊10cm×13cm長(zhǎng)方形紙板和1塊10cm×10cm紙板,將它們垂直粘貼起來,作為游戲機(jī)的底板和背板。

步驟2:用藍(lán)泥膠將Arduino板、LED模塊、按鍵模塊粘貼到紙板上,并用束線帶將線纜捆扎起來。

步驟3:用紙板制作游戲機(jī)的側(cè)面和頂部。注意留出Arduino板的數(shù)據(jù)接口和電源接口。

步驟4:裁出一段長(zhǎng)方形彩色卡紙,在按鍵和LED燈的對(duì)應(yīng)處挖出圓形窗口。將彩色卡紙粘貼在游戲機(jī)的正面。最后粘貼上裝飾貼紙,“跟我一起做”游戲機(jī)就完成了。連上電源線,玩起游戲機(jī)啦!

猜你喜歡
關(guān)卡游戲機(jī)按鍵
電塔島歷險(xiǎn)
非觸勿動(dòng) 秒治鍵盤誤觸
瘋狂冒險(xiǎn)島
任天堂確認(rèn)Wii U將停產(chǎn)
未來的筆
小偵探
其實(shí)真的很簡(jiǎn)單教你輕松關(guān)閉WP8.1手機(jī)按鍵燈
計(jì)算器
時(shí)空穿梭
街機(jī)也能DIY
内丘县| 东乡县| 南川市| 怀远县| 开封县| 于都县| 神池县| 永德县| 乳山市| 衡水市| 祁门县| 东方市| 绍兴县| 宁河县| 旌德县| 大英县| 布尔津县| 德保县| 廉江市| 南召县| 武隆县| 山丹县| 景洪市| 平塘县| 筠连县| 奉贤区| 西贡区| 营山县| 宁武县| 洪江市| 福安市| 德昌县| 宝清县| 隆德县| 桐柏县| 黄龙县| 淮北市| 宜昌市| 英山县| 象州县| 博白县|