吳小勝 舒鵬飛
摘要:移動APP開發(fā)是高校新媒體專業(yè)開設(shè)的一門實(shí)踐性很強(qiáng)的課程,Android作為目前的主流高端智能手機(jī)操作系統(tǒng),學(xué)生必須具有基于Android平臺進(jìn)行APP開發(fā)的程序設(shè)計(jì)能力。文章通過Basic4 Android集成開發(fā)環(huán)境下“俄羅斯方塊”單機(jī)游戲設(shè)計(jì)實(shí)驗(yàn)教學(xué),使學(xué)生熟練掌握Android APP開發(fā)與發(fā)布的完整過程,闡述了實(shí)驗(yàn)的地位和作用、實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)所需環(huán)境、實(shí)驗(yàn)步驟、實(shí)驗(yàn)注意事項(xiàng)以及實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞:Android;Basic4Android;俄羅斯方塊;實(shí)驗(yàn)綜述
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)15-0231-00
移動終端APP開發(fā)是網(wǎng)絡(luò)與新媒體專業(yè)重要的實(shí)踐性課程。一般開發(fā)Android APP都是采用Java語言及eclipse開發(fā)環(huán)境,但Java語言較為嚴(yán)謹(jǐn),使用較為煩瑣,對于不熟悉Java的學(xué)生或初學(xué)者,學(xué)習(xí)和使用都比較困難。對于網(wǎng)絡(luò)與新媒體專業(yè)的學(xué)生來說,沒有計(jì)算機(jī)專業(yè)課程學(xué)習(xí)基礎(chǔ)的情況下,選擇使用Basic語言,在類似VB的Basic4Android集成開發(fā)環(huán)境中開發(fā)Android APP,非常容易學(xué)習(xí)和使用。
Android作為目前的主流高端智能移動終端操作系統(tǒng),其前景不可限量。隨著智能手機(jī)大范圍普及,手機(jī)游戲迅速發(fā)展,近年來全球游戲市場中移動游戲占比不斷提高。實(shí)驗(yàn)使用Basic4Android為開發(fā)工具,以培養(yǎng)符合就業(yè)市場急需的應(yīng)用軟件、系統(tǒng)開發(fā)人員為目標(biāo),設(shè)計(jì)基于Android平臺的單機(jī)小游戲,培養(yǎng)學(xué)生的綜合應(yīng)用能力。
1實(shí)驗(yàn)?zāi)康?/p>
通過實(shí)驗(yàn)教學(xué),使學(xué)生熟練掌握Basic4Android下AndroidAPP開發(fā)與發(fā)布的完整過程,提升學(xué)生綜合應(yīng)用課程理論知識解決實(shí)際問題的能力。
1)掌握虛擬安卓設(shè)備的參數(shù)配置與使用。
2)熟練使用B4A-Bridge連接安卓手機(jī)對程序進(jìn)行測試和最終發(fā)布。
3)掌握Basic4Android界面設(shè)計(jì)工具的使用。
41掌握Basic4Android內(nèi)置對象、系統(tǒng)函數(shù)的使用。
5)能夠靈活運(yùn)用Basic4Android內(nèi)置的Basic語言編寫小游戲APP。
2實(shí)驗(yàn)所需環(huán)境
1)已安裝Windows7操作系統(tǒng)的計(jì)算機(jī),并包含Basic4An-droid7.0,.NET Framework 4.5,Java JDKl.8.0,Android SDK Tools等軟件。
2)已安裝Android7.0或以上版本操作系統(tǒng)的手機(jī),并包含B4A-Bridge等軟件。
3實(shí)驗(yàn)內(nèi)容
設(shè)計(jì)“俄羅斯方塊”單機(jī)小游戲。俄羅斯方塊是一款經(jīng)久不衰的益智類小游戲,基本規(guī)則是移動、旋轉(zhuǎn)和擺放游戲自動輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。對于APP開發(fā)學(xué)習(xí)者來說可以有效激發(fā)學(xué)習(xí)興趣,培養(yǎng)面向?qū)ο缶幊趟季S。
4實(shí)驗(yàn)步驟
系統(tǒng)地設(shè)計(jì)一個單機(jī)小游戲APP,首先需要厘清設(shè)計(jì)思路,然后針對設(shè)計(jì)過程中各個步驟的重點(diǎn)進(jìn)行詳細(xì)規(guī)劃,設(shè)計(jì)的游戲運(yùn)行界面如圖1所示。
1)設(shè)計(jì)組成方塊的控件及不同旋轉(zhuǎn)狀態(tài)下的排列位置。傳統(tǒng)的俄羅斯方塊共有七種組合,每種組合都是是由四個正方形小方塊按照一定的位置相接而成??梢允褂肅anvas的Drawrect方法畫出四個矩形進(jìn)行組合,但是在程序運(yùn)行過程中動態(tài)調(diào)用它們的位置參數(shù)值較為煩瑣。使用四個Button控件進(jìn)行組合,并將它們按一定的位置排列在一個父元素Panel里即可組成各種類型的方塊,這樣,程序運(yùn)行中只需要讀取該P(yáng)anel的Left、Right、Top等位置值即可,簡化了程序設(shè)計(jì)。需要注意,Button、Panel以及作為游戲背景的Button都必須統(tǒng)一使用程序動態(tài)加入,這樣它們的Left、Right、Top、Width、Height等計(jì)量單位統(tǒng)一是dip,才能精確地進(jìn)行計(jì)算。
游戲運(yùn)行中方塊的方向有四種變化,每種變化的Button位置需要相應(yīng)改變。程序設(shè)計(jì)中響應(yīng)用戶交互實(shí)時(shí)改變Panel中每個Button的位置。文章為方便讀者理解,選取“一字形”方塊為例,方塊的組成及四個Button對應(yīng)控件數(shù)組下標(biāo)的編號方法如圖2所示,部分代碼及注解如下。
3)設(shè)計(jì)組成游戲區(qū)域的背景控件
俄羅斯方塊游戲的積分規(guī)則是:用戶通過擺放方塊,如果將游戲區(qū)域的一行或多行完全填滿,則組成這些行的所有小正方形將被消除,并且以此來獲取一定的積分獎勵。
①圍繞游戲規(guī)則進(jìn)行設(shè)計(jì),文章設(shè)計(jì)的游戲區(qū)域背景為3 1行乘15列的Buuon控件數(shù)組,且第1行的BuRon初始Visible屬性值為True,第2行到第31行的BuRon初始Visible屬性值為False,部分代碼及注解如下。
②當(dāng)用戶控制的方塊底邊與游戲區(qū)域中Visible=True的背景Button相接時(shí),按照游戲規(guī)則,設(shè)計(jì)用戶控制的方塊“終止運(yùn)動”并在游戲區(qū)域最上方產(chǎn)生“新方塊”。文章設(shè)計(jì)的程序中“終止運(yùn)動”實(shí)際是設(shè)置該狀態(tài)下與用戶控制的方塊相重合的背景方塊Visible屬性值為True。以“一字形”方塊水平方向?yàn)槔?,部分代碼及注解如下。
5實(shí)驗(yàn)注意事項(xiàng)
1)設(shè)置方塊旋轉(zhuǎn)過程中四個Button的位置時(shí)容易出錯,可以提前把每種方塊的四種旋轉(zhuǎn)狀態(tài)畫出來,并設(shè)定好四個標(biāo)識值。每次旋轉(zhuǎn)時(shí),根據(jù)當(dāng)前標(biāo)記值,令方塊變成下一個標(biāo)識值的旋轉(zhuǎn)狀態(tài),即重新設(shè)置四個Button的位置值。
21游戲區(qū)域最下面一行背景BuUon的Top值應(yīng)等于游戲區(qū)域的Height值,這樣雖然該行Button的Visible屬性值為True,但可以確保用戶看不見,滿足設(shè)計(jì)的需要。
6實(shí)驗(yàn)結(jié)果
通過WLAN,在多個不同分辨率的安卓系統(tǒng)手機(jī)上使用B4abfidge對程序進(jìn)行測試無錯誤后,將程序打包、發(fā)布為“俄羅斯方塊.apk”,可以正常安裝、運(yùn)行。
7結(jié)束語
通過本次實(shí)驗(yàn),學(xué)生能夠深入掌握Android平臺下移動終端應(yīng)用程序開發(fā)的基本技能,能熟練運(yùn)用Basic4Android進(jìn)行界面設(shè)計(jì)和程序設(shè)計(jì),獨(dú)立完成系統(tǒng)的Android應(yīng)用程序開發(fā)及程序測試實(shí)驗(yàn),為以后進(jìn)行綜合性Android應(yīng)用程序開發(fā)打下良好的基礎(chǔ)。