鄭海鵬 王立友
摘要:隨著移動互聯(lián)網(wǎng)的不斷發(fā)展,智能手機(jī)的普及速度遠(yuǎn)超乎我們的想象,智能手機(jī)已經(jīng)成為人們學(xué)習(xí)、溝通、娛樂的主要設(shè)備。因此,手機(jī)的娛樂應(yīng)用服務(wù)將會有及其巨大的發(fā)展空間,手機(jī)游戲就是其中之一。考驗(yàn)記憶力的益智類游戲“老少皆宜”,有著廣泛的受眾群體,在閑暇時光玩上一局,即可以放松一下自我,又能活躍思維,為人們緊張而忙碌的生活平添一點(diǎn)情趣和樂趣。該文作者將使用APP inventor平臺設(shè)計(jì)一款益智類的記憶力小游戲。
關(guān)鍵詞:APPInventor;記憶力;益智游戲
中圖分類號:TP311? ? ? ?文獻(xiàn)標(biāo)識碼:A? ? ? 文章編號:1009-3044(2018)35-0071-02
1 背景
當(dāng)今社會的生活節(jié)奏越來越快,人們對手機(jī)的要求也越來越高,智能手機(jī)市場快速發(fā)展,目前市場上手機(jī)的主流操作系統(tǒng)主要有兩個,Google的Android操作系統(tǒng)和蘋果的IOS操作系統(tǒng),其中Android系統(tǒng)是開源式手機(jī)操作系統(tǒng),擁有極為廣泛的發(fā)展前景。那么能不能自行在Andriod手機(jī)系統(tǒng)上設(shè)計(jì)一款屬于自己編寫的益智類記憶力小游戲呢?答案是肯定的,APP inventor為我們的選擇提供了一個良好的Android應(yīng)用程序開發(fā)平臺。
App Inventor是由Google公司開發(fā)設(shè)計(jì)的Andriod應(yīng)用程序開發(fā)平臺,原本是Google實(shí)驗(yàn)室的一個子計(jì)劃,其自身最大的優(yōu)點(diǎn)是摒棄原有的程序設(shè)計(jì)理念的弊端,無須使用大量的代碼進(jìn)行編程,取而代之的是使用積木式堆疊法來完成Android應(yīng)用程序的設(shè)計(jì)與開發(fā)。操作界面極為簡潔明了,對于初學(xué)者也可以在短時間內(nèi)上手。
隨著移動終端通信技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展與進(jìn)步,手機(jī)上的各種益智類小游戲也層出不窮,成為人們茶余飯后娛樂的一部分。
2 游戲需求分析
2.1 程序流程圖
如圖1所示。
2.2 游戲功能需求分析
2.2.1 游戲的時長
合理的限制玩家的游戲時長,使得該游戲僅供人們消遣娛樂,同時在每一局游戲中同樣設(shè)置游戲的時長,游戲結(jié)束前剩余時間越長代表玩家的記憶力越好,并給予得分上的獎勵。
2.2.2 游戲界面組成
用戶界面上有16張圖片,排成4×4的矩形陣列,游戲開始時顯示背面圖案,所有圖案兩兩配對,可以根據(jù)關(guān)卡的設(shè)置不斷地變換用戶界面上圖片的張數(shù)。
2.2.3 游戲的規(guī)則和玩法
點(diǎn)擊背面圖案來進(jìn)行翻牌:游戲玩家先翻開一張圖片,然后再翻開另一張圖片,如果兩張圖片的它們自身正面圖案相同,則兩張圖片保持翻開狀態(tài);否則若兩張圖片的正面圖案不同,兩張圖片將短時間呈現(xiàn)正面圖案,然后反轉(zhuǎn),繼續(xù)顯示背面圖案。
2.2.4 游戲的計(jì)分規(guī)則
每翻開一對圖片得10分;如果在規(guī)定時間內(nèi)翻開所有圖片,滿分為80分;剩余游戲時間×50作為得分獎勵部分,與翻牌得分一起計(jì)入總分;如果在規(guī)定時間內(nèi)沒有翻開所有圖片,游戲結(jié)束,積分為0。
2.2.5 游戲的歷史記錄
首次游戲得分被保存在手機(jī)中,在每次游戲完成時,將本次得分與歷史記錄進(jìn)行比較,并保存高的得分,玩家可以清除游戲成績的歷史記錄。
2.2.6 退出游戲
玩家在完成一輪游戲后,可以選擇退出游戲。
2.3 游戲運(yùn)行環(huán)境需求分析
操作系統(tǒng):Android 4.4版操作系統(tǒng)
開發(fā)環(huán)境:MIT AppInventor 2在線版
3 游戲的設(shè)計(jì)與實(shí)現(xiàn)
3.1 APP Inventor 組件簡介
首先有必要引入一個全新的概念——組件對象。我們可以在編程視圖中,隨意點(diǎn)擊一個項(xiàng)目中的組件,打開該組件的代碼塊抽屜,在代碼塊的最后一行有一個與該組件同名的代碼塊,這個代碼塊代表了該組件,稱為組件對象。
3.1.1 創(chuàng)建按鈕列表
先設(shè)置按鈕的背面圖案,然后針對這個按鈕,當(dāng)用手指觸摸或單擊按鈕時,讓按鈕顯示正面圖案;然后再考慮第二個按鈕,當(dāng)點(diǎn)擊第二個顯示背面圖案的按鈕時,如何處理可能出現(xiàn)的兩種情況:兩張圖片的圖案相同或不同。這里我們采用通常的做法,首先來編寫屏幕初始化程序,在這段程序中,最終要將8對(16張)不同的圖案分配給16個按鈕。
對于按鈕來說,就是按鈕對象。首先聲明一個全局變量按鈕列表,并編寫一個創(chuàng)建按鈕列表過程,在該過程中,完成列表項(xiàng)的設(shè)置,然后在屏幕初始化程序中調(diào)用該過程。這其中,完成列表項(xiàng)的設(shè)置,然后在屏幕初始化程序中調(diào)用該過程。這個列表的神奇之處稍后你就能有所體會。
3.2 游戲事件處理程序
游戲事件的相關(guān)處理程序主要包括:讓按鈕顯示背面圖案處理程序;創(chuàng)建圖片列表;隨機(jī)顯示正面圖案處理程序;按鈕點(diǎn)擊或觸摸事件處理程序;閃現(xiàn)計(jì)時器的計(jì)時事件處理程序;控制游戲時長處理程序;設(shè)計(jì)游戲接受處理程序——顯示游戲得分、顯示歷史最高得分、清除歷史記錄、返回游戲、退出游戲等;對話框的按鈕選擇處理程序;創(chuàng)建游戲初始化過程處理程序:當(dāng)游戲結(jié)束后,系統(tǒng)將生成新的隨機(jī)圖案列表讓所有圖片顯示背面圖案讓全局變量翻牌對數(shù)=0讓全局變量剩余時間 = 60讓滑塊回到起始點(diǎn)得分顯示為0啟動游戲計(jì)時器,開始新的一輪游戲。
3.3 游戲代碼匯總
如圖2所示。
3.4 游戲運(yùn)行界面
如圖3所示。
4 結(jié)束語
游戲經(jīng)過多次嚴(yán)格的測試,能夠按照預(yù)先設(shè)計(jì)的思路平穩(wěn)運(yùn)行,該文作者通過對Android手機(jī)平臺的益智類記憶游戲的開發(fā),讓大家對APP Inventor平臺系統(tǒng)的整體設(shè)計(jì)有一個由淺入深的認(rèn)知,對整個游戲的運(yùn)營和制作流程有一個清晰的認(rèn)識。開發(fā)APP inventor 記憶小游戲,要抓住開發(fā)的核心部分,記憶游戲大體由游戲主界面、計(jì)分計(jì)時欄、按鈕列表三大核心組成,只要掌握了這三部分的開發(fā),記憶游戲就能初具規(guī)模。而其他的功能都是在這三個功能的基礎(chǔ)上去補(bǔ)充添加的,但是這是功能的確是必不可少的功能,否則就不能算是記憶游戲了。
參考文獻(xiàn):
[1] 蔡艷桃. AndroidAPPInventor項(xiàng)目開發(fā)教程[M]. 北京:人民郵電出版社,2014.
[2] 黃仁祥,金琦,易偉. 人人都能開發(fā)安卓App:AppInventor2應(yīng)用開發(fā)實(shí)戰(zhàn)[M]. 北京: 機(jī)械工業(yè)出版社,2014.
[3] 王寅峰. AppInventor2中文版開發(fā)實(shí)戰(zhàn):Android智能應(yīng)用開發(fā)[M]. 北京:電子工業(yè)出版社,2014.
[4] 沃爾特,靳曉輝. MITAppInventor完全上手[M]. 北京:清華大學(xué)出版社,2014.
[5] 王向輝. 可視化開發(fā)Android應(yīng)用程序 — 拼圖開發(fā)模式App Inventor 2[M]. 北京:清華大學(xué)出版社,2014.
[通聯(lián)編輯:謝媛媛]