freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

森林伏兵——基于ios平臺(tái)的人機(jī)對(duì)戰(zhàn)棋類游戲設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-19 16:00 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 5 附加功能模塊設(shè)計(jì) 25 附加功能模塊算法描述 25 附加功能模塊程序流程圖 26 附加功能模塊關(guān)鍵函數(shù)說明 27 定時(shí)模塊設(shè)計(jì) 27 定時(shí)模塊算法描述 27 定時(shí)模塊程序流程圖 27 定時(shí)模塊關(guān)鍵函數(shù)說明 277 編碼 28 代碼實(shí)現(xiàn)與核心算法 28 初始化游戲模塊 28 玩家走棋模塊 29 計(jì)算機(jī)走棋模塊 30 結(jié)束判定 31 附加功能模塊 31 定時(shí)模塊 33 代碼優(yōu)化分析 33 棋子表示優(yōu)化 33 排序算法 34 存圖 34 設(shè)置公共類 34 最短路算法 34 走棋特效與音效控制 348 測(cè)試 35 測(cè)試方案設(shè)計(jì) 35 測(cè)試用例的設(shè)計(jì)目的與意義 35 測(cè)試策略 35 測(cè)試進(jìn)度安排 35 測(cè)試資源 35 關(guān)鍵測(cè)試點(diǎn) 35 測(cè)試用例構(gòu)建 35 測(cè)試用例編寫約定 35 測(cè)試用例設(shè)計(jì) 35 界面切換測(cè)試 38 性能測(cè)試 389 總結(jié)與展望 39 設(shè)計(jì)工作總結(jié) 39 未來工作展望 39謝 辭 40參考文獻(xiàn) 41附錄A 外文翻譯—原文部分 42附錄B 外文翻譯—譯文部分 46附錄C 軟件使用說明書 50附錄D 主要源代碼 5419華東交通大學(xué)畢業(yè)設(shè)計(jì)1華東交通大學(xué)畢業(yè)設(shè)計(jì)1 緒 論 研究的背景及意義 森林伏兵,俗名“動(dòng)物棋”,源自于生活中的題材,將之改造成手機(jī)游戲,主要面向兒童市場(chǎng)。由于游戲中的食物鏈規(guī)則和短時(shí)反應(yīng)規(guī)則,不需要太多腦力思考就能鍛煉玩家的判斷和反應(yīng)能力,與“水果忍者”、“神廟逃亡”等火爆手游市場(chǎng)的游戲有諸多異曲同工之處,具有很大的商業(yè)潛力與價(jià)值。 選題的背景 iPhone 是結(jié)合照相手機(jī)、個(gè)人數(shù)碼助理、媒體播放器以及無線通信設(shè)備的掌上智能手機(jī),由史蒂夫喬布斯在2007年1月9日舉行的Macworld宣布推出,2007年6月29日在美國(guó)上市。iOS是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會(huì)上公布這個(gè)系統(tǒng),最初是設(shè)計(jì)給iPhone使用的,后來陸續(xù)套用到iPod touch、iPad以及Apple TV等蘋果產(chǎn)品上。iOS以Darwin為基礎(chǔ)的,屬于類Unix的商業(yè)操作系統(tǒng)。系統(tǒng)原名為iPhone OS,直到2010年6月7日WWDC大會(huì)上宣布改名為iOS。截止至2011年11月,根據(jù)Canalys的數(shù)據(jù)顯示,iOS已經(jīng)占據(jù)了全球智能手機(jī)系統(tǒng)市場(chǎng)份額的30%,在美國(guó)的市場(chǎng)占有率為43%。 2008年3月6日,蘋果對(duì)外發(fā)布了針對(duì)iPhone的應(yīng)用開發(fā)包(SDK),供免費(fèi)下載,以便第三方應(yīng)用開發(fā)人員開發(fā)針對(duì)iPhone及Touch的應(yīng)用軟件。不到一周時(shí)間,3月12日,蘋果宣布已獲得超過100,000次的下載,三個(gè)月后,這一數(shù)字上升至250,000次。繼SDK推出之后,同年7月11日,蘋果APP Store正式上線。7月14日,APP Store中可供下載的應(yīng)用已達(dá)800個(gè),下載量達(dá)到1千萬次。2009年1月16日,數(shù)字刷新為,超過5億次下載。APP Store平臺(tái)上大部分應(yīng)用程序價(jià)格低于10美元,約20%的應(yīng)用程序是供免費(fèi)下載的,用戶購(gòu)買應(yīng)用所支付的費(fèi)用由蘋果與應(yīng)用開發(fā)商3:7分成。在此背景下誕生了一大批一夜暴富的iOS應(yīng)用與游戲開發(fā)者,見證了這個(gè)時(shí)代是一個(gè)企業(yè)爭(zhēng)奪人才與拼比創(chuàng)意的時(shí)代?!八陶摺薄ⅰ吧駨R逃亡”、“憤怒的小鳥”等游戲的巨大成功,揭示出一個(gè)成功手機(jī)游戲的幾個(gè)共同特點(diǎn):操作簡(jiǎn)單、特效和UI精美、源自生活。有了這幾點(diǎn),不僅能吸引玩家眼球,且怡情生境、易學(xué)有趣,從而使游戲得到廣泛普及?!吧址毕瞪钪械男∮螒?,規(guī)則簡(jiǎn)單而有趣,尤其適合兒童心理,是一個(gè)非常優(yōu)秀的題材。倘若模擬程序能夠達(dá)到以上特點(diǎn),必定會(huì)有很大的商業(yè)價(jià)值。 國(guó)內(nèi)外研究現(xiàn)狀該游戲無論在國(guó)內(nèi)還是國(guó)外市場(chǎng),均未面世,不存在產(chǎn)權(quán)糾紛問題。對(duì)于游戲中用到的機(jī)器博弈技術(shù),借鑒現(xiàn)階段比較成熟的中國(guó)象棋之博弈思想,將之改進(jìn)成為適用于此游戲的機(jī)器博弈技術(shù)。國(guó)際上,近代博弈論的研究,開始于策墨洛(Zermelo)、波雷爾(Borel)及馮諾依曼(vonNeumann),1928年,馮諾依曼證明了博弈論的基本原理,從而宣告了博弈論的正式誕生。1944年,馮諾依曼和摩根斯坦共著的劃時(shí)代巨著《博弈論與經(jīng)濟(jì)行為》將二人博弈推廣到n人博弈結(jié)構(gòu)并將博弈論系統(tǒng)的應(yīng)用于經(jīng)濟(jì)領(lǐng)域,從而奠定了這一學(xué)科的基礎(chǔ)和理論體系。1950~1951年,約翰福布斯納什(John Forbes Nash Jr)利用不動(dòng)點(diǎn)定理證明了均衡點(diǎn)的存在,為博弈論的一般化奠定了堅(jiān)實(shí)的策墨洛(Zermelo)基礎(chǔ)。納什的開創(chuàng)性論文《n人博弈的均衡點(diǎn)》(1950),《非合作博弈》(1951)等等,給出了納什均衡的概念和均衡存在定理。此外,塞爾頓、哈桑尼的研究也對(duì)博弈論發(fā)展起到推動(dòng)作用。今天博弈論已發(fā)展成一門較完善的學(xué)科。國(guó)內(nèi)在機(jī)器博弈上的成就主要有:“浪潮杯”首屆中國(guó)象棋人機(jī)大戰(zhàn)中,經(jīng)過三個(gè)小時(shí)的激烈搏戰(zhàn),浪潮天梭擊敗大師聯(lián)盟。柳大華等五位中國(guó)象棋大師組成的大師隊(duì),在十局比賽中,2勝5平3負(fù),最終以 9:11的總比分負(fù)于浪潮天梭?!袄顺北笔讓弥袊?guó)象棋人機(jī)大戰(zhàn), 由中國(guó)人工智能學(xué)會(huì)與浪潮集團(tuán)聯(lián)合主辦,是對(duì)中國(guó)人工智能發(fā)展水平的校驗(yàn),也是中國(guó)第一次最大規(guī)模、最高水平的中國(guó)象棋人機(jī)大戰(zhàn)。機(jī)器博弈的研究對(duì)人工智能的發(fā)展有著積極的推動(dòng)作用,也是如今人們能方便借鑒并開發(fā)各類人機(jī)游戲的重要基礎(chǔ)。 研究的意義 森林伏兵游戲的開發(fā),不僅其趣味性和針對(duì)性可以帶來較大的商業(yè)價(jià)值,且在人機(jī)博弈方面的研究能挑戰(zhàn)開發(fā)者本人的知識(shí)結(jié)構(gòu),其中涉及到的較為復(fù)雜的界面與軟件架構(gòu)設(shè)計(jì)可以提升開發(fā)者的美學(xué)素質(zhì)。 系統(tǒng)目標(biāo)利用Cocos2dX游戲引擎開發(fā)iOS平臺(tái)上的手機(jī)游戲,并運(yùn)用到人機(jī)博弈的高效算法,同時(shí)合理運(yùn)用重構(gòu)技術(shù)和設(shè)計(jì)模式。 主要解決的問題: 1)高效人機(jī)博弈算法。 2)用戶界面繪制。 3)音效控制。 4)選用設(shè)計(jì)模式。 5)重構(gòu)代碼。 6)界面設(shè)計(jì)。 7)架構(gòu)設(shè)計(jì)。通過解決以上問題,讓軟件能夠在擁有足夠友好界面的同時(shí),完成人機(jī)對(duì)戰(zhàn)、背景音樂切換、戰(zhàn)績(jī)查看、游戲幫助等功能。 2 需求分析 功能需求 子系統(tǒng)/模塊說明(1)界面構(gòu)架模塊設(shè)計(jì)開發(fā)各游戲界面,并設(shè)計(jì)各界面的切換邏輯。 (2)游戲初始化模塊完成游戲的的初始布局、數(shù)據(jù)的初始化工作。 (3)游戲模塊1)玩家走棋模塊控制玩家的走棋操作,保證其合法性。2)計(jì)算機(jī)走棋模塊 軟件的核心模塊,控制計(jì)算機(jī)走棋,保證其合法性。3)結(jié)束模塊判斷游戲結(jié)束,并調(diào)用相應(yīng)的界面。(4)附加功能模塊游戲暫停與恢復(fù)、聲音靜止與播放及動(dòng)作特效設(shè)計(jì)。(5)定時(shí)模塊完成系統(tǒng)中各種效果所需要用到的定時(shí)操作。如加分的標(biāo)簽消失前有一段動(dòng)畫,這就需要定時(shí)控制。(6)網(wǎng)絡(luò)模塊將游戲的相關(guān)數(shù)據(jù)上傳到服務(wù)器,并在需要時(shí)從服務(wù)器加載。 功能需求描述(1)界面構(gòu)架模塊包括主菜單、轉(zhuǎn)盤、幫助、注冊(cè)與登陸、反饋、游戲中心、輸局、贏局、平局、選項(xiàng)菜單、更換背景音樂及戰(zhàn)績(jī)各個(gè)界面的設(shè)計(jì)與架構(gòu)。(2)游戲初始化模塊將棋盤用數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),初始化用來記錄棋子所在位置與狀態(tài)的數(shù)組以及用來控制游戲邏輯的變量。(3)游戲模塊1)主要規(guī)則如下:通過啟動(dòng)游戲轉(zhuǎn)盤,轉(zhuǎn)盤轉(zhuǎn)到的一方先走。此設(shè)計(jì)是為了增加游戲的趣味性。轉(zhuǎn)盤界面如圖21所示,棋盤最初狀態(tài)如圖22所示。圖21 轉(zhuǎn)盤界面 圖22 最初狀態(tài)走棋方有三種選擇:;(如果存在未翻開棋子);。每個(gè)角色可以殺掉對(duì)方數(shù)字不小于它的任何棋子,如“2大象”可以殺掉數(shù)字為210 的任何棋子。吃棋狀態(tài)如圖23所示。圖23 吃棋特殊規(guī)則:“2大象”可以殺掉“9老鼠”,“9老鼠”也可以殺掉“2大象”,如圖24所示。 圖24 老鼠吃大象殺死對(duì)方:當(dāng)符合3和4兩條規(guī)則,且敵方棋子處于除“米字營(yíng)”之外的相鄰位置時(shí)可將敵方棋子殺死并棄掉它,同時(shí)將攻擊方棋子移至該位置;但如果其中一方是“10炸彈”或雙方棋子數(shù)字相同,則兩個(gè)棋子同歸于盡,均被棄掉。 圖25 非法吃棋結(jié)局:最終仍有剩余棋子的一方獲勝,或者雙方均不能致對(duì)方于死地則為平局。 2)玩家走棋模塊下棋:實(shí)現(xiàn)翻棋、移動(dòng)、吃棋的合法操作與錯(cuò)誤提示。 音效:開啟和關(guān)閉音效,切換背景音樂。游戲暫停:暫停游戲和恢復(fù)游戲功能。在游戲進(jìn)行過程中啟動(dòng)設(shè)置頁面后,游戲也要暫停,返回后繼續(xù)游戲。戰(zhàn)績(jī)查詢:如果是登陸玩家,數(shù)據(jù)是上次登陸后退出時(shí)上傳的數(shù)據(jù)與本次自登陸后所得數(shù)據(jù)的累計(jì)值;非登陸玩家,數(shù)據(jù)僅是啟動(dòng)游戲以來所累計(jì)的值。戰(zhàn)績(jī)內(nèi)容包括玩家的累計(jì)總分和機(jī)器的累計(jì)總分。3)計(jì)算機(jī)走棋模塊求出計(jì)算機(jī)所有的合法操作,再對(duì)各個(gè)操作進(jìn)行估價(jià),并按照估價(jià)從高到低排序,得到估價(jià)最高的操作,將之反映在界面上。4)結(jié)束模塊 定時(shí)檢查游戲是否結(jié)束,并切換成贏局、輸局或平局界面。 (4)附加功能模塊游戲暫停與恢復(fù):游戲進(jìn)行時(shí),顯示為暫停按鈕,點(diǎn)擊之后,顯示為恢復(fù)按鈕。靜音與恢復(fù):有音效和背景音樂時(shí),顯示為靜音按鈕,點(diǎn)擊之后,顯示為恢復(fù)按鈕,音效與背景音樂都暫停播放。(5)定時(shí)模塊輪流定時(shí):給下棋的雙方用倒計(jì)時(shí)的方式定時(shí)。一方時(shí)間耗盡仍未完成下棋,直接轉(zhuǎn)為另一方下。特效定時(shí):丟棄棋子與加分特效設(shè)計(jì)中,使棋子和加分標(biāo)簽延遲到特效完成后消失。(6)網(wǎng)絡(luò)模塊數(shù)據(jù)同步:如果玩家通過昵稱登陸游戲,進(jìn)入游戲之前,先將戰(zhàn)績(jī)從服務(wù)器加載到客戶端;退出游戲時(shí),將新的數(shù)據(jù)上傳到服務(wù)器。 非功能需求 外部接口需求反饋意見時(shí)啟動(dòng)玩家手機(jī)上的郵件或短信功能聯(lián)系開發(fā)商。 性能需求計(jì)算機(jī)的反應(yīng)速度:控制在2s之內(nèi)。杜絕存在內(nèi)存泄露隱患:內(nèi)存泄露會(huì)導(dǎo)致游戲閃退等意外情況發(fā)生。 其它需求界面:更加人性化。音效:可切換背景音樂。動(dòng)畫:流暢、美觀。 3 總體設(shè)計(jì) 運(yùn)行環(huán)境開發(fā)平臺(tái):Mac OS X Version 開發(fā)工具:Xcode Version (4E1019)測(cè)試環(huán)境:iPhone模擬器,iPod 支持平臺(tái):iOS設(shè)備 基本處理流程森林伏兵系統(tǒng)的主要處理流程如圖31所示。 圖31 森林伏兵處理流程圖 計(jì)算機(jī)走棋與玩家走棋邏輯將在詳細(xì)設(shè)計(jì)中給出。平棋由玩家控制,當(dāng)玩家無法獲勝且計(jì)算機(jī)無法殺死玩家時(shí),由玩家選擇平棋,還是繼續(xù)逃避或追捕計(jì)算機(jī)控制的棋子。 模塊結(jié)構(gòu)該系統(tǒng)的模塊結(jié)構(gòu)與各模塊之間的聯(lián)系如圖32所示。圖32 系統(tǒng)模塊結(jié)構(gòu)圖 外部接口反饋功能中調(diào)用iOS設(shè)備中的消息或郵件應(yīng)用。 內(nèi)部接口將動(dòng)作封裝在一個(gè)函數(shù)中,需要用到此功能時(shí)調(diào)用相應(yīng)接口。將計(jì)算機(jī)的操作封裝在一個(gè)類中,需要用到相關(guān)操作時(shí)調(diào)用相應(yīng)接口。將音效封裝在一個(gè)函數(shù)中,需要用到音效功能時(shí)調(diào)用相應(yīng)接口。將玩家的操作封裝在一個(gè)類中,需要用到相關(guān)操作時(shí)調(diào)用相應(yīng)接口。 4 數(shù)據(jù)庫(kù)設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì) 設(shè)計(jì)思路 設(shè)計(jì)兩張表,一張保存注冊(cè)信息,另一張保存對(duì)應(yīng)玩家的游戲成績(jī),一個(gè)玩家只對(duì)應(yīng)一張戰(zhàn)績(jī)表,一張戰(zhàn)績(jī)表對(duì)應(yīng)多個(gè)玩家。 ER圖系統(tǒng)ER圖如圖41所示。圖41 ER圖 邏輯結(jié)構(gòu)設(shè)計(jì) 設(shè)計(jì)思路注冊(cè)表:玩家注冊(cè)的時(shí)候,根據(jù)服務(wù)器接收到的數(shù)據(jù),查找有沒有相同昵稱的人,如果有,就返回失敗,否則返回成功,并返回一個(gè)Cookie,作為登陸的標(biāo)記。Cookie永久有效。登陸系統(tǒng)時(shí),也返回一個(gè)相應(yīng)的Cookie,作為登陸的標(biāo)記。Cookie用當(dāng)時(shí)的時(shí)間和一段常量字符串拼接成,當(dāng)玩家要訪問服務(wù)器時(shí),須通過Cookie驗(yàn)證授權(quán)。戰(zhàn)績(jī)表:記錄了玩家對(duì)應(yīng)的各項(xiàng)成績(jī),以登陸時(shí)服務(wù)器分配的Cookie授權(quán)訪問。 邏輯模型玩家(User):(編號(hào),昵稱,密碼,郵箱) 戰(zhàn)績(jī)(Record):(編號(hào),玩家,輸局?jǐn)?shù),贏局?jǐn)?shù),平局?jǐn)?shù),電腦總分,玩家總分) 物理結(jié)構(gòu)設(shè)計(jì) 存取方式(1)User表存取方式獲取來自客戶端的數(shù)據(jù)時(shí),判斷是登陸事件還是注冊(cè)事件。如果是登陸事件,那么就用當(dāng)前的時(shí)間與一個(gè)固定字符串相連生成一個(gè)Cookie,插入到玩家表中,并將這個(gè)Cookie返回給客戶端。如果是注冊(cè)玩家,將這條數(shù)據(jù)插入到User表后生成一個(gè)Cookie,插入到玩家表中,同時(shí)返回給客戶端,作為登陸的標(biāo)記。同時(shí)插入一條當(dāng)前玩家的戰(zhàn)績(jī)記錄到Record表中,設(shè)定相應(yīng)的初值。(2)Record表存取方式玩家登陸后,由客戶端發(fā)送一個(gè)請(qǐng)求給服務(wù)器,服務(wù)器接收到請(qǐng)求,查找請(qǐng)求玩家在Record表中的記錄,并將之返回給玩家。當(dāng)玩家要退出游戲時(shí),將新的Record記錄通過網(wǎng)絡(luò)請(qǐng)求發(fā)送給服務(wù)器,服務(wù)器接收到相應(yīng)數(shù)據(jù)時(shí),對(duì)表進(jìn)行刷新。 存儲(chǔ)結(jié)構(gòu)在MySQL數(shù)據(jù)庫(kù)系統(tǒng)中使用兩張表存儲(chǔ)相關(guān)的數(shù)據(jù),分別是表User和表Record,分如表41與表42所示。表41 User表字段名稱數(shù)據(jù)類型是否為主鍵說明IDInt是編號(hào) NickNameVarchar(30)否昵稱PasswordVarchar(30)否密碼EmailVarchar(30)否郵箱TokenVarchar(30)否登陸標(biāo)記表42 Record表字段名稱數(shù)據(jù)類型是否為主鍵說明IDInt 是編號(hào)UserIdInt否玩家LoseInt否輸局?jǐn)?shù)WinInt否贏局?jǐn)?shù) DrawInt否
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1