• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于8×8點(diǎn)陣的豆豆與心跳游戲機(jī)的設(shè)計(jì)

      2014-11-10 07:10:10黃道燚李星活
      關(guān)鍵詞:雙人豆豆按鍵

      黃道燚,李星活

      (汕尾職業(yè)技術(shù)學(xué)院,廣東 汕尾516600)

      本文介紹了一款天降豆豆的小游戲機(jī),游戲操作簡(jiǎn)單,可單人游戲,也可雙人對(duì)戰(zhàn),可在掌上玩耍,它具備實(shí)質(zhì)感,具有燈光,可玩性強(qiáng),只需4節(jié)5號(hào)電池就可以使用。同時(shí),其成本低廉,只需20元左右即可自己組裝,如果批量生產(chǎn)可做兒童小玩具或其他較大產(chǎn)品的推銷贈(zèng)品。

      1 產(chǎn)品的構(gòu)成與硬件電路設(shè)計(jì)

      1.1 產(chǎn)品結(jié)構(gòu)

      游戲機(jī)由主機(jī)和兩個(gè)游戲操作鍵構(gòu)成。主機(jī)表面上設(shè)有游戲顯示屏幕,由8×8點(diǎn)陣組成單雙人模式,分別如圖 1(a)、圖 1(b)所示;每個(gè)游戲操作鍵上都設(shè)有游戲開始按鍵、游戲方向按鍵等3個(gè)微動(dòng)按鈕開關(guān)組成,其中一個(gè)是單人游戲操作鍵,另一個(gè)是雙人游戲操作鍵,兩個(gè)完全相同,如圖1(c)所示。

      1.2 硬件電路設(shè)計(jì)

      硬件電路由顯示子電路、按鍵子電路、單片機(jī)最小系統(tǒng)等幾個(gè)模塊組成。

      1.2.1 顯示子電路設(shè)計(jì)

      圖1 產(chǎn)品結(jié)構(gòu)圖

      顯示子電路由 8×8點(diǎn)陣、8個(gè) 9012驅(qū)動(dòng)三極管及R1~R8(270 Ω)和 R9~R16(4.7 kΩ)限流電阻組成,它們受單片機(jī)的P0、P2口控制,點(diǎn)陣的顯示采用動(dòng)態(tài)逐點(diǎn)掃描[1],P2和P0口分別控制點(diǎn)陣的行與列。圖2為 8×8點(diǎn)陣顯示子電路,8×8點(diǎn)陣就是游戲機(jī)的顯示屏幕。

      圖2 顯示子電路

      1.2.2 控制器子電路與單片機(jī)最小系統(tǒng)電路

      控制器子電路與單片機(jī)最小系統(tǒng)子電路如圖3所示,它由6個(gè)微動(dòng)開關(guān)組成,并制作為兩個(gè)控制器,分別為玩家1控制器、玩家2控制器。其中每個(gè)控制器各含3個(gè)按鍵,分別為開始、左移、右移按鍵,按鍵連接單片機(jī)P1口,檢測(cè)低電平時(shí)為按鍵按下。圖3中 S2、S3、S4為玩家1控制器按鍵,功能分別為左移、右移、開始;S5、S6、S7為玩家 2控制器按鍵,功能相同。

      圖3 按鍵與單片機(jī)最小系統(tǒng)子電路圖

      單片機(jī)最小系統(tǒng)是本設(shè)計(jì)的主電路,它由單片機(jī)AT89S52及外圍元件 12 MHz晶振、電源開關(guān) S1、電阻、電容組成,其中S2~S7按鍵為兩組游戲操作鍵,其主要功能:(1)控制點(diǎn)陣電路的顯示;(2)處理按鍵的接收信號(hào);

      (3)完成心跳動(dòng)畫、游戲、結(jié)果顯示等。

      2 軟件系統(tǒng)工作原理

      本產(chǎn)品軟件主要設(shè)計(jì)總流程圖如圖4所示。

      圖4 主要軟件設(shè)計(jì)總流程圖

      系統(tǒng)啟動(dòng)之后開始進(jìn)行初始化,包括:(1)定時(shí)器的初始化、開啟中斷、定時(shí)器0工作方式設(shè)置、定時(shí)數(shù)初始值設(shè)置等;(2)游戲生命、速度初始化;(3)游戲接豆槽位置初始化、單雙人狀態(tài)位初始化等。

      2.1 心跳動(dòng)畫程序

      (1)點(diǎn)陣逐點(diǎn)掃描:本設(shè)計(jì)點(diǎn)陣采用逐點(diǎn)掃描的方式,靈活性強(qiáng),單片機(jī)P0、P2分別對(duì)點(diǎn)陣的行、列進(jìn)行控制,其中P0口接點(diǎn)陣的陰極端,P2通過驅(qū)動(dòng)三極管控制點(diǎn)陣的陽(yáng)極端。由于三極管的倒相性[2],當(dāng)P0口和P2口的某個(gè)位同時(shí)為同低電平時(shí),點(diǎn)亮點(diǎn)陣上對(duì)應(yīng)的發(fā)光二極管。在點(diǎn)陣上,圖像由點(diǎn)構(gòu)成,顯示屏由程序控制其發(fā)光二極管逐點(diǎn)點(diǎn)亮,由于掃描時(shí)間短,利用人眼的惰性[3],從而感覺圖像各點(diǎn)同時(shí)亮。

      (2)心跳動(dòng)畫:心跳動(dòng)畫模擬人體心臟的跳動(dòng),其由3幅圖像構(gòu)成,分別是大心形、中心形、小心形。動(dòng)畫過程為大心形-中心形-大心形-小心形,一幅圖像持續(xù)顯示時(shí)間為0.5 s左右,整個(gè)過程循環(huán)顯示,效果近似心臟跳動(dòng)。

      (3)按鍵檢測(cè):設(shè)置在延時(shí)中,單片機(jī)如檢測(cè)到其按鍵則停止心跳動(dòng)畫,進(jìn)入游戲。

      2.2 游戲程序

      游戲程序的流程圖如圖5所示。

      圖5 游戲程序流程圖

      (1)游戲參數(shù)初始化:包括游戲生命值、速度初始化,開啟定時(shí)器。

      (2)顯示程序:采用逐點(diǎn)掃描,顯示的內(nèi)容包括接豆槽、豆豆及生命點(diǎn)。在顯示過程中,為了顯示的方便和圖像移動(dòng)的靈活,采用了坐標(biāo)函數(shù)把點(diǎn)陣上各點(diǎn)轉(zhuǎn)化為平面坐標(biāo)。

      (3)按鍵掃描和按鍵處理程序:對(duì)玩家1和玩家2的方向鍵進(jìn)行按鍵掃描,發(fā)現(xiàn)低電平為對(duì)應(yīng)按鍵按下。如按鍵按下則執(zhí)行相對(duì)應(yīng)的按鍵處理程序,包括左移函數(shù)和右移函數(shù)。左移函數(shù)對(duì)接豆槽各點(diǎn)的橫坐標(biāo)進(jìn)行減1,顯示效果接豆槽向左移動(dòng)一格;右移函數(shù)對(duì)接豆槽各點(diǎn)的橫坐標(biāo)進(jìn)行加1,顯示效果接豆槽向右移動(dòng)一格。

      (4)掉豆程序流程圖如圖6所示。掉豆程序主要完成3項(xiàng)任務(wù):產(chǎn)生豆、豆下降、生命值控制。

      圖6 掉豆程序流程圖

      ①產(chǎn)生豆:在判斷屏幕沒豆情況下,掉豆程序控制在屏幕的最上行隨機(jī)列數(shù)位置產(chǎn)生1豆。本設(shè)計(jì)采用rand()函數(shù)[4]取得隨機(jī)列數(shù)值。

      ②豆下降:如果屏幕上有豆,則控制豆的縱坐標(biāo)減1,屏幕上顯示效果為豆下降。豆下降的時(shí)刻受定時(shí)器累加次數(shù)閾值的控制,在游戲開始時(shí)閾值較大,經(jīng)歷時(shí)間較長(zhǎng),豆的下降慢;隨著游戲時(shí)間的增加,閾值減少,經(jīng)歷的時(shí)間減短,豆的下降速度變快。所以隨著游戲時(shí)間的增長(zhǎng),豆下降的速度越來越快。

      ③生命值控制:在豆下降同時(shí)判斷豆是否掉到最低一行。如果掉到最低一行,則比較其坐標(biāo)與接豆槽的中心點(diǎn)坐標(biāo)是否相等,如相等則判定為接住豆,不相等則判定為沒接住。如沒接住豆則生命值減1,同時(shí)判斷生命值是否為0,為0則游戲結(jié)束,游戲結(jié)束狀態(tài)位置1,同時(shí)根據(jù)定時(shí)器中斷累加次數(shù)給出成績(jī),累加次數(shù)大說明游戲時(shí)間長(zhǎng),成績(jī)好,次數(shù)小則相反。成績(jī)分為3個(gè)等次:優(yōu)秀、中等、差。優(yōu)秀則進(jìn)入大心形圖像顯示函數(shù),代表玩家游戲技術(shù)好,具備大心臟;中等進(jìn)入中心形圖像顯示函數(shù),代表玩家游戲技術(shù)普通,具備中等心臟;差則為小心臟。

      (5)雙人模式:如果判定按下的開始鍵是控制器2的開始鍵,則進(jìn)入雙人模式。在雙人模式下,程序結(jié)構(gòu)與上面單人模式相似,區(qū)別在于:一方面在屏幕的上方增加第二個(gè)接豆槽,掉豆程序增加一個(gè)從底行上升的豆,增加第二個(gè)生命值和判斷程序;另一方面,成績(jī)圖像的修改不再按照游戲時(shí)間進(jìn)行判定,而是按照兩個(gè)生命值中哪個(gè)先減為零來進(jìn)行判斷。先減為零的玩家則會(huì)在其相對(duì)應(yīng)的半個(gè)屏幕顯示一個(gè) “小”,代表挑戰(zhàn)失敗,小心臟;另一玩家則顯示一個(gè)“大”,代表獲勝,大心臟。

      3 操作方法

      (1)開機(jī)之時(shí),游戲屏幕會(huì)顯示一個(gè)跳動(dòng)的小心臟,按下游戲控制器1上的開始按鍵,即可進(jìn)行單人游戲。

      (2)游戲時(shí),游戲控制器上有兩個(gè)方向控制鍵,分別是控制接豆槽向左移動(dòng)和向右移動(dòng)。屏幕上方會(huì)隨機(jī)產(chǎn)生一個(gè)豆豆并下降,豆豆的下降速度會(huì)隨游戲時(shí)間而變快,玩家需要控制接豆槽在豆豆下降到底部時(shí)接住豆豆,否則會(huì)扣掉1個(gè)生命值。初始生命值為3,扣完則游戲結(jié)束。

      (3)接豆游戲結(jié)束時(shí),游戲機(jī)會(huì)根據(jù)玩家的成績(jī)給出結(jié)果:游戲成績(jī)優(yōu)異的玩家將會(huì)獲得一個(gè)大心臟心跳動(dòng)畫的獎(jiǎng)勵(lì),表示這個(gè)玩家擁有高超的技巧和大心臟;游戲成績(jī)中等的玩家會(huì)獲得一個(gè)中等心跳動(dòng)畫的心臟,表示該玩家處在普通的水平;游戲成績(jī)差則會(huì)獲得一顆小心跳動(dòng)畫的心臟。

      (4)如果在開機(jī)之后,按下游戲控制器2上的開始按鍵,則可以進(jìn)行雙人對(duì)戰(zhàn)接豆游戲。只不過雙人游戲時(shí),兩個(gè)玩家需要面對(duì)面,游戲屏幕上下各有一個(gè)接豆槽,屏幕的上下方各隨機(jī)產(chǎn)生豆豆,玩家需要控制各自的接豆槽接住豆豆。當(dāng)任一方生命值扣完游戲結(jié)束,勝利的一方會(huì)獲得一個(gè)“大”,代表大心臟;失敗的一方獲得一個(gè)“小”,代表小心臟。

      利用單片機(jī)制作的小游戲機(jī)與計(jì)算機(jī)制作的小游戲相比,具備有成本低廉、便攜性、實(shí)質(zhì)感等優(yōu)點(diǎn),適合作為兒童玩具。雖然單片機(jī)的應(yīng)用非常多,但是在制作電子游戲方面偏少,本設(shè)計(jì)的游戲操作簡(jiǎn)單,并且具備單雙人模式,趣味性強(qiáng),是一個(gè)很不錯(cuò)的兒童玩具電子產(chǎn)品,也適合作為電子愛好者練習(xí)焊接的套件。其軟件設(shè)計(jì)部分因篇幅關(guān)系在此省略。

      [1]閻石.數(shù)字電子技術(shù)[M].北京:高等教育出版社,2006.

      [2]胡宴如.模擬電子技術(shù)[M].北京:高等教育出版社,2008.

      [3]李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航天航空大學(xué)出版社,2007.

      [4]楊黎.基于C語言的單片機(jī)應(yīng)用技術(shù)與Proteus仿真 [M].長(zhǎng)沙:中南大學(xué)出版社,2012.

      猜你喜歡
      雙人豆豆按鍵
      基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
      電子制作(2021年3期)2021-06-16 03:14:26
      雙人面具
      ——為小提琴與鋼琴而作
      黃河之聲(2021年19期)2021-02-24 03:25:26
      自由自在的豆豆
      幽默大師(2020年10期)2020-11-10 09:07:08
      豆豆過夏
      唐豆豆的意外驚喜
      “雙人運(yùn)球”樂翻天
      一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
      電子制作(2016年1期)2016-11-07 08:43:05
      “雙人運(yùn)球”樂翻天
      按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
      家電科技(2013年4期)2013-07-09 10:55:08
      雙人浪漫曲
      意林(2012年5期)2012-07-04 03:24:39
      康保县| 旬邑县| 河东区| 阿克苏市| 亳州市| 岳阳市| 怀柔区| 明水县| 台北县| 沈丘县| 平阴县| 永宁县| 安康市| 宁蒗| 苏尼特左旗| 夏津县| 吴堡县| 宁强县| 黎平县| 新河县| 波密县| 会理县| 锡林浩特市| 聂荣县| 康乐县| 五指山市| 封丘县| 白银市| 迁西县| 谢通门县| 绥阳县| 澄江县| 巩义市| 珲春市| 井陉县| 巴彦县| 大连市| 新邵县| 大洼县| 大厂| 贺兰县|