席一 周嬌
摘要:描述了一個(gè)在Android操作系統(tǒng)上的手語連連看游戲的設(shè)計(jì)實(shí)現(xiàn)過程,并給出了相應(yīng)的算法和代碼。通過該游戲了解、認(rèn)識、學(xué)習(xí)手語,讓更多的人會用手語和聾啞人溝通交流。讓更多的人去關(guān)愛聾啞人,更好的從精神和生活上幫助聾啞人士。
關(guān)鍵詞:Android;手機(jī)游戲:連連看
現(xiàn)在常見的智能手機(jī)平臺有:Symbian、Windows、Mobile、PALM、Blackberry、iOS、Android等。Android是Google開發(fā)的基于Linux平臺的開源手機(jī)操作系統(tǒng),是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。本文通過對Android系統(tǒng)架構(gòu)和應(yīng)用開發(fā)進(jìn)行初步研究,設(shè)計(jì)一款手語連連看小游戲。在對系統(tǒng)進(jìn)行詳細(xì)需求分析的基礎(chǔ)上確定了系統(tǒng)的功能和性能要求對游戲的菜單界面、屏幕繪制、時(shí)間控制、布局算法、連通算法、關(guān)卡設(shè)置、音效和動(dòng)畫進(jìn)行了設(shè)計(jì)并最終實(shí)現(xiàn)了一個(gè)界面友好、高效穩(wěn)定和富有娛樂性的手機(jī)連連看益智小游戲。通過該游戲了解、認(rèn)識、學(xué)習(xí)手語,更好的從精神和生活上關(guān)愛聾啞人士。
一、環(huán)境的搭建
編寫Android應(yīng)用程序,必須對編程環(huán)境進(jìn)行一定的配置,以適應(yīng)Java開發(fā)。要進(jìn)行Android應(yīng)用程序開發(fā),需要在計(jì)算機(jī)上安裝以下軟件:
Java Development Kit(JDK,Java開發(fā)包)Version;
兼容的JavaIDE如Eclipse,需要帶有JDT(JavaDevelopment Tools)插件;
Android SDK,包括工具和文檔;
Eclipse的Android Development Tools(ADT,Android開發(fā)工具)插件。
創(chuàng)建AVD,為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。
二、設(shè)計(jì)與實(shí)現(xiàn)
2.1游戲的初始化
進(jìn)入游戲界面,首先需要顯示出來圖片矩陣,如果是第一關(guān),就把地圖設(shè)置成2行2列,如果是第二關(guān)和第二關(guān)以上,就把地圖設(shè)置成3行列,其代碼如下:
2.2判斷消除圖片
消除圖片時(shí)要判斷是否可達(dá),即優(yōu)化判斷是否可以消除的算法是本程序的靈魂,連連看游戲分為三種消去方式,分別為“0折型”,“一折型”,“兩折型”,如果兩點(diǎn)間只需要一條直線能夠連接起來,則A、B兩點(diǎn)的橫坐標(biāo)或縱坐標(biāo)必定相同,有了這個(gè)條件,我們判斷A、B兩點(diǎn)是否只需要一條直接連接就簡單了許多。其分析如下:
2.2.1“0折型”
水平消去或者垂直消去,如果兩個(gè)點(diǎn)擊的兩個(gè)圖片相同,并且它們在同一水平或垂直方向上,即返回HLINE的畫線類型,代碼如下:
2.2.3“兩折型”
如果點(diǎn)擊的兩個(gè)圖片相同,它們不在同一水平或垂直方向上,并且它們要用三條直線相連,則稱為“兩折型”,對兩張圖片分別進(jìn)行x和Y方向的掃描,滿足條件則被消除。
2.3圖片之間連線
當(dāng)判斷兩個(gè)圖片之間有路徑可以相連,并且兩圖片之間可以用不超過三條直線的線把它們連接起來,代碼如下:
2.4游戲結(jié)束的判斷
要判斷游戲的結(jié)束,只需對地圖中的所有區(qū)域的狀態(tài)進(jìn)行檢測就可以了,若檢測到所有的圖片都被消除,則證明游戲勝利,可以重新再來一次,即調(diào)用前面的初始化算法重新開始;若檢測到區(qū)域中出現(xiàn)任意不可能消除的兩個(gè)圖片時(shí),游戲進(jìn)入死鎖狀態(tài),顯示游戲失敗,也可以重新再來一次,即調(diào)用前面的初始化算法重新開始。
三、結(jié)束語
本研究首先描述了環(huán)境的搭建,然后分析了該游戲中游戲的初始化、消除圖片、圖片之間連線、游戲結(jié)束的判斷的核心代碼,在此基礎(chǔ)上還可以進(jìn)行關(guān)卡的設(shè)置,通過圖片消除后,剩余圖片按一定規(guī)律改變位置來提高游戲難度,可以增強(qiáng)游戲的挑戰(zhàn)性。