【基于Android五子棋游戲的設(shè)計與實現(xiàn)(論文)7000字】_第1頁
【基于Android五子棋游戲的設(shè)計與實現(xiàn)(論文)7000字】_第2頁
【基于Android五子棋游戲的設(shè)計與實現(xiàn)(論文)7000字】_第3頁
【基于Android五子棋游戲的設(shè)計與實現(xiàn)(論文)7000字】_第4頁
【基于Android五子棋游戲的設(shè)計與實現(xiàn)(論文)7000字】_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE基于Android五子棋游戲的設(shè)計與實現(xiàn)目錄470第一章引言 7224861.1Android游戲 7303801.1.1Android游戲發(fā)展趨勢 788161.1.2開發(fā)Android游戲的意義 7176811.2課題背景 7206371.3我的主要工作 713868第二章項目概述與需求分析 824572.1項目概述 8227102.1.1項目開發(fā)目標 8186092.1.2項目開發(fā)意義 8222652.1.3開發(fā)工具 8122602.2需求分析 816832.2.1功能需求分析 8194652.2.2性能需求分析 827888第三章概要設(shè)計 10233493.1五子棋解釋 10120773.2五子棋的基本規(guī)則 10250583.3五子棋的相關(guān)術(shù)語 10210203.4數(shù)據(jù)流圖 104409第四章詳細設(shè)計 1271564.1用例圖 12288634.2類圖 1350034.3棋盤界面設(shè)計 15146294.3.1畫棋盤 1560754.3.2畫棋子 1691424.3.3結(jié)束提示語顯示 1674854.4核心實現(xiàn)代碼 1623090第五章運行測試 21248075.1程序測試 21326085.2測試方法和測試用例 22104975.3測試結(jié)論 22279185.4運行效果圖 223715參考文獻 264097致謝 27摘要:現(xiàn)在,隨著智能手機的的發(fā)展,以電腦技術(shù)與網(wǎng)絡(luò)技術(shù)為核心的游戲已經(jīng)在現(xiàn)實生活與生產(chǎn)中得到了廣泛的使用,手機游戲已經(jīng)成為多數(shù)人群的休閑方式,也是許多人所喜歡的。當然,為了滿足沒有網(wǎng)絡(luò)時也能玩游戲的要求,許多小游戲也做成了單機和聯(lián)機倆種模式。五子棋是一項休閑娛樂游戲,在大家間十分流行,為了掌握五子棋規(guī)則及技巧,以及學習簡單的人工智能,我決定用Java語言來開發(fā)一個五子棋游戲。首要實現(xiàn)2種對戰(zhàn)模式:人與電腦對戰(zhàn)和倆名玩家之間的對戰(zhàn),在人機對戰(zhàn)中通過深度搜索和估值模塊,來提高AI棋手的智能,算法的研究有助于理解程序結(jié)構(gòu),增強邏輯思維能力,在其他人工智能方面也有很大的參考作用。本程序中,開發(fā)軟件為eclipse,用Java開語言進行開發(fā)五子棋游戲。關(guān)鍵詞:Android游戲五子棋第一章引言1.1Android游戲手機游戲,運行在智能手機的游戲深受玩家的喜好。此刻,Android游戲可以在智能手機運行,也可以在平板電腦上運行。1.1.1Android游戲發(fā)展趨勢將漸漸走向?qū)I(yè)化和多樣化的方向,而各平臺對opengl的撐持力度使得開辟龐大的3d游戲成為可能,表明更多的芯片支持Android,硬件性能將不再成為開發(fā)專業(yè)化游戲的瓶頸,使得游戲規(guī)劃更加專業(yè)化。在無線網(wǎng)絡(luò)、wifi網(wǎng)絡(luò)、藍牙網(wǎng)絡(luò)等多種平臺的良好支持下,游戲?qū)?chuàng)造更好的游戲玩法和用戶體驗,多人在線游戲、多玩家在線游戲等將強化玩家參與游戲的積極性,更簡單的形成獲取利潤模式。通過控制設(shè)備,玩家之間的互動需求將加快游戲未來的發(fā)展。1.1.2開發(fā)Android游戲的意義伴隨著Android游戲的迅速發(fā)展,Android游戲的迅速發(fā)展是不可避免的,因此Android非常受歡迎。有供給需求,游戲開發(fā)者在開源的android平臺上充分發(fā)揮自己的想象力,如僵尸忍者和樹系列,需要由Android的愛好者來安裝。對于這么高的Android系統(tǒng)市場來說,為什么Android的游戲沒有火起來呢?因此,我們堅信Android會越來越受歡迎,越來越多的Android游戲進入我們的視野。1.2課題背景五子棋是中國前人最早的黑白棋子之一,英語中稱五子棋,只叫g(shù)obang或fil在英語中也有不同的叫法,叫五子棋、串珠、五子棋、觸摸屏)。圍棋來源于中國古代,在日本有發(fā)展,在歐洲也有影響。對圍棋的干系,有兩種說法,即圍棋比圍棋早。臨到樂樂節(jié),圍棋產(chǎn)生的修辭作用是圍棋發(fā)展的一個分支,在中國文化中已經(jīng)很受歡迎。五子棋在歐洲流行,并在環(huán)球飛速發(fā)展。通過一系列的改變,使得游戲變得更加復(fù)雜和復(fù)雜,同時最終演變成今天的五子棋。1.3我的主要工作本開發(fā)采用Android開發(fā)工具,采用Java游戲開發(fā),通過游戲程序的準備,我們可以結(jié)合上述知識的學習和理解。接口分為三個部分:一個是schedule類,這也是一個主要類,一個是文本類,另一個是儀表板的控制層,它會單獨運行。我們可以根據(jù)我們的風格和喜好來組織它們,讓整個界面更加美觀和清晰。那些步驟不會影響其他組件。為了做這樣的準備,你可以畫五子棋和下棋,電腦在下棋時必須選擇合適的位置,也就是說,每次下棋后,都要有一個控制器來判斷是否可以下象棋。人們可以做盡可能多的事情,可是計算機是在那個位置計算的。它是由五子棋計算機子游戲機的算法決定的,不像游戲,它需要電腦來決定電腦在哪里,游戲機是否在哪里。必須有一種棋局,當雙方?jīng)Q定一定要贏棋的時候,就有必要控制兩個人下棋的順序。這樣,線程就會被使用,每個線程或接口都可以接收,或者使他們可以自由地接收和發(fā)送信息。第二章項目概述與需求分析2.1項目概述2.1.1項目開發(fā)目標游戲的功能很簡單,但最重要的是要使用人類與智能電腦的戰(zhàn)斗模式。從這個角度來看,雖然程序并不復(fù)雜,但為了滿足玩家的基本需求,電腦具備一定的可用性,可以幫助新手。同時,通過對棋類游戲的研究,將有助于更好地將理論應(yīng)用于程序設(shè)計中。2.1.2項目開發(fā)意義圍棋系統(tǒng)的目的是讓我們的學生了解并認識到j(luò)ava語言在編程中的重要作用。經(jīng)由過程開辟這個程序,使咱們加倍精曉java編程。另外,五種簡單的棋局分為垂直、垂直、水平三種形態(tài)的五種含義,然后我們需要深入研究一下坐標。此外,讓我們掌握更好的開發(fā)工具,提高學生的編程能力。2.1.3開發(fā)工具eclipse軟件,Java開發(fā)語言,Android2.1-update1虛擬環(huán)境。2.2需求分析2.2.1功能需求分析五子棋游戲比較簡單,沒有獲取界面的竅門,而且主要是與機器發(fā)生沖突。它從男人開始,電腦會通過計算來地選擇合適的下棋落點,并在每場比賽結(jié)束后決定哪一方是否獲勝。如果它贏了,它就會結(jié)束游戲并提示玩家完成游戲,所以玩家每次在棋盤上點擊鼠標,必須使棋盤出現(xiàn)在界面上,電腦必須立即回復(fù),并將棋盤放在最合適的位置。因此,本程序的特色可以歸納綜合以下:1.坐標是否在黑板外,否則,標記的下一個事務(wù)日志。2.檢查該位置是不是有棋子,若是沒有,利用類圖形繪制棋子并保存棋盤。3.判斷是否有五個連續(xù)塊,如果是,相應(yīng)的提醒玩家獲勝,如果沒有改變玩家并關(guān)閉事件管理監(jiān)督。4.玩家可以自動切換,用戶每次點擊鼠標就會切換到電腦,為玩家獲取相應(yīng)的黑白圖像。2.2.2性能需求分析利用Java開發(fā)工具在androidid2.1中開發(fā)語言——wordpress必要android-7才能讓程序運行。我們還必須每次計算電腦的位置,以防止5名有機會的玩家。如果需要,用戶需要掌握規(guī)則,但作為一款由用戶自己設(shè)計的智能電腦游戲機,用戶必須通過主要參數(shù)來控制登陸位置。圖2-1表示了開發(fā)程序的環(huán)境。圖2-1開發(fā)環(huán)境第三章概要設(shè)計3.1五子棋解釋《辭海》中說到,五子棋是“棋類游戲,棋具與圍棋不異,兩人對局,輪番下子,先將五子連成一行者為勝?!薄N遄悠宓膭e稱:日文中有“連五子、五子連、串珠、五目、五目碰、五格、五石、五法、五聯(lián)、京棋”等多種稱謂,英文則稱之為FIR(FiveInARow的縮寫)、Gomoku(日語“五目”的羅馬拼音)、Gobang、connect5、mo-rphion。捷克語piskvorky,韓語omok、韓國人還稱之為情侶棋。3.2五子棋的基本規(guī)則1.下棋時,玩家先打白棋,黑棋先落在合適的位置,然后黑與白棋互相排序。2.第一次板線切割時,橫向、縱向、橫向、縱向的面是斜向得勝面。3.如下,直到最后,仍然是平局,不分勝負。3.3五子棋的相關(guān)術(shù)語陽線:棋盤上可見的縱橫直線陰線:棋盤上無實線連接的隱形斜線五連:棋盤上形成5個同色的棋子的連活四:在棋盤某一條陽線或陰線上有同色4子不間隔的緊緊相連,且在此4子兩端延長線上各有一個無子的交叉點與此4子緊緊相連沖四:除活四外的在下一招,便可形成五連,并且存在五連的可能性活三:在棋盤某一條陽線或陰線上有同色3子不間隔的緊緊相連,且在此3子兩端延長線上各有一個無子的交叉點與此3子緊緊相連活二:在棋盤上,再走一步可成活三的點眠三:在棋盤上,再走一步可成沖四的點眠二:在走一步可成眠三的點3.4程序設(shè)計分析1.用14條水平直線和14條垂直豎線繪制棋盤,并將棋子放置在水平直線和垂直豎線之間的交叉點上。2.界面中的棋盤由rondue函數(shù)繪制,棋子操作參考圖顯示在棋盤上。3.黑白優(yōu)先,連接點的邊界不能設(shè)置,因此板可以設(shè)置12*12的范圍。4.玩家落子之后,電腦必須判斷棋盤上是否有任何位置,并在棋盤上選擇最佳位置。5.每當有5個棋子在垂直或水平線上時,系統(tǒng)會自動決定勝負,并顯示出黑色或白色棋子在游戲結(jié)束后獲勝,雙方均無法繼續(xù)比賽。3.5數(shù)據(jù)流圖五子棋游戲的主要程序流圖如圖3-1所示。圖3-1主要程序流圖第四章詳細設(shè)計4.1用例圖由主要角色和用例以及用例模型中的關(guān)系關(guān)系組成。縮略圖的使用可以組織在示例包中,并通過案例來存儲,使相關(guān)的內(nèi)容只顯示在特定的包中,包含參與者的縮略圖、系統(tǒng)邊界和箭頭。參與者不是特定的人,而是他們所飾演的角色,或者他們與體系交互,所以參與者可以是人、事物、時候或其他體系,必要注意的是,參與者并并非指人或事物,而是指人或事物的角色。參與者在下方附有姓名的簡單圖畫中顯示,如圖4-1所示。圖4-1角色用例是包含系統(tǒng)變量的行動序列的描寫,做這些行動并發(fā)生可觀察到的成果,從而影響特定參與者的代價。咱們可以供給一個簡略的名稱,一般為一個行動詞,示例是一個橢圓,在圖中,利用附加在橢圓下面的示例的名稱,如圖4-2所示。圖4-2用例系統(tǒng)邊界為表示模擬體系的邊界,內(nèi)部邊界代表系統(tǒng)的外部部分。系統(tǒng)邊界由圖形中的邊框表示,并包含體系名稱。參與者通過邊界內(nèi)的示例繪制邊界外的地圖。由于系統(tǒng)邊界的作用有時是不明確的,我個人在圖紙上理解。箭頭通過互相傳送信號或信息來表示玩家與系統(tǒng)之間的關(guān)系。箭頭的尾部用來指示開始交互的一側(cè),箭頭的頭為開始交互的一對,示例總是從參與者開始。用例圖中有三個必要功能:(1)需求;(2)測試指導;(3)隨時指導其他功能。分析問題后,我們可以根據(jù)分析結(jié)果繪制示例圖,因為棋子是玩家,棋子就是玩家,玩家的第一動作就是用鼠標點擊棋盤來繪制五子棋。因此,五子棋的整個過程可以分為兩個示例,繪制圍棋界面,點擊圍棋鼠標,繪制圍棋界面,包括繪制控制界面,繪制郵件界面和他的棋盤界面,直接使用示例模式,如圖4-3所示。圖4-3五子棋用例圖4.2類圖類圖表示模型的靜態(tài)布局,特別是模型的內(nèi)部布局和與其他類的干系。類圖不顯示臨時數(shù)據(jù)。類圖(classdiagram)是經(jīng)常使用的圖表,表現(xiàn)了類、接口和干系的靜態(tài)布局。它用于體系結(jié)構(gòu)設(shè)計,描寫類圖最基本的元素是類或接口。類模式通常包含如下內(nèi)容:類、接口、協(xié)作、關(guān)系。與其他圖同樣,類圖可以包括描寫注釋和約束,類圖還可以包括用于對元素舉行分組的包和子系統(tǒng)。偶然,以后可以將類的實例放到類圖中。類(Class)類一樣平常有3個元素,首先是類名,其次是類圖屬性,表示模型的靜態(tài)布局,特別是模型的內(nèi)部布局,以及它們與其他類的干系。類圖不顯示臨時數(shù)據(jù),類圖是最常用的類圖。這表明類、接口和它們之間的靜態(tài)布局來描寫體系布局設(shè)計。類圖的最基本元素是類或接口。這類圖通常包含以下內(nèi)容:類、連接、協(xié)作和關(guān)系。2.等級等級一般由三部分組成,第一個是類名,第二個是屬性,第三個是如何提供類(類的屬性可以在第四部分;第5部分會出現(xiàn),如果類有內(nèi)部類,則名稱部分不能退出,其他部分可以退出,方法繪制類圖,如圖4-4所示。圖4-4類3.包(Package)包是一種經(jīng)常使用的組合規(guī)則。UML中的包跟Java中的包差不多。在Java中,一個包大概包括其他包、類或二者。在建模時,咱們凡是利用邏輯包來組織模型,并使用物理包將其轉(zhuǎn)換為系統(tǒng)中的java包。每一個包的名稱獨一地標識該包。4.接口(Interface)接口是指定類提供的辦事的操作調(diào)集。它與Java中的接口類型類似。有兩種方法來表示接口。具體畫法見圖4-5。 圖4-5接口5.關(guān)系一般關(guān)系包括一般關(guān)系、聚合關(guān)系、聚合關(guān)系和相互關(guān)系。聚合和組合是關(guān)系。一般關(guān)系表示為繼承或使用關(guān)系(isa),關(guān)系顯示為變量(包含a),作為參數(shù)的引用(使用a)一般關(guān)系:顯示類之間的繼承關(guān)系。表現(xiàn):若是父級是接口,請使用空心箭頭+實線,箭頭指向父類或空箭頭+虛線。對每一個機制,指定介入?yún)f(xié)作的其他類、接口和協(xié)作。同時,肯定它們之間的干系。使用方案提前計劃它們,在此過程中,您將找到模型中缺少的部分和定義的無效部分。對于類,第一個派生(類職責)并將其轉(zhuǎn)換為特定屬性和方式。經(jīng)過分析每個類的屬性和方式,可以繪制類圖,如圖4-6所示。圖4-6五子棋類圖4.3棋盤界面設(shè)計在分析設(shè)計思路、給出算法、繪制用例和類圖后,可以起頭接口計劃。接口計劃也可以解釋為類的計劃。此接口首要經(jīng)過gobangview類設(shè)計。五件跳棋也是主要類型。主要功能是繪制棋盤,包括棋盤桌和邊框,排列棋盤的五塊窗口,顯示默認文本面板,每個點在棋盤上的位置。4.3.1畫棋盤這部分大體使用onDraw進行繪制,其主體代碼如下:4.3.2畫棋子這里棋子通過用圖片進行繪制,其部分代碼如下:其中chess1是需要引用圖片的名稱,存在drawable文件中。4.3.3結(jié)束提示語顯示提示語顯示使用函數(shù)mtext,分3種情況顯示提示語,其部分代碼如下:4.4核心實現(xiàn)代碼五子棋程序核心通過類ChessFormUtil進行具體實現(xiàn),此類包含五連、活四、沖四、活三、活二、眠三、眠二這7種情況。下面將是本程序的核心實現(xiàn)代碼,用來實現(xiàn)人工電腦智能方面。分析是否存在連續(xù)5個同色棋子,即判斷是否輸贏,其實現(xiàn)代碼如下: 分析活四,確認是否存在活四(活四:在棋盤某一條陽線或陰線上有同色4子不間隔的緊緊相連,且在此4子兩端延長線上各有一個無子的交叉點與此4子緊緊相連),其實現(xiàn)代碼如下: 分析活三,查看是否存在活三(活三:在棋盤某一條陽線或陰線上有同色3子不間隔的緊緊相連,且在此3子兩端延長線上各有一個無子的交叉點與此3子緊緊相連),其實現(xiàn)代碼如下: 4.分析沖四,確認是否存在沖四(沖四:除活四外的在下一招,便可形成五連,并且存在五連的可能性),其實現(xiàn)代碼如下: returntrue; } returnfalse; }5.分析眠三,確認是否存在眠三(眠三:在棋盤上,再走一步可成沖四的點),其實現(xiàn)代碼如下: 6.分析眠二,確認是否存在眠二(眠二:在走一步可成眠三),其實現(xiàn)代碼如下: 第五章運行測試5.1程序測試軟件測試是指軟件交付給用戶利用或投入利用以前,對軟件請求的范例、設(shè)計范例和編碼舉行最終測試,是軟件質(zhì)量保證的關(guān)鍵環(huán)節(jié)。軟件測試是程序執(zhí)行以檢測毛病的進程。軟件測試涵蓋軟件生命周期的兩個階段:凡是必要在編寫每一個模塊(稱為單元測試)后測試每一個模塊。加密和單元測試是軟件生命周期中的統(tǒng)一階段。在此階段經(jīng)由過程后,軟件系統(tǒng)必要周全的測試,如集成測試、體系測試、機能測試和設(shè)備裝置擺置測試,這是軟件生命周期測試階段的另一個單獨階段。軟件測試的目的:1.測試的最終目標是避免錯誤,并確保程序正常有效運行;2.一個好的測試用例是找出迄今尚未發(fā)現(xiàn)的錯誤;3.成功的測試是尚未發(fā)現(xiàn)的測試;一個好的測試員不但要找出問題,還需要幫開發(fā)人員解析問題所在。1.通過抽樣檢驗,檢測單位可盡快發(fā)現(xiàn)問題,減少后續(xù)測試中的誤差量。2.測試用例由三步組成:測試輸入數(shù)據(jù)、測試執(zhí)行步驟和響應(yīng)的預(yù)期結(jié)果。3.程序員應(yīng)避免檢查其步驟(指體系后期測試階段,不包括單元測試)。4.測試用例旨在確??梢曰\蓋大部分的路徑。不合理的輸入前提是指異常的輸入前提、危急和大概存在的問題。5.在測試中充實注重分組經(jīng)驗表明,測試后殘剩的毛病與程序中發(fā)現(xiàn)的毛病數(shù)或毛病檢測率成正比。錯誤群集段應(yīng)側(cè)重于測試。6.嚴格執(zhí)行考試計劃,排除隨機測試。測試打算應(yīng)包羅:被測軟件的功能、輸入和輸出、測試內(nèi)容、每次測試的進度、資源請求、測試數(shù)據(jù)、測試工具、測試用例選擇、測試節(jié)制方式和流程、系統(tǒng)配置模式、跟蹤法則、調(diào)試法則、回歸測試法則、評估尺度。保存測試計劃、測試用例、毛病統(tǒng)計信息和最終分析報告,以便于維護。軟件測試工具:軟件測試不但等效于應(yīng)用程序測試,軟件測試應(yīng)涵蓋軟件界說和開發(fā)階段,因此軟件測試(解釋)應(yīng)基于需求分析、計劃綱領(lǐng)、具體計劃、程序編碼和接收文檔的其他階段,以及需求范例、設(shè)計范例、概述、詳細設(shè)計規(guī)范和源步驟。在驗證明白、請求和表達的準確性、計劃和表達的準確性、操縱的準確性和操縱的準確性時,軟件測試中可以表現(xiàn)任何關(guān)鍵中的問題。游戲在這個過程當中完成,終究呈現(xiàn)各種問題。因此,確定具體問題已經(jīng)找到解決辦法,并最終找到明顯的解決辦法,需要花費大量時間。即使我們現(xiàn)在運行此程序,沒有問題,這并不意味著程序是完美的,因此我們應(yīng)該運行可能的程序來解決遇到的問題。5.2測試方法和測試用例測試方法:判定覆蓋,測試用例如表5-1所示。表5-1測試用例5.3測試結(jié)論實現(xiàn)了預(yù)期結(jié)果。5.4運行效果圖開始界面圖5-1是剛開始進去的界面,棋盤一共12×12格,邊框不可以落子的。圖5-1開始界面效果圖對弈過程界面對弈過程界面如圖5-2所示。圖5-2對弈過程界面對弈結(jié)果的界面對弈結(jié)果的界面如圖5-3所示圖5-3黑棋勝利的界面結(jié)論這次開發(fā)五件跳棋的經(jīng)驗有三

溫馨提示

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

最新文檔

評論

0/150

提交評論