【正文】
(設(shè)計(jì))的全部或部分內(nèi)容。據(jù)我所知, 除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計(jì))不包含其他個(gè)人已經(jīng)發(fā)表或撰寫過的研究成果。 ***年度本科生畢業(yè)論文(設(shè)計(jì)) 基于 J2ME 的手機(jī)五子棋游戲開發(fā) 院 - 系: 工學(xué)院 計(jì)科系 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 年 級: ***級 學(xué)生姓名: *** 學(xué) 號: *** 導(dǎo)師及職稱: *** ***年 *月 *** Annual Graduation Thesis (Project) of the College Undergraduate Development of Mobile FiveInaRow Game on J2ME Department: Computer Science amp。對本論文(設(shè)計(jì))的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確說明并表示謝意。保密的論文(設(shè)計(jì))在解密后適用本規(guī)定。設(shè)計(jì)采用的是遍歷棋盤、分析獲勝棋型或者計(jì)算各點(diǎn)得分的方法,針對幾個(gè)能夠取得勝利的前奏棋型來進(jìn)行判斷,最終得出落點(diǎn)。 游戲本身的娛樂性,游戲設(shè)計(jì)上的可讀性和游戲操作上的簡單性是本游戲設(shè)計(jì)的特點(diǎn)。 Mobile Game。 1 社會背景 2 開發(fā)的目的 3 手機(jī)五子棋游戲開發(fā) 的現(xiàn)狀 7 游戲主類基本功能分析 9 事件驅(qū)動設(shè)計(jì) 10 游戲流程設(shè)計(jì) 12 設(shè)計(jì)獲勝棋型 14 鍵盤事件處理 20 先手選擇 27 修改棋子位置 27 對戰(zhàn)邏輯類的實(shí)現(xiàn) 30 落子和悔棋 55 新開局和軟件布局 62 游戲自適應(yīng)和可移植性設(shè)計(jì)及實(shí)現(xiàn) 70 改進(jìn)優(yōu)化 72 參考文獻(xiàn) 作為移動設(shè)備開發(fā)技術(shù)的J2ME(Java 2 Micro Edition), 因其 具有 “ Write Once, run anywhere”的 Java特性而 越來越受重視。所以, PC 游戲帶動個(gè)人 計(jì)算機(jī) 的熱買,網(wǎng)絡(luò)游戲可以說拯救了中國的互聯(lián)網(wǎng)產(chǎn)業(yè),手機(jī)游戲?qū)⒁乱粓鲆苿踊ヂ?lián)網(wǎng)的商戰(zhàn)。這 使得那些喜愛下棋,又常常苦于沒有對手的棋迷們能隨時(shí)過足棋癮。 現(xiàn)代五子棋日文稱之為“連珠”,英譯為“ Renju” ,英文稱之為“ Gobang” 或“ FIR”(Five in a Row 的縮寫 ),亦有“連五子”、“五子連”、“串珠”、“五目”、“五目碰”、“五格”等多種稱謂。五子棋起源于古代中國,發(fā)展于日本,風(fēng)靡于歐洲。目前大部分手機(jī)廠商所推出的手機(jī)都支持Java 語言的應(yīng)用,而目前市場消費(fèi)者的手機(jī)都能夠支持 Java 應(yīng)用。但是它已經(jīng)大幅度改善了手機(jī)支持游戲的能力。例如日本,自從 2020 年推出 Java 游戲下載服務(wù)以來,一年內(nèi)就買了 1200 萬只 Java 手機(jī),占手機(jī)總銷售量的 22%。 而 我選擇設(shè)計(jì)這個(gè)基于 J2ME 的手機(jī)五子棋游戲開發(fā)的題目, 主要目的有: ( 1) 通過這個(gè)游戲的設(shè)計(jì)以達(dá)到對 Java 語言的進(jìn)一步掌握; ****本科畢業(yè)論文 (設(shè)計(jì) ) 3 ( 2) 對 J2ME 這個(gè)開發(fā)環(huán)境的熟悉和了解; ( 3) 逐步的認(rèn)識開發(fā)手機(jī)游戲的技術(shù) 要領(lǐng)和流程步驟 ; ( 4)制作出一款在功能和性能上相對平衡的單機(jī)版手機(jī)五子棋游戲,以彌補(bǔ)當(dāng)前市場上的手機(jī)五子棋游戲的不足。 手機(jī)五子棋游戲開發(fā)的現(xiàn)狀 在棋類游戲被搬上手機(jī)屏幕之初,五子棋便排列到了第一批次。即同一個(gè)游戲中既支持網(wǎng)絡(luò)對戰(zhàn),又支持單 機(jī)游戲。 ( 4)界面友好。 研究方法 對網(wǎng)絡(luò)上關(guān)于手機(jī)游戲、五子棋游戲的各種信息和資料進(jìn)行搜索后,采用對比分析法和統(tǒng)計(jì)法擬定此游戲軟件的具體設(shè)計(jì)方向和設(shè)計(jì)原則,再通過軟件項(xiàng)第一章 緒論 4 目管理的方法對游戲?qū)嵤╅_發(fā),并應(yīng)用面向?qū)ο蠓椒▽W(xué)進(jìn)行具體的設(shè)計(jì)和開發(fā),最后,將游戲進(jìn)行模擬測試和實(shí)際的手機(jī)平臺測試。這些規(guī)范定義了 Java 技術(shù)在資源限制的設(shè)備中的表現(xiàn)形式,而且新規(guī)范在不斷制定當(dāng)中,并且這些規(guī)范的制定時(shí)完全向公眾開放的。沒種組合都應(yīng)該使這一系列設(shè)備的內(nèi)存、處理器和 I/O 能力達(dá)到最優(yōu)化。本游戲的開是使用 UltraEdit 編輯器進(jìn)行代碼編輯的。 現(xiàn)代社會有這樣一種現(xiàn)象,就是有了需求就一定會產(chǎn)生供給,更何況是虛擬游戲這類需求量不斷增大的市場。 J2ME 開發(fā)平臺的全稱是 Java 2 Platform Micro Edition,即 Java 2 平臺微型版,它是 Java 技術(shù)的組成部分。 也可以這樣說, Java 語言是一種簡化了的 C++語言。并獨(dú)立完成一款膾炙人口 的游戲。 此外, 有些 手機(jī)游戲的開發(fā)周期只要短短的幾天就可以。這種通信將不同以往,會使得游戲流通更加的便利,同時(shí)選擇游戲種類也可以直接從手機(jī)上瀏覽獲得。它的作用在所有界面之間起到調(diào)度的功能,那么,就應(yīng)該包含退出、開局、游戲設(shè)置、幫助、關(guān)于等命令。 游戲邏輯類基本功能分析 GobangLogic 類是游戲的核心類, 屬于游戲的邏輯層,主要作用是在游戲中對游戲進(jìn)行控制,對棋局進(jìn)行檢查,調(diào)度畫布類和棋子類與玩家進(jìn)行對戰(zhàn)。 游戲幫助類和關(guān)于類基本功能分析 幫助類 Help 和關(guān)于類 About 的主要作用的傳遞游戲的信息給玩家,為玩家提供簡單的信息幫助。通常情況下,一款運(yùn)用起來比較熟練地 J2ME 開發(fā)工具是必不可少的。本游戲需要幾張后綴名為 .png 格式的卡通圖,除了一張用作五子棋游戲的 Logo外,其余的都將在游戲中使用。 事件驅(qū)動大大減少了不必要的工作量,只有玩家發(fā)出消息時(shí),計(jì)算機(jī)才啟動運(yùn)算,而在玩家思考期間,計(jì)算機(jī)不做任何運(yùn)算和重繪操作。 圖 33 類間關(guān)系圖 游戲 流程 設(shè)計(jì) 游戲流程的設(shè)計(jì)依據(jù)主要是游戲的界面設(shè)計(jì)和游戲的類的設(shè)計(jì)。 M I D l e tD o tG o b a n g L o g i cG o b a n g C a n v a sC a n v a sS e t t i n gA b o u tG o b a n g M I D l e t棋子邏輯畫布關(guān) 于 表 單設(shè) 置 表 單調(diào) 用調(diào)用調(diào)用調(diào)用調(diào)用繼 承 繼 承( 父 類 ) ( 父 類 )( 子 類 ) ( 子 類 )H e l p幫 助 表 單調(diào)用 第三章 游戲設(shè)計(jì) 12 玩家進(jìn)入游戲?qū)?zhàn)畫布,對戰(zhàn)中畫布有兩個(gè)軟鍵,當(dāng)玩家按下“返回”軟鍵時(shí),則退出游戲到達(dá)游戲主菜單;當(dāng)玩家按下“悔棋”軟鍵時(shí),則進(jìn)行悔棋操作;當(dāng)游戲結(jié)束時(shí),“悔棋”軟鍵被換成了“重玩”軟鍵。在這類游戲中,通常的策略類 AI程序都是使計(jì)算機(jī)根據(jù)目前狀況計(jì)算所有可走的棋與可能的獲勝狀況,并計(jì)算當(dāng)前計(jì)算機(jī)可走棋步的獲勝分?jǐn)?shù)或者玩家可走棋步的獲勝分?jǐn)?shù),然后在決定出一個(gè)最佳走法。 ( 3)計(jì)算正對角線方向的獲勝組合總數(shù),正對角線上的獲勝組合總數(shù)為 11+( 10+9+8+7+6+5+4+3+2+1) *2=121。 然而在現(xiàn)實(shí)中,高手留給我們的經(jīng)驗(yàn)就是把握前奏,如“沖四”、“活三”,除了“連五”以外,這些也是通 向勝利的捷徑。進(jìn)攻是取勝的手段,是防守的延續(xù)和發(fā)展。而這缺一不可。 GobangMIDlet 類的 UML 圖如圖 41 所示。 //游戲畫布 private Setting setting。 //顯示 private Form form。 //游戲開局軟件 private Command CMD_SETTING。 form = new Form(null)。 CMD_EXIT = new Command(退出游戲 , 7, 1)。 CMD_HELP = new Command(游戲幫助 ,5, 4)。 //添加關(guān)于軟件到主表單 (CMD_HELP)。 //創(chuàng)建畫布 setting = new Setting(this)。此方法的代碼如下: public void mandAction(Command c, Displayable s) //響應(yīng)鍵盤事件 { if(c == CMD_EXIT) //退出程序 { destroyApp(false)。 ()。 } 改變程序狀態(tài) GobangMIDlet 類提供了很多方法來改變當(dāng)前狀態(tài),如開始、停止、退出、返回等。 Help 類和 About 類的 UML 圖如圖 4 43所示。 import 。 //確認(rèn)軟件 public Help(GobangMIDlet m) { midlet = m。通過一系列的規(guī)則變化使連珠五子棋這一簡單的游戲復(fù)雜化、規(guī)范化,而最終成為今天的職業(yè)連珠五子棋, +同時(shí)也成為一種國際比賽棋。 +從兩條端線和兩條邊線向正中發(fā)展而縱橫交叉在第四條線形成的四個(gè)點(diǎn)稱為“星”。 +縱橫軸上的橫縱線交叉點(diǎn)分別用橫縱線標(biāo)記的名稱合寫成。黑棋只能以“四、三”取勝; \n +〖 4〗如分不出勝負(fù),則到為平局; \n +〖 5〗五連與禁手同時(shí)形成,判勝; \n +〖 6〗黑方禁手形成時(shí),白方應(yīng)立即指出。 紅河學(xué)院本科畢業(yè)論文 (設(shè)計(jì) ) 19 (CMD_OK)。 } } 游戲的關(guān)于表單與游戲幫助表單類似,在此就不再類舉了。 圖 44 Setting 類的構(gòu)造函數(shù) 圖 J a v a . l a n gS t r i n gj a v a . l a n gO b j e c t D e f a u l t P a c k a g e G o b a n g M I D l e t+ C o m p u t e r F i r s t ( )+ M u s i c O n ( )+ c o m m a n d A c t i o n ( )+ g e t B o a r d S i z e ( )+ g e t F o r m ( )+ g e t l e v e l ( )+ i t e m S t a t e C h a n g e d ( ) l o a d S e t t i n g ( ) s a v e S e t t i n g ( ) C M D _ C A N C E L C M D _ O K C o m p u t e r F i r s t M u s i c O n b o a r d S i z e c h o i c e F i r s t c h o i c e M u s i c c h o i c e l e v e l f o r m g a u g e S i z e