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