中國象棋游戲的設(shè)計(jì)_第1頁
中國象棋游戲的設(shè)計(jì)_第2頁
中國象棋游戲的設(shè)計(jì)_第3頁
中國象棋游戲的設(shè)計(jì)_第4頁
中國象棋游戲的設(shè)計(jì)_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、上海電力學(xué)院上海電力學(xué)院 本科畢業(yè)設(shè)計(jì)(論文)本科畢業(yè)設(shè)計(jì)(論文) 題目: 基于 android 的中國象棋游戲的設(shè)計(jì) 院系: 計(jì)算機(jī)與信息工程學(xué)院 專業(yè)年級(jí): 2008 電子科學(xué)與技術(shù) 學(xué)生姓名: 丁曉亮 學(xué)號(hào): 20082614 指導(dǎo)教師: 金一鳴 2012 年 06 月 14 日 i 基于 android 的中國象棋游戲的設(shè)計(jì) 摘要 隨著智能手機(jī)的快速普及,智能手機(jī)操作系統(tǒng)市場(chǎng)風(fēng)生水起。為了讓智能手機(jī)用戶能 夠隨時(shí)隨地查詢互聯(lián)網(wǎng)所提供的服務(wù),一種高效的辦法就是將應(yīng)用系統(tǒng)的功能拓展到手機(jī) 終端上,讓手機(jī)能夠通過移動(dòng)網(wǎng)以及互聯(lián)網(wǎng)訪問 web 網(wǎng)站并處理各種各樣的業(yè)務(wù)。因此, 智能手機(jī)的應(yīng)用軟

2、件及其需要的服務(wù)將有廣闊的發(fā)展前景。而 android 是開放性體系架構(gòu), 不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),包括豐富的圖形 組件、多媒體支持功能以及強(qiáng)大的瀏覽器。因此,對(duì)于軟件從業(yè)人員來說,android 平臺(tái) 具有無限的吸引力。 本文就在分析討論 android 手機(jī)軟件開發(fā)技術(shù)原理的基礎(chǔ)上,為用戶開發(fā)出基于 android 平臺(tái)的中國象棋游戲的軟件。通過對(duì) android 系統(tǒng)架構(gòu)和應(yīng)用開發(fā)進(jìn)行初步研究, 設(shè)計(jì)一款中國象棋游戲。在對(duì)系統(tǒng)進(jìn)行詳細(xì)需求分析的基礎(chǔ)上,確定了系統(tǒng)的功能和性 能要求,對(duì)游戲的菜單界面、屏幕繪制、時(shí)間控制、布局算法、音效和動(dòng)畫 等進(jìn)行了

3、設(shè) 計(jì),并最終實(shí)現(xiàn)了一個(gè)界面友好、高效穩(wěn)定和富有娛樂性的手機(jī)益智游戲。 關(guān)鍵字:android;中國象棋;智能手機(jī)平臺(tái) ii the design of chinese chess game based on android abstract with the rapid proliferation of smart phones, smart phone operating system market, wind and water. in order for smart phone users to check the internet anytime, anywhere services

4、 provided an efficient way to expand the function of the system will be applied to the mobile phone terminal, the mobile phone to internet access via mobile networks, and variety of web sites and process business. therefore, the smart phone applications and the need for the service will have broad p

5、rospects for development. androids biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. therefore, for software

6、 professionals is, android platform has unlimited appeal. in this paper, the analysis and discussion android mobile phone software development technology on the basis of the principle, developed to provide users with better platform to the chinese chess based on android meteorological software. thro

7、ugh to the android system structure and application development for preliminary research, designed a chinese chess game. in the system based on the analysis of the detailed requirements, made sure the system function and performance requirements, to the game menu interface, and the screen rendering,

8、 time control, layout algorithm, sound effects and animation, design, and finally achieved a friendly interface, high efficiency and stability and entertaining mobile phone puzzles. keywords:android;chinese chess;smartphone platform 目錄 1 引言 .1 1.1 研究背景 .1 1.2 研究目的和意義 .2 1.3 論文結(jié)構(gòu)安排 .3 2 android 操作系統(tǒng)簡

9、介 .3 2.1 智能手機(jī)系統(tǒng)現(xiàn)狀 .3 2.2 android的功能特征 .5 2.3 android系統(tǒng)的特點(diǎn) .7 2.4 android的體系結(jié)構(gòu) .7 3 android 開發(fā)環(huán)境 .9 3.1 操作系統(tǒng)及所需軟件.10 3.2 android開發(fā)環(huán)境及變量配置 .10 3.2.1 安裝配置 jdk6 .10 3.2.2 安裝配置 sdk .12 3.3 eclipse的設(shè)置 .12 3.4 android版本配置 .13 4 應(yīng)用程序的總體設(shè)計(jì) .13 4.1 詳細(xì)規(guī)則 .13 4.2 勝負(fù)判定方法 .14 4.3 棋子行走規(guī)則 .15 5 功能的設(shè)計(jì)與實(shí)現(xiàn) .18 5.1 各種相

10、關(guān)類的介紹 .19 5.2 過程中的邏輯處理 .21 5.3 棋子走法流程圖 .23 5.4 游戲模擬運(yùn)行 .26 5.5 改進(jìn)和優(yōu)化 .29 6 結(jié)論.30 謝辭.31 參考文獻(xiàn).32 附錄.33 1 1 引言 android 是 google 于 2007 年 11 月 05 日宣布的基于 linux 平臺(tái)的開源移動(dòng)操作系統(tǒng) 的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。它采用軟件堆層 (software stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層以 linux 內(nèi)核工作為 基礎(chǔ), android 系統(tǒng)效果圖由 c 語言開發(fā),只提供基本功能;中間層包括函數(shù)庫 lib

11、rary 和虛擬機(jī) virtual machine,由 c+開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程 序等,應(yīng)用軟件則由各公司自行開發(fā),以 java 作為編寫程序的一部分。不存在任何以往阻 礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。 google 通過與軟、硬件開發(fā)商、設(shè)備制造商、電信運(yùn)營商等其他有關(guān)各方結(jié)成深層次的 合作伙伴關(guān)系,希望能借助其來建立標(biāo)準(zhǔn)化、開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi) 形成一個(gè)開放式的生態(tài)系統(tǒng)1。 1.1 研究背景 隨著移動(dòng)通信的發(fā)展以及互聯(lián)網(wǎng)向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶對(duì)移動(dòng)終端的要求越 來越高,而 symbian,w

12、indows mobile,palm os 等手機(jī)平臺(tái)過于封閉,不能很好的滿足用 戶的需求,因此市場(chǎng)迫切需要一個(gè)開放性很強(qiáng)的平臺(tái)2。 android 是一個(gè)基于 linux 核心(kernel)的開放手機(jī)平臺(tái)系統(tǒng)。與 windows mobile、symbian 等手機(jī)系統(tǒng)處在同一級(jí)別。對(duì)于設(shè)備制造商來說, android 是一個(gè)免 費(fèi)的平臺(tái)。android 系統(tǒng)讓設(shè)備制造商免除每出一臺(tái)手機(jī),就得被手機(jī)系統(tǒng)廠商 賺一些 錢的情況。對(duì)硬體開發(fā)廠商來說, android 也是個(gè)開放的平臺(tái)3。只要廠商有能力,可 以在這個(gè)平臺(tái)上自由加入特有的裝置或功能,不受手機(jī)系統(tǒng)廠商的限制。對(duì)于手持裝置 的開發(fā)者來

13、說,android 是個(gè)先進(jìn)的平臺(tái)。平臺(tái)上的應(yīng)用程式可相容于各種型號(hào)的 android 手機(jī),免去為各種不同手機(jī)機(jī)型開發(fā)的困擾。 android 平臺(tái)支援各種先進(jìn)的網(wǎng) 路、繪圖、3d 處理能力,可以用來提供更好的使用者體驗(yàn)。對(duì)于使用者來說, android 是一個(gè)用于手機(jī)的系統(tǒng)。使用者只要先申請(qǐng)一個(gè)免費(fèi)的 google 帳戶,當(dāng)使用者想換一 臺(tái)手機(jī)時(shí),就可以在不同廠牌,同樣使用 android 系統(tǒng)平臺(tái)的手機(jī)之間選擇,并且很容 易地將如聯(lián)絡(luò)簿等個(gè)人資料轉(zhuǎn)換到新手機(jī)上 4。 android 在 linux 核心的基礎(chǔ)上,提供了各種合用的函數(shù)庫,和一個(gè)完整的應(yīng)用程 2 式框架。并采用較符合商用限制

14、的 apache 版權(quán)。在 linux 核心的基礎(chǔ)上提供 google 自制的應(yīng)用程式運(yùn)行環(huán)境 (稱作 dalvik,與 sun 的 j2me 不同),并提供基于 eclipse 整合開發(fā)環(huán)境(ide)的免費(fèi)、跨平臺(tái)(windows、mac os x、linux) 開發(fā)工具(sdk),便 于應(yīng)用程式開發(fā)者學(xué)習(xí)、使用。免費(fèi)、熟悉的跨平臺(tái)開發(fā)工具,讓具備一些物件導(dǎo)向觀 念,或視窗程式開發(fā)經(jīng)驗(yàn)的開發(fā)者,能在一定時(shí)間內(nèi)上手 5。從不同角度來說, android 代表著一個(gè)嶄新的開放原始碼系統(tǒng)平臺(tái)、一個(gè)友善的免費(fèi)應(yīng)用程式開發(fā)環(huán)境、 一個(gè)與世界各地的程式開發(fā)者,站在相同起跑點(diǎn)上的公平競(jìng)爭機(jī)會(huì)。 而中國象棋

15、作為一 款經(jīng)典的益智游戲,一直以來都被眾多的游戲愛好者喜歡,這個(gè)游戲,男女老少皆宜。 游戲的吸引力主要在于,它在讓玩家打發(fā)時(shí)間的同時(shí),可以讓人 的思維邏輯能力得到鍛 煉6。 1.2 研究目的和意義 android 這個(gè)平臺(tái)對(duì)于 google 對(duì)于大眾的意義不在于手機(jī)本身,android 存在的目的 也不在于挑起手機(jī)操作系統(tǒng)之間的混戰(zhàn),而在于推動(dòng)移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)鏈的迅速成型。 具有開源特性的 android 平臺(tái)打破了之前 symbian、windows mobile 等操作系統(tǒng)收取 高額的授權(quán)費(fèi)用的模式,使得只能手機(jī)成本大大的降低;而正是由于它開發(fā)源代碼,使得 手機(jī)產(chǎn)生更多個(gè)性化的應(yīng)用。同時(shí),合

16、作方能夠在這里得到利潤或者創(chuàng)造價(jià)值,手機(jī)軟件 行業(yè)得到維護(hù)協(xié)調(diào)發(fā)展。 以 google、蘋果和諾基亞為中心各自形成的生態(tài)鏈將以原來數(shù)倍的速度推動(dòng)移動(dòng)互聯(lián) 網(wǎng)的發(fā)展,這正是 google 推出 android 平臺(tái)的意義,也是 android 平臺(tái)存在的使命。而作 為 android 平臺(tái)成員之一的中國移動(dòng)也投資成立了一家通訊公司,專門從事 google 手機(jī)軟 件的應(yīng)用以及本地化的軟件的開發(fā),比如將在 google 手機(jī)平臺(tái)上添加飛信、輸入法等一系 列符合國內(nèi)用戶使用特色的功能。國內(nèi)眾多企業(yè)也將眼光投入到 android 上面,并啟動(dòng)了 相關(guān)的計(jì)劃來深入的理解并發(fā)展 android。更多的手機(jī)

17、軟件開發(fā)企業(yè)已經(jīng)或者籌備著將公 司進(jìn)行轉(zhuǎn)型,從其方向的開發(fā)轉(zhuǎn)向到 android 的開發(fā)7。 綜上所述,無論是在國內(nèi)還是在國外,android 平臺(tái)對(duì)手機(jī)軟件行業(yè)和移動(dòng)手機(jī)平臺(tái) 將發(fā)揮極大地推動(dòng)作用,而在未來的幾年或者一段時(shí)間內(nèi),android 將越發(fā)的凸顯自己的 重要性?;诖耍覀冇斜匾ㄟ^進(jìn)行相關(guān)的研究來了解 android 平臺(tái),來了解開發(fā) android 的那一大批人的先進(jìn)的理念和思想,并通過這些來了解手機(jī)軟件行業(yè),進(jìn)而了解 未來無移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢(shì),從而更好的適應(yīng)時(shí)代的需要8。 3 本課題的目的在于掌握 java 手機(jī)應(yīng)用開發(fā)技術(shù)和移動(dòng)軟件平臺(tái)開發(fā)技術(shù)。在以 java 語言為基礎(chǔ)

18、,結(jié)合 android 移動(dòng)開發(fā)平臺(tái),并利用 android 提供的 sdk,完成在 android 平臺(tái)上運(yùn)行的中國象棋軟件。 本課題的意義在于通過開發(fā)一款簡易中國象棋手機(jī)應(yīng)用軟件,可以熟練應(yīng)用 android 平臺(tái)提供的應(yīng)用程序接口,掌握 android 平臺(tái)上的各種應(yīng)用。 1.3 論文結(jié)構(gòu)安排 整篇論文共分為六個(gè)部分,其主要內(nèi)容安排如下: 第 1 章 引言。介紹論文的研究背景、目的和意義。包括課題的背景資料簡介、國 內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)、深入地介紹了課題研究的價(jià)值以及對(duì)未來的影響。 第 2 章 android 操作系統(tǒng)簡介。這部分主要是介紹了智能手機(jī)系統(tǒng)現(xiàn)狀、android 的功能特征

19、、android 系統(tǒng)的特點(diǎn)以及 android 的體系結(jié)構(gòu)。 第 3 章 android 開發(fā)環(huán)境。這部分主要介紹了 eclipse 和 android 開發(fā)環(huán)境的搭建。 第 4 章 應(yīng)用程序的總體設(shè)計(jì)。這部分主要介紹了中國象棋的詳細(xì)規(guī)則及勝負(fù)判定 方法和棋子的行走規(guī)則。 第 5 章 功能的設(shè)計(jì)與實(shí)現(xiàn)。這部分主要介紹了游戲的界面、游戲中的邏輯處理以 及該游戲今后的改進(jìn)和優(yōu)化。 第 6 章 結(jié)論。對(duì)整篇論文加以總結(jié)與回顧以及對(duì)未來的展望。 2 android 操作系統(tǒng)簡介 android是基于linux內(nèi)核的操作系統(tǒng),早期由google開發(fā),后由開放手機(jī)聯(lián)盟開發(fā)。 它采用了軟件堆層的架構(gòu),主要

20、分為三部分。底層以linux內(nèi)核工作為基礎(chǔ),只提供基本功 能;其他的應(yīng)用軟件則由各公司自行開發(fā),以java作為編寫程序的一部分。另外,為了推 廣此技術(shù),google和其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟。目前最新版本為 android4.09。 2.1智能手機(jī)系統(tǒng)現(xiàn)狀 手機(jī)操作系統(tǒng)是時(shí)下最火熱的話題之一,大家都在追隨不斷新出的操作系統(tǒng)。雖然它 4 的火熱程度在持續(xù)高漲,但是手機(jī)操作系統(tǒng)的發(fā)展并不是那么長久。在 2002 年之前,并沒 有嚴(yán)格意義上的手機(jī)操作系統(tǒng),因?yàn)槟芡瓿赏ㄔ捁δ艿氖謾C(jī)都是由廠家自己做芯片,然后 配上相應(yīng)的軟件就可以完成。不過此后,手機(jī)的品種越來越多,發(fā)展也越來越快,隨著人 們

21、對(duì)手機(jī)的需求也越來越大,智能手機(jī)和手機(jī)操作系統(tǒng)就應(yīng)運(yùn)而生了10。 目前熱門的手機(jī)操作系統(tǒng)主要有 5 種: (1)塞班(symbian) 昔日的行業(yè)大哥,這個(gè)日漸落寞的操作系統(tǒng),曾經(jīng)紅遍天下。但是隨著近些年蘋果和 谷歌的發(fā)力,一直在走下坡路,塞班的市場(chǎng)份額已經(jīng)降到了谷底。有統(tǒng)計(jì)顯示,到去年年 底,塞班系統(tǒng)的全球市場(chǎng)占有量僅有 22.1%。雖然基本的常用軟件非常的豐富,但是塞班 系統(tǒng)弊病不斷,在更激烈的競(jìng)爭中敗下陣來。隨著塞班的淪陷,諾基亞也淪落了。曾經(jīng), 諾基亞在芬蘭幾乎是國家的象征?,F(xiàn)在,為了改變頹勢(shì),又需要尋求突圍了。 代表手機(jī):諾基亞,索尼愛立信、lg (2)安卓(android) 200

22、8 年,谷歌發(fā)布了 android 操作系統(tǒng),從此智能手機(jī)操作系統(tǒng)界不再安靜。2009 年, 原來引用塞班平臺(tái)的廠商,比如 lg、索尼愛立信等紛紛退出塞班平臺(tái),投入 android 領(lǐng)域。 不久,android 系統(tǒng)就取代了塞班成為智能手機(jī)操作系統(tǒng)的霸主。在 2011 年的第一季度, android 在全球的市場(chǎng)份額就已經(jīng)超過了塞班,位居世界第一。到了 2011 年底,android 占據(jù)了全球 52.5%的份額。android 手機(jī)的軟件非常的豐富,而且基本都是免費(fèi)的,可以通 過多個(gè)應(yīng)用商店下載。另外,android 的本地化也做得很好,刷機(jī)非常方便11。 代表手機(jī):三星,htc,小米,索尼

23、愛立信、魅族、摩托羅拉,中興,華為等。 (3)ios 這么多操作系統(tǒng)中,可以說蘋果的使用體驗(yàn)是最好的。android 雖然是霸主地位,但 是系統(tǒng)卻沒有 ios 完美。ios 不是開放的系統(tǒng),它的很多應(yīng)用多需要付費(fèi)才能使用。 (4)windows phone windows phone 發(fā)布于 2010 年 10 月,作為微軟移動(dòng)的籌碼,正式與 android 和 ios 競(jìng)爭。2011 年 2 月,諾基亞與微軟合作,試圖挽回失去的大局?,F(xiàn)在已經(jīng)更新至 windows phone 7.6 了,大家十分期待的 windows phone 8 也將在今年第四季度發(fā)布。盡管如此, windows ph

24、one 可以說是不夠成熟的,在中國,行貨手機(jī)非常少,而且本地化做得也不是 特別好。如果有一天,windows phone 大面積在中國開賣,相信市場(chǎng)一定會(huì)有的,畢竟現(xiàn) 在蘋果和安卓已經(jīng)滿大街都是了,再加上諾基亞的“砸核桃”功能,一定會(huì)引來一陣高潮。 5 代表手機(jī):三星,htc, lg,中興等 (5)黑莓(black berry) 黑莓在歐美市場(chǎng)是第一商務(wù)智能手機(jī),引入中國后,主要面向政企集團(tuán)客戶,蘇寧是 獨(dú)家的銷售渠道,不過,國內(nèi)市場(chǎng)有很多渠道可以買到水貨。從市場(chǎng)來看,黑莓在中國并 沒有那么受歡迎,軟件資源也不是那么豐富。 總結(jié):移動(dòng)互聯(lián)網(wǎng)在一輪又一輪的掀起高潮,這中間智能手機(jī)操作系統(tǒng)起到了至

25、關(guān)重 要的作用。從目前市場(chǎng)來看,主要的競(jìng)爭還是在于微軟、蘋果和谷歌之間,三大操作系統(tǒng) 可謂是三足鼎立。過不了多久,windows phone 8 就要出來了,相信到時(shí)候市場(chǎng)又會(huì)有很 大的不同,坐觀其變。 手機(jī)應(yīng)用開發(fā)中的 java 技術(shù)有如下特點(diǎn): 在信息社會(huì)中手機(jī)及其他無線設(shè)備越來越多的走進(jìn)普通百姓的工作和生活隨著信息網(wǎng) 絡(luò)化的不斷進(jìn)展手機(jī)及其他無線設(shè)備上網(wǎng)絡(luò)勢(shì)在必行。但是傳統(tǒng)手機(jī)存在以下弊端: 首先傳統(tǒng)手機(jī)出廠時(shí)均由硬件廠商固化程序,程序不能增加、刪除有了錯(cuò)誤也不能更 新、修改若要增加新功能必須另換一部手機(jī)。 其次傳統(tǒng)手機(jī)訪問互聯(lián)網(wǎng)是通過 wapwireless application p

26、rotocal 所有網(wǎng)絡(luò)資源必 須接通網(wǎng)絡(luò)才能在線訪問非常耗時(shí)、費(fèi)用亦很高。 而 java 技術(shù)在無線應(yīng)用方面的優(yōu)勢(shì)非 常明顯: (1) 應(yīng)用程序可按需下載而不是購買由硬件商提供的套件可升級(jí)空間大。 (2) java 技術(shù)提供了一個(gè)類庫它使的應(yīng)用,開發(fā)商可以創(chuàng)建更為直覺、豐富的用戶界 面。 (3) java 技術(shù)使網(wǎng)絡(luò)帶寬的應(yīng)用更為有效因?yàn)閼?yīng)用程序可以下載到器件上并在本地運(yùn) 行僅僅是在連接到服務(wù)器時(shí)才會(huì)占用網(wǎng)絡(luò)帶寬12。 基于以上分析 java 手機(jī)將是未來手機(jī)的發(fā)展方向是業(yè)界的熱點(diǎn)。本次設(shè)計(jì)正是基于當(dāng) 前熱門的 android 手機(jī)應(yīng)用開發(fā),也就是采用 java 語言編程開發(fā)。 2.2 an

27、droid 的功能特征 (l)應(yīng)用程序架構(gòu):在應(yīng)用程序架構(gòu)內(nèi)已經(jīng)具備多種不同的基礎(chǔ)組件,在開發(fā)應(yīng)用程序 時(shí),就可以直接調(diào)用這些組件來使用,可以節(jié)省開發(fā)應(yīng)用程序的心力及時(shí)間。 (2)dalvik 虛擬機(jī)器:在 android 平臺(tái)上所使用 java 虛擬機(jī),不是 sim 公司的標(biāo)準(zhǔn) java 虛擬機(jī),而是使用 google 自主開發(fā)的代號(hào)為 dalvik 的虛擬機(jī),它在保證 api 方面的 兼容的同時(shí),針對(duì)移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。 6 (3)集成的瀏覽器:集成的瀏覽器是 android 內(nèi)建的瀏覽器,是以 webkit 的瀏覽引擎為 基礎(chǔ)所開發(fā)成的。wedkit 是一

28、個(gè)開源瀏覽器網(wǎng)頁排版引擎,目前使用 webkit 引擎的瀏覽 器主要有:safari,midori,epiphany 等。配合 android 手機(jī)的功能,可以在瀏覽網(wǎng)頁時(shí), 達(dá)到更好的效果,例如:局部性的縮放網(wǎng)頁上的資訊、觸控式的操作等效果。 (4)優(yōu)化的繪圖能力:在程序里可以用到的繪圖功能分為 2d 與 3d 兩個(gè)方面。在 2d 方面, android 提供了一套特有的類庫(sgl;而在 3d 方面則是使用 opengles1.0(opengl for embedded systems)規(guī)范的類庫。它們是一種非常快的圖形引擎,并且支持硬件加速。 (5)sqlite 數(shù)據(jù)庫:sqlite 提

29、供結(jié)構(gòu)化的數(shù)據(jù)存取。sqlite 是一款輕型的數(shù)據(jù)庫,它 的設(shè)計(jì)目標(biāo)是嵌入式的,目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用的資源非常低。 它能夠支持 windows/linux/u nix 等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合, 比如 php,java 等,還有 odbc 接口,同樣比起 mysql,postgresql 來講,它的處理速度比 它們都快。它無需安裝和管理配置,它是一個(gè)儲(chǔ)存在單一磁盤文件中的完整數(shù)據(jù)庫,體積 小只有 250kb 但支持?jǐn)?shù)據(jù)庫大小至 2tb。它雖然很小巧,但是支持的 sql 語句毫不遜色于 其它開源數(shù)據(jù)庫。同時(shí)它還支持事務(wù)功能和并發(fā)處理等等。sqlite

30、也是一套開放性的關(guān)聯(lián) 式資料庫,其特點(diǎn)在于輕量性方面的設(shè)計(jì)結(jié)構(gòu),更適合在手機(jī)上使用。 (6)多媒體的支持能力:主要用于播放媒體文件。這同時(shí)包括對(duì)音頻(如播放 mp3 或其他 音樂文件等)和視頻(如播放從網(wǎng)上下載的視頻)的支持,并支持“播放 uri 地址” (note:uri 即是統(tǒng)一資源識(shí)別地址)模式在網(wǎng)絡(luò)上直接播放的流媒體。另外支持各種通用 的靜態(tài)圖像格式,例如:jpg、png、gif 等格式。 (7)gsm 技術(shù):global system for mobile communications,即全球移動(dòng)通訊系統(tǒng),俗 稱”全球通” ,是一種起源于歐洲的移動(dòng)通信技術(shù)標(biāo)準(zhǔn),是第二代移動(dòng)通信技術(shù),

31、其開發(fā)目 的是讓全球各地可以共同使用一個(gè)移動(dòng)電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。 gsm 技術(shù)是屬于手機(jī)硬件方面的展現(xiàn),也是在開發(fā) android 應(yīng)用程序時(shí)可以突出的特點(diǎn)之 一。 (8)藍(lán)牙、edge、3g 及 wi-fi:藍(lán)牙是一種新型、開放、低成本、短距離的無線連接技 術(shù),可取代短距離的電纜,實(shí)現(xiàn)話音和數(shù)據(jù)的無線傳輸。edge(enhanced data rate for gsm,evolution),即增強(qiáng)型數(shù)據(jù)速率 gsm 演進(jìn)技術(shù)。edge 是一種從 gsm 到 3g 的過渡技術(shù), 它主要是在 gsm 系統(tǒng)中采用了一種新的調(diào)制方法,即最先進(jìn)的多時(shí)隙操作和 spsk 調(diào)制技

32、術(shù)。 由于 8psk 可將現(xiàn)有 gsm 網(wǎng)絡(luò)采用的 gmsk 調(diào)制技術(shù)的信號(hào)空間從 2 擴(kuò)展到 8,從而使每個(gè) 符號(hào)所包含的信息是原來的 4 倍。wi-fi(wirelessfidelity),即無線保真技術(shù),與藍(lán)牙技 7 術(shù)一樣,同屬于在辦公室和家庭中使用的短距離無線技術(shù)。該技術(shù)使用的是 2.4ghz 附近的 頻段,該頻段目前尚屬?zèng)]用許可的無線頻段。其目前可使用的標(biāo)準(zhǔn)有兩個(gè),分別是 ieee802.lla 和 ieee802.11b。這些通訊能力也是屬于手機(jī)硬件方面的展現(xiàn),也是在開發(fā) android 應(yīng)用程序時(shí)可以突出的特點(diǎn)之一。 (9)gps: global positioning sys

33、tem,即全球定位系統(tǒng),它是一個(gè)由覆蓋全球的 24 顆衛(wèi)星組成的衛(wèi)星系統(tǒng)。這個(gè)系統(tǒng)可以保證在任意時(shí)刻和任何地點(diǎn)都可以同時(shí)觀測(cè)到 4 顆 衛(wèi)星,以保證衛(wèi)星可以采集到該觀測(cè)點(diǎn)的經(jīng)緯度和高度,以便實(shí)現(xiàn)導(dǎo)航、定位、授時(shí)等功 能。這項(xiàng)技術(shù)可以用來引導(dǎo)飛機(jī)、船舶、車輛以及個(gè)人。這個(gè)同樣也是屬于手機(jī)硬體方面 的體現(xiàn),也是在開發(fā) android 應(yīng)用程序是可以突出的特點(diǎn)之一13。 2.3 android 系統(tǒng)的特點(diǎn) android 系統(tǒng)具有如下 5 個(gè)特點(diǎn): 1.開放性。google 與開放手機(jī)聯(lián)盟合作開發(fā)了 android,google 通過與運(yùn)營商、 設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)

34、系,希望通過建立標(biāo)準(zhǔn)化、 開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng)。 2.應(yīng)用程序無界限。android 上的應(yīng)用程序可以通過標(biāo)準(zhǔn) api(application programming interface,應(yīng)用程序編程接口)訪問核心移動(dòng)設(shè)備功能。通過互聯(lián)網(wǎng), 應(yīng)用程序可以聲明它們的功能可供其他應(yīng)用程序使用。 3.應(yīng)用程序是在平等的條件下創(chuàng)建的。移動(dòng)設(shè)備上的應(yīng)用程序可以被替換或擴(kuò)展, 即使是撥號(hào)程序或主屏幕這樣的核心組件。 4.應(yīng)用程序可以輕松地嵌入網(wǎng)絡(luò)。應(yīng)用程序可以輕松地嵌入 html、javascript 和 樣式表,還可以通過 webview 顯示網(wǎng)絡(luò)內(nèi)容。 5.應(yīng)

35、用程序可以并行運(yùn)行。 android 是一種完整的多任務(wù)環(huán)境,應(yīng)用程序可以在其 中并行運(yùn)行。在后臺(tái)運(yùn)行時(shí),應(yīng)用程序可以生成通知以引動(dòng)注意 14。 每個(gè) android 應(yīng)用程序都存在于它自己的世界之中:默認(rèn)情況下,每個(gè)應(yīng)用程序均 運(yùn)行于它自己的 linux 進(jìn)程中。當(dāng)應(yīng)用程序中的任意代碼開始執(zhí)行時(shí), android 啟動(dòng)一 個(gè)進(jìn)程,而當(dāng)不再需要此進(jìn)程而其它應(yīng)用程序又需要系統(tǒng)資源時(shí),則關(guān)閉這個(gè)進(jìn)程。 每個(gè)進(jìn)程都運(yùn)行于自己的 java 虛擬機(jī)(vm)中。所以應(yīng)用程序代碼實(shí)際上與其它應(yīng)用 程序的代碼是隔絕的。 默認(rèn)情況下,每個(gè)應(yīng)用程序均被賦予一個(gè)唯一的 linux 用戶 id,并加以權(quán)限設(shè)置,使得應(yīng)

36、用程序的文件僅對(duì)這個(gè)用戶、這個(gè)應(yīng)用程序可見。當(dāng)然, 8 也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問。 使兩個(gè)應(yīng)用程序共有同一個(gè)用戶 id 是可行的,這種情況下他們可以看到彼此的文 件。從系統(tǒng)資源維護(hù)的角度來看,擁有同一個(gè) id 的應(yīng)用程序也將在運(yùn)行時(shí)使用同一個(gè) linux 進(jìn)程,以及同一個(gè)虛擬機(jī) 15。 2.4 android 的體系結(jié)構(gòu) android平臺(tái)是一組面向移動(dòng)設(shè)備的軟件包,它包含了一個(gè)操作系統(tǒng)、中間件和關(guān)鍵應(yīng) 用程序。開發(fā)人員可以使用android sdk(軟件開發(fā)工具包)為這個(gè)平臺(tái)創(chuàng)造應(yīng)用程序。應(yīng)用 程序使用java語言編寫并在dalvik之內(nèi)運(yùn)行。dalvik是一款量

37、身定制的虛擬機(jī),它專為嵌 入式應(yīng)用設(shè)計(jì),運(yùn)行在linux內(nèi)核上層16。 (1)android架構(gòu) 如下圖 2.1 顯示了 android 操作系統(tǒng)的主要組件。 圖 2.1 android 操作系統(tǒng)的主要組件 (2)linux 內(nèi)核 android依賴linux 2.6版,提供核心系統(tǒng)服務(wù):安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)組、 驅(qū)動(dòng)模型。內(nèi)核部分還相當(dāng)于一個(gè)介于硬件層和系統(tǒng)中其他軟件組之間的一個(gè)抽象層次。 9 (3)應(yīng)用框架 android的核心應(yīng)用程序就是依賴框架層次api開發(fā)的,程序員們可以充分使用這些 api。應(yīng)用架構(gòu)設(shè)計(jì)的初衷是:簡化組件復(fù)用機(jī)制;任何應(yīng)用都能發(fā)布自己的功能,這些功 能又可

38、以被任何其他應(yīng)用使用(當(dāng)然要受來自框架的強(qiáng)制安全規(guī)范的約束) 。和復(fù)用機(jī)制相 同,框架允許組件的更換17。 (4)c/c+庫 android包含一套c/c+庫,android系統(tǒng)的各式組件都在使用。這些功能通過android 應(yīng)用框架暴露給開發(fā)人員。android的核心類庫提供java類庫所提供的絕大部分功能。每個(gè) android應(yīng)用都運(yùn)行在自己的進(jìn)程上,享有dalvik虛擬機(jī)為它分配的專有實(shí)例。為了支持多 個(gè)虛擬機(jī)在同一個(gè)設(shè)備上高效運(yùn)行,dalvik被改寫過。 dalvik虛擬機(jī)執(zhí)行的是dalvik格式 的可執(zhí)行文件(.dex)該格式經(jīng)過優(yōu)化,以降低內(nèi)存耗用到最低。java編譯器將java源

39、文 件轉(zhuǎn)為class文件,class文件又被內(nèi)置的dx工具轉(zhuǎn)化為dex格式文件,這種文件在dalvik虛 擬機(jī)上注冊(cè)并運(yùn)行。在一些底層功能比如線程和低內(nèi)存管理方面,dalvik虛擬機(jī)是依 賴linux內(nèi)核的。 (5) 應(yīng)用的構(gòu)成 對(duì)于一個(gè) android 應(yīng)用程序來說,是由 activity、intentreceiver、service、content provider 四部分組成,但并不是每一個(gè) android 應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時(shí),需要在配置文件 androidmanifest.xml 中進(jìn)行配置。這個(gè)配置文件是每個(gè) android 應(yīng)用程序所必需的,用 于定義

40、應(yīng)用程序的組件、組件的功能以及必要條件等18。android 應(yīng)用的構(gòu)成和工作流程 如圖 2-2: 10 internet receiver activity 外部事件 internet 通過 internet receiver 對(duì)外部事件進(jìn)行響應(yīng) content provider activity 存儲(chǔ)設(shè)備 通過 internet 實(shí)現(xiàn) 活動(dòng)之間的轉(zhuǎn)換 通過 content provider 進(jìn)行數(shù)據(jù)存儲(chǔ) service binder 通過 binder 對(duì) service 進(jìn)行綁定 圖 2-2 android 的構(gòu)成 3 android開發(fā)環(huán)境 eclipse 是替代 ibm visual

41、 age for java 的下一代 ide 開發(fā)環(huán)境,但它未來的目標(biāo) 不僅僅是成為專門開發(fā) java 程序的 ide 環(huán)境,根據(jù) eclipse 的體系結(jié)構(gòu),通過開發(fā)插件, 它能擴(kuò)展到任何語言的開發(fā),甚至能成為圖片繪制的工具。目前,eclipse 可以提供 c 語 言開發(fā)的功能插件。更可貴的是,eclipse 是一個(gè)開放源代碼的項(xiàng)目,任何人都可以下載 eclipse 的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。也就是說未來只要有人需要, 就會(huì)有建立在 eclipse 之上的 cobol,perl,python 等語言的開發(fā)插件出現(xiàn)。同時(shí)可以通 過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如再現(xiàn)有 j

42、ava 開發(fā)環(huán)境中加入 tomcat 服務(wù)插件。 可以無限擴(kuò)展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是 eclipse 的潛力所 在19。 3.1 操作系統(tǒng)及所需軟件 編寫android的應(yīng)用程序,需要一套個(gè)人電腦系統(tǒng)。至于操作系統(tǒng)的部份,幾個(gè)主流操 作系統(tǒng)都有支持。支持的操作系統(tǒng)如下:windows xp 、vista或windows 7。 在開始搭建 android 的開發(fā)環(huán)境之前,需要準(zhǔn)備的軟件包如下: 11 (1)jdk6 (jdk-6u21-windows-i586.exe) (2)eclipse(eclipse-java-galileo-sr2-win32.zip) (3

43、)android sdk 1.6(android-sdk-windows-1.6_r1.zip) (4)android sdk setup(android-sdk_r06-windows.zip) (5)adt 0.9.7(adt-0.9.7.zip) 3.2 android 開發(fā)環(huán)境及變量配置 eclipse 設(shè)計(jì)的美妙之處,在于所有東西都是外掛,除了底層的核心以外。這種外掛 設(shè)計(jì)讓 eclipse 具備強(qiáng)大擴(kuò)充性,但更重要的是,此平臺(tái)提供一個(gè)定義明確的機(jī)制,讓各 種外掛程序共通合作(透過延伸點(diǎn) extension points)與貢獻(xiàn)(contributions),因此 新功能可以輕易且無

44、縫地加入平臺(tái)20。 3.2.1 安裝配置 jdk6 下載后安裝是下的解壓包那就解壓到某目錄,例如解壓到是 c:javajdk1.6.0_20; 右鍵點(diǎn)擊我的電腦 - 屬性 - 高級(jí),點(diǎn)擊下面的環(huán)境變量,在下面的“系統(tǒng)變量”處選 擇新建在變量名處輸入 java_home 變量值中輸入剛才的目錄,比如我的是在目錄 c:javajdk1.6.0_20 下;效果如圖 3-1 所示: 12 圖 3-1 進(jìn)入環(huán)境變量 確定后再新建一個(gè)變量名為 classpath,變量值為 %java_home%/lib/rt.jar;%java_home%/lib/tools.jar , 確定后找到 path 的變量,雙

45、擊 或點(diǎn)擊編輯,在變量值最前面加上%java_home%/tools; 注意里面的是,確定、確定、確定 后即可。具體如下圖 3-2 所示: 13 圖 3-2 環(huán)境變量的設(shè)置 接著在 “開始-運(yùn)行” ,輸入cmd,然后在命令行提示符中輸入:java -version,如 果能夠看到j(luò)ava version “1.6.0_20信息;就表示jdk安裝成功。 3.2.2 安裝配置sdk 將下載 android-sdk-windows-1.6_r1.zip 解壓縮到 c:android-sdk-windows-1.6_r1 目錄中。新建一個(gè)“系統(tǒng)變量” ,在“變量名”中填 android_home,在“

46、變量值”加填 c:android-sdk-windows-1.6_r1。 “編輯”path 變量,在“變量值”后面加上; %android_home%tools。這樣,android sdk 1.6 就安裝好了。 “開始-運(yùn)行” ,輸入 cmd, 然后在命令行提示符中輸入:android -help,應(yīng)該能夠看到幫助信息;android sdk 1.6 安裝成功。 3.3 eclipse 的設(shè)置 將下載到的 eclipse 解壓縮到 c:eclipse,然后進(jìn)入這個(gè)文件夾,雙擊 eclipse.exe,啟動(dòng) eclipse。關(guān)聯(lián) adnroid sdk:菜單“windows-preferenc

47、es” ,打開 preferences 對(duì)話框,點(diǎn)擊 android,在右側(cè)的 android reference 中,點(diǎn) sdk location 文本框右側(cè)的 browse按鈕,找到 c:android-sdk-windows-1.6_r1, “確定” 。安裝 adt:菜單“help - install new software” ,打開 install 對(duì)話框,點(diǎn)擊 add按鈕, 14 添加站點(diǎn)(add site) ,在 name 中填 adt,在 location 中填 https:/dl- adt。第四步,解壓 android sdk setup,下載更新 android sdk 2

48、.0 和 2.1 將下載到的 android-sdk_r04-windows.zip 解壓 縮到 c:android-sdk-windows,然后進(jìn)入這個(gè)文件夾,雙擊 sdk setup.exe,啟動(dòng) android sdk and avd manager,選中左側(cè) settings 項(xiàng),然后在右側(cè)面板選中 force https:/ sources to be fetched using http:/,然后選擇 save /將該棋子設(shè)為選中的棋子 focus = true;/標(biāo)記當(dāng)前有選中的棋子 starti = i; startj = j; else/之前選中過棋子 if(qiziij !

49、= 0)/點(diǎn)擊的位置有棋子 if(qiziij 7)/如果是自己的棋子. selectqizi = qiziij;/將該棋子設(shè)為選中的棋子 starti = i; startj = j; else/如果是對(duì)方的棋子 endi = i; 23 endj = j;/保存該點(diǎn) boolean canmove = guize.canmove(qizi, starti, startj, endi, endj); if(canmove)/如果可以移動(dòng)過去 caipan = false;/不讓玩家走了 if(qiziendiendj = 1 | qiziendiendj = 8)/如果是“帥”或“將” th

50、is.success();/勝利了 else if(activity.issound) go.start();/播放下棋聲音 qiziendiendj = qizistartistartj;/ 移動(dòng)棋子 qizistartistartj = 0;/將原來處設(shè)空 starti = -1; startj = -1; endi = -1; endj = -1;/還原保存點(diǎn) focus = false;/標(biāo)記當(dāng)前沒有選中棋子 chessmove cm = guize.searchagoodmove(qizi);/根據(jù)當(dāng)前局勢(shì)查詢一個(gè)最好的走 法 if(activity.issound) go.star

51、t();/播放下棋聲音 qizicm.toxcm.toy = qizicm.fromxcm.fromy;/移動(dòng)棋子 qizicm.fromxcm.fromy = 0; caipan = true;/恢復(fù)玩家響應(yīng) /end點(diǎn)擊的位置有棋子 else/如果點(diǎn)擊的位置沒有棋子 endi = i; endj = j; boolean canmove = guize.canmove(qizi, starti, startj, endi, endj);/查看是否可走 if(canmove)/如果可以移動(dòng) caipan = false;/不讓玩家走了 if(activity.issound) go.star

52、t();/播放下棋聲音 24 qiziendiendj = qizistartistartj;/移動(dòng)棋子 qizistartistartj = 0;/將原來處置空 starti = -1; startj = -1; endi = -1; endj = -1;/還原保存點(diǎn) focus = false;/標(biāo)志位設(shè)false chessmove cm = guize.searchagoodmove(qizi);/得到一步走法 if(qizicm.toxcm.toy = 8)/電腦吃了您的將 status = 2;/切換游戲狀態(tài)為失敗 if(activity.issound)/需要播放聲音時(shí) go.s

53、tart();/播放下棋聲音 qizicm.toxcm.toy = qizicm.fromxcm.fromy;/移動(dòng)棋子 qizicm.fromxcm.fromy = 0; caipan = true;/恢復(fù)玩家響應(yīng) /end 之前選中過棋子 /end點(diǎn)擊的位置在棋盤內(nèi)時(shí) /end游戲中時(shí) return super.ontouchevent(event); guize 類是對(duì)這些規(guī)則進(jìn)行封裝,當(dāng)玩家要走某步棋的時(shí)候需要通過該類判斷是否可 走。 該類是象棋的規(guī)則類,其他類通過調(diào)用 canmove 方法給出起始位置與結(jié)束置,其他類 通過調(diào)用 searchagoodmove 方法得到最當(dāng)然棋局最好的

54、走法,而其中的 allpossiblemoves 方法得到的是當(dāng)前棋局的所有的走法。 游戲的策劃是游戲開發(fā)過和中的最重要的一個(gè)開發(fā)環(huán)節(jié),只有寫好了游戲策劃才能繼 續(xù)游戲開發(fā),游戲策劃是游戲開發(fā)的一個(gè)流程,把策劃寫好了就可以近照策劃一步步進(jìn)行 開發(fā),可見策劃的重要性。到此本游戲的功能已經(jīng)基本開發(fā)完成,但是仍有很多方面需要 改進(jìn)和優(yōu)化。 5.3 棋子走法流程圖 25 圖 5-4 棋盤位置流程圖 如圖 5-4 是棋盤形狀圖,通過經(jīng) x,y 軸坐標(biāo)的判斷棋盤的大小,棋盤的落子位置先畫 出棋盤橫線,再計(jì)算棋盤的豎線,橫線和豎線交叉的位置就是棋子的落點(diǎn)。這樣整個(gè)棋盤 形狀大小就出來了。棋盤的位置就是通過這

55、種坐標(biāo)實(shí)現(xiàn)的。游戲開始時(shí)各個(gè)棋子(車、馬、 炮、象、士,將、帥、兵、卒)它們的開始的位置都確定了,通過坐標(biāo),機(jī)器可以準(zhǔn)確的 將棋子移到指定的位置,人機(jī)對(duì)弈時(shí),人點(diǎn)擊棋子進(jìn)行移動(dòng)時(shí),機(jī)器通過坐標(biāo)計(jì)算同時(shí)進(jìn) 行移動(dòng)到人指定的位置,通過坐標(biāo)可以計(jì)算出棋盤每個(gè)落子點(diǎn)的位置,再根據(jù)規(guī)則類計(jì)算 棋子落點(diǎn)是否符合象棋規(guī)則,如果不符合,就不能進(jìn)行移動(dòng),還要注意特別的捌腿事件。 符合象棋走法規(guī)則也不一定能下,還要注意象、馬捌腿,象心等關(guān)鍵地方。沒有違反這些 規(guī)則才能下到指定的地點(diǎn)。 26 圖 5-5 棋子移動(dòng)流程圖 如圖 5-5 為人行走時(shí)棋子移動(dòng)流程圖,本游戲?yàn)槿藱C(jī)對(duì)弈的象棋游戲,本圖是人走的 流程圖,人行走

56、是用鼠鍵點(diǎn)擊的方式,先用鼠標(biāo)點(diǎn)擊要走的棋子獲取棋子對(duì)象,按下鼠標(biāo) 拖到終點(diǎn)位置,由機(jī)器檢測(cè)通坐標(biāo)確定終點(diǎn)位置,再把棋子由起點(diǎn)位置移動(dòng)到終點(diǎn)位置。 下一步由機(jī)器行走。 27 圖 5-6 獲取棋子流程圖 如圖 5-6 是人或者機(jī)器移動(dòng)棋子時(shí),獲取棋子對(duì)象,使棋盤釋放棋子對(duì)象,再將釋放 傳給棋盤,釋放響應(yīng)事件。 圖 5-7 規(guī)則流程圖 如圖 5-7 是象棋規(guī)則圖, ,第一步檢查覆蓋區(qū)域是否包含棋點(diǎn),沒有放回原處,如果有 再判斷該點(diǎn)上否有棋子,如果沒有棋子并且符合象棋規(guī)則就放在棋點(diǎn)上,不符合規(guī)則放回 原點(diǎn),如果該棋點(diǎn)有棋子的話,再判斷兩棋子是否同一方,是同一方,該棋子放回原處, 如果不同,符合規(guī)則就放

57、到棋點(diǎn)上并吃掉對(duì)方的棋子,如果不符合規(guī)則放回原處。 5.4 游戲模擬運(yùn)行 如圖 5-8 運(yùn)行程序進(jìn)入開機(jī)動(dòng)畫界面,也就是游戲歡迎頁面左上角是國際象棋的標(biāo)志, 右邊是“中國象棋之博弈的藝術(shù)” ,還有兩張圖片和一個(gè)菜單按紐,點(diǎn)擊菜單進(jìn)入菜單欄。 這是一個(gè)登陸界面,介紹這是一個(gè)象棋游戲,便讓人知道這是一個(gè)象棋游戲,挑戰(zhàn)自己, 集中你的智慧,來享受博弈的樂趣,會(huì)勾起人們想下棋的欲望,被象棋游戲吸引,而且可 以單人下,在火車上休閑時(shí)都可以,特別一個(gè)人也可以下,避免傳統(tǒng)象棋游戲非要兩個(gè)人 下的弊端??梢宰屓嗽谌魏螘r(shí)間任何地點(diǎn)都可以下棋放松、休閑。 28 圖 5-8 開機(jī)動(dòng)畫界面 如圖 5-9 菜單頁面如圖

58、所示有四個(gè)按鈕開始游戲、關(guān)閉聲音、幫助、退出游戲點(diǎn)擊開 始游戲會(huì)進(jìn)入游戲主界面,就可以實(shí)現(xiàn)人機(jī)對(duì)弈了。關(guān)閉聲音是控制聲音的播放,由關(guān)閉 聲音可以切換到開機(jī)音樂,點(diǎn)擊幫助按鈕可以進(jìn)入幫助頁面,退出游戲按鈕就是退出游戲。 圖 5-9 菜單頁面 如圖 5-10 是開始游戲界面,就可以開始人機(jī)對(duì)弈了,黑方是機(jī)器一方,紅方是自己 這一方,用鼠標(biāo)點(diǎn)擊方式進(jìn)下棋,然后電腦自己反應(yīng)走下一步。左下角和右下角有一個(gè)指 針,當(dāng)指向黑方走時(shí),機(jī)器走一步棋,當(dāng)指向紅方的時(shí)候,人走一步棋。還有左右下角分 別記錄了黑方紅方總共下棋的時(shí)間,聲音按鈕控制聲音的播放,退出按鈕退出游戲 。 29 圖 5-10 游戲界面 如圖 5-

59、11 是游戲勝利界面,顯示的是紅方勝利界面,黑方勝利界面同樣如此,只不過 將紅將改為黑帥。 圖 5-44 勝利界面 幫助頁面介紹玩法如圖 5-12: 30 圖 5-12 幫助界面 幫助界面如圖所示,介紹中國象棋游戲的玩法,還有一過“返回”按鈕,點(diǎn)擊它返回 菜單頁面。 5.5 改進(jìn)和優(yōu)化 陣營選擇:一種更人性化的設(shè)計(jì)是正式進(jìn)入游戲之前,讓玩家選擇此次游戲陣營的選 擇,即選擇紅方或者黑方棋子。 成績的儲(chǔ)存與排行:該游戲中如果能夠加上游戲的排行與儲(chǔ)存將更人性化。 估值算法的優(yōu)化: 因?yàn)楸居螒騻?cè)重點(diǎn)是 android 技術(shù)的開發(fā)應(yīng)用并非算法的介紹,所 以規(guī)則中的最優(yōu)走法的方法只是從所有合法的走法中任意

60、抽取的一個(gè)移動(dòng)棋子,在正式的 人機(jī)對(duì)弈中需要對(duì)所有的走法進(jìn)行估值計(jì)算,取出對(duì)自己最有利的走法,可以對(duì)自行開發(fā) 估計(jì)算法中的規(guī)則類的 searchagoodmove 方法進(jìn)行改進(jìn)。 作為結(jié)合了最具活力的 linux 一與 java 兩大開發(fā)語言優(yōu)點(diǎn)于一身的 android,雖然中 長期擁有光明的前景,但短期內(nèi)依然存在諸多開發(fā)的挑戰(zhàn),特別是與傳統(tǒng)的 linux 與 java 開發(fā)的兼容性還很欠缺,并且在程序安全性和多任務(wù)處理方面還存在不足,這對(duì)從業(yè)者來 說需要引起足夠的重視,力爭先評(píng)估自己的開發(fā)應(yīng)用需求,再衡量 android 的優(yōu)勢(shì)和不足, 然后根據(jù)自己的實(shí)際需要揚(yáng)長避短。 不管如何,andro

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論