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

?

掌控板之猜拳小游戲

2020-09-12 14:03:42陳新龍
電腦報(bào) 2020年34期
關(guān)鍵詞:小游戲剪刀圖案

陳新龍

我們已經(jīng)學(xué)習(xí)了不少掌控板的小實(shí)驗(yàn),學(xué)到了OLED顯示圖片、文字和簡單動畫的方法;通過給掌控板寫入程序,制作一些有趣的小游戲。

今天我們結(jié)合圖案顯示和邏輯判斷做一個(gè)猜拳小游戲。當(dāng)玩家按下A鍵和B鍵,OLED屏幕的兩邊會隨機(jī)出現(xiàn)石頭剪刀布,程序會進(jìn)行邏輯判斷顯示勝方。

通過這個(gè)實(shí)例,你可以學(xué)習(xí)掌控板的按鍵功能、OLED顯示圖片功能,以及利用邏輯自動判斷猜拳結(jié)果。這樣可以綜合利用我們學(xué)過的知識,制作一個(gè)完整的猜拳游戲。

首先設(shè)置圖像顯示,猜拳的石頭剪刀布圖片在mPython軟件中已內(nèi)置,不需要我們外部導(dǎo)入,直接“獲取內(nèi)部圖像”從圖片素材庫中選擇石頭(?。?、剪刀(?。?、布(小)。設(shè)置在屏幕不同的位置顯示圖片,注意OLED顯示清空和OLED顯示生效(如圖1)。

接下來我們需要設(shè)計(jì)一下游戲進(jìn)行的步驟。兩個(gè)玩家參與游戲,一個(gè)按下A鍵,屏幕顯示一個(gè)隨機(jī)圖案,另外一個(gè)玩家按下B鍵,顯示一個(gè)隨機(jī)圖案,程序來判斷輸贏。

這中間需要解決幾個(gè)問題,首先輸出隨機(jī)圖案;其次系統(tǒng)如何知道出拳情況并開始進(jìn)行判斷;各種出拳情況如何進(jìn)行正確的判斷。下面看看解決這三個(gè)問題的思路吧。

第一,是設(shè)置隨機(jī)圖案,引入一個(gè)隨機(jī)數(shù)變量用它來設(shè)置隨機(jī)圖案的顯示。當(dāng)按下一個(gè)鍵的時(shí)候(A或者B),設(shè)計(jì)一個(gè)變量為1到3之間的隨機(jī)數(shù),根據(jù)隨機(jī)數(shù)和規(guī)則來顯示圖片,A鍵設(shè)置變量為X,B鍵設(shè)置變量為Y,具體代碼如圖2。

第二, 什么時(shí)候才讓系統(tǒng)進(jìn)行勝負(fù)判斷呢?按照日常經(jīng)驗(yàn)來看,只有A鍵和B鍵都按下,并且兩方都正常顯示圖像后才可以進(jìn)行猜拳判斷。還記得為了設(shè)置隨機(jī)圖片時(shí)增加的變量X和Y嗎?出拳后X和Y都是1到3的隨機(jī)數(shù)(1是石頭2是剪刀3是布),這樣在程序開始時(shí),我們可以設(shè)置X和Y變量都是0,只有當(dāng)X和Y都不為0的時(shí)候才執(zhí)行判斷(如圖3)。

接著就引出第三個(gè)問題了,如何能夠進(jìn)行正確的判斷呢?不能單純比較X和Y的數(shù)字大小,我們需要根據(jù)數(shù)字對應(yīng)的猜拳結(jié)果,石頭剪刀布之間的循環(huán)勝負(fù)來判斷,一共有九種關(guān)系(如表)。

根據(jù)勝負(fù)關(guān)系表格需要多條判斷,程序如圖4。

在邏輯判斷中我們使用了直接的方法,每種情況單獨(dú)判斷,沒有使用判斷的嵌套,這樣代碼比較長,但不容易出錯(cuò)適合初學(xué)者。

我們做出來的游戲是給別人玩的,在實(shí)現(xiàn)基本功能后還需要從用戶的角度去優(yōu)化游戲體驗(yàn)。當(dāng)游戲開始時(shí),增加一個(gè)界面,簡單說明游戲名稱和操作方法(如圖5)。

增加按下P鍵表示游戲開始,當(dāng)觸摸P鍵后,游戲初始化,X和Y的值為0,OLED的內(nèi)容全部清空。自定義xianshi函數(shù)用于圖像的顯示,并且增加兩個(gè)有參變量J和K,J代表變量X的值,K代表坐標(biāo)X軸的位置,方便內(nèi)置圖像的顯示。

新增自定義函數(shù),將參數(shù)J和K傳入函數(shù)中,當(dāng)J=1的時(shí)候在K的位置上顯示石頭,當(dāng)J=2的時(shí)候在K的位置顯示剪刀,當(dāng)J=3的時(shí)候在K的位置顯示布。這里增加有參變量主要是為了能夠節(jié)約代碼總量,只需要傳入?yún)?shù)就可以把兩邊圖案都顯示出來,方便又輕松(如圖6)。

總的來說猜拳小游戲在程序設(shè)計(jì)上還是有點(diǎn)難度的,主要是將已經(jīng)學(xué)過的知識點(diǎn)綜合運(yùn)用在游戲編寫中。在完成基本功能后,盡可能地優(yōu)化流程并減少代碼量。這樣可以鍛煉自己的歸納整理能力,提高程序設(shè)計(jì)的能力。

猜你喜歡
小游戲剪刀圖案
鈍剪刀
家教世界(2020年31期)2020-12-02 01:14:06
風(fēng)有一把剪刀
專注力小游戲
互動的小游戲
大灰狼(2018年10期)2018-10-31 14:47:16
互動小游戲
大灰狼(2018年9期)2018-10-25 20:56:42
畫中謎
畫中謎
畫中謎
大剪刀,小剪刀
幼兒園(2018年6期)2018-06-19 17:11:38
互動小游戲
大灰狼(2018年2期)2018-06-05 16:53:50
分宜县| 澳门| 哈尔滨市| 福建省| 天柱县| 苍山县| 丹东市| 新竹市| 林芝县| 江西省| 梓潼县| 黄大仙区| 高淳县| 霍山县| 蓬莱市| 施甸县| 喀喇沁旗| 武义县| 永春县| 中江县| 剑阁县| 昭觉县| 桃源县| 古田县| 瑞金市| 桐庐县| 屏边| 东安县| 韶关市| 安远县| 板桥市| 新丰县| 集安市| 十堰市| 万州区| 利辛县| 青海省| 葫芦岛市| 余江县| 铁岭县| 嵊州市|