摘 要:目前,隨著科技的不斷發(fā)展,通信技術(shù)得到了長足的進步,如Pad,手機等數(shù)字產(chǎn)品成為人們?nèi)粘I钪斜夭豢缮俚闹匾M成部分,現(xiàn)在的手機等移動通信設備不僅具有通信這項單一的功能,還逐漸演變成一個可以移動的微機系統(tǒng),為人們提供豐富的信息和服務。安卓操作系統(tǒng)作為一個應用廣泛的智能平臺,在該系統(tǒng)下開發(fā)的應用軟件不斷增多,本文詳細的研究和分析了在安卓平臺下開發(fā)中國象棋游戲的相關(guān)技術(shù),設計并實現(xiàn)了中國象棋游戲的開發(fā)。
關(guān)鍵詞:中國象棋游戲;Android;智能手機
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1674-7712 (2014) 04-0000-01
隨著數(shù)字化電子技術(shù)的飛速發(fā)展,聯(lián)機游戲已經(jīng)成為人們?nèi)粘I钪幸豁椫匾膴蕵贩绞?,而象棋是一種非常受人們喜愛的智力游戲,隨著手機平臺的不斷升級,安卓手機系統(tǒng)已經(jīng)占據(jù)了全世界59%的市場份額,在2007年,谷歌公司在Linux系統(tǒng)下開發(fā)了一款操作系統(tǒng),它由中間件,用戶界面,應用軟件和操作系統(tǒng)幾部分組裝,這是一款專門為移動終端量身制作的移動平臺,安卓平臺是一個完全開源的平臺,擁有完整的體系架構(gòu)。安卓平臺由Linux Kernel即Linux內(nèi)核,Android Runtime,Libraries(庫)以及Applications(應用程序),Application Framework(應用框架)等五部分成,所以,一款在安卓平臺上的象棋游戲具有非常大的市場潛力,本文所設計的中國象棋游戲,正是在手機安卓平臺上設計開發(fā)的廣泛的,擁有非常大的實用性。
一、基于安卓系統(tǒng)的中國象棋游戲的設計
(一)系統(tǒng)的總體設計
本文設計的象棋游戲系統(tǒng)是一款由手機作為客戶端到PC服務器的網(wǎng)絡游戲,它的系統(tǒng)框架由服務器和移動終端組成。其中PC服務器主要用于同步轉(zhuǎn)發(fā)手機客戶端的數(shù)據(jù),由此客戶端之間就可以通過服務器來實現(xiàn)通信,而手機客戶端的作用是游戲的操作,界面的顯示并與服務器之間通信。
(二)系統(tǒng)的模塊設計
在游戲的開發(fā)設計中,主要運用了人工智能技術(shù),網(wǎng)絡通信信息管理技術(shù)等,游戲有聯(lián)機的人人對戰(zhàn)以及人機對戰(zhàn)模式,為了實現(xiàn)手機客戶端與PC服務器之間的通信以及人機對戰(zhàn)功能,在設計中將游戲的開發(fā)分為五個部分,并分別從靜態(tài)模型設計和動態(tài)模型設計來闡述系統(tǒng)的設計,這五個模塊分別為:(1)棋房間、棋桌模塊:主要用于實現(xiàn)客戶端分流與人人對戰(zhàn);(2)棋盤、旗子模塊:包括游戲中棋盤的布局以及棋子的走法,系統(tǒng)的規(guī)則判斷;(3)人工智能模塊:具有人機對戰(zhàn)的功能;(4)網(wǎng)絡通信模塊:主要用于客戶端與服務器的通信,數(shù)據(jù)的發(fā)送;(5)資源存儲模塊:主要用于存儲游戲中用到的聲音資源,圖片資源等。
(1)中國象棋游戲靜態(tài)模型的設計。在游戲中,用Bitmaploader作為圖片資源模塊的靜態(tài)類,聲音資源用CNChesssoundmanager靜態(tài)類,并將游戲中涉及到的棋子、棋盤等圖片資源和聲音資源采用獨立的模塊,這樣不僅方便資源的維護,還可以實現(xiàn)資源的復用。
在游戲中,棋子和棋盤是游戲中非常重要的一部分,對使用者具有直接的影響,在設計中,棋子用CNChess作為基類,棋子的房間類為CNChessroom,棋桌類為CNChesstable,并在設計中直接使用棋盤類接口,并不通過內(nèi)部處理,這樣就大大降低了模塊間的耦合程度。
網(wǎng)絡模塊作為聯(lián)機對戰(zhàn)的重要模塊,采用CNChessclientsockerserver,Networkmanager類來實現(xiàn)網(wǎng)絡連接和傳輸網(wǎng)絡信息。
人工智能模塊可以實現(xiàn)人與計算機博弈,在游戲中運用了人工智能技術(shù),使計算機具有一定棋力,在游戲中用Humanvscomputer作為計算機的博弈類。
服務器端模塊用來實現(xiàn)讓客戶端的用戶在同一個平臺下進行游戲?qū)?zhàn),這里用到的類有CNChesslistensocket,用來監(jiān)聽客戶端的連接,CNChessclientsocket用于各客戶端的通信。
(2)中國象棋游戲的動態(tài)模型設計。系統(tǒng)的游戲模式分為聯(lián)機對戰(zhàn)和人機對戰(zhàn)模式。人人對戰(zhàn)模式是讓兩個玩家通過服務器通信之后進行對戰(zhàn),玩家選擇聯(lián)機模式以后,會打開一個網(wǎng)絡端口,這個網(wǎng)絡端口可以連接其他手機客戶,然后通過服務器建立網(wǎng)絡連接之后,進行雙方對戰(zhàn)。并用Encryptpassword和Encryptpacket這兩個模塊來進行通信時的數(shù)據(jù)安全處理,其中Encryptpassword用于對用戶登錄密碼進行加密,Encryptpacket用于對游戲中的數(shù)據(jù)包進行加密,這樣就對通信過程中數(shù)據(jù)的安全進行了保護。
人機對戰(zhàn)模式即將中國象棋和人工智能結(jié)合起來,使計算機擁有下棋能力,這樣玩家就可以與計算機直接對戰(zhàn),人機對戰(zhàn)模式使用的是Humanvscomputer類,玩家只需要選擇計算機的棋力水平的等級和執(zhí)棋方就可以與計算機對戰(zhàn)。
通過這兩種方式,玩家既可以使用網(wǎng)絡方式與其他玩家在線下棋,也可以在沒有網(wǎng)絡的條件下進行人機對戰(zhàn),達到了隨時隨地游戲的目的。
三、結(jié)束語
本文通過對安卓操作系統(tǒng)的研究,設計開發(fā)了一款安卓操作系統(tǒng)下的中國象棋手機游戲,這款游戲不僅可以實現(xiàn)人機對戰(zhàn),還可以聯(lián)網(wǎng)實現(xiàn)人人對戰(zhàn),具有很大的市場潛力,本文詳細的闡述了游戲的系統(tǒng)框架和游戲的實現(xiàn)方式。象棋的計算方式非常復雜,至今任然存在一些研究盲點,有待進一步提高,所以這款游戲具有很大的提升潛力。
參考文獻:
[1]Shane Conder.Android Wireless Application Development[M].Addison-Wesley,2010.
[2]余志龍,陳昱勛,鄭名杰.Android SDK開發(fā)范例大全[M].北京:人民郵電出版社,2010.
[3]楊豐盛.Android應用開發(fā)揭秘[M].北京:機械工業(yè)出版社,2010.
[4]羅偉.Android平臺的即時通訊系統(tǒng)的研究與實現(xiàn)[D].湖南師范大學,2008.
[作者簡介]陳明利(1990.05-),男,貴州六盤水人,頂峰互動產(chǎn)品經(jīng)理,具有豐富的移動游戲應用設計及研發(fā)經(jīng)驗,對移動互聯(lián)網(wǎng)、手游等具有豐富的積累及獨到的見解,精通Android、iOS等游戲應用開發(fā)。