




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖-論文java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖摘要在個(gè)人計(jì)算機(jī)高度普及的今天,人們熱衷于在用計(jì)算機(jī)處理日常的事物,當(dāng)然也包括娛樂。于是,我開發(fā)了java版大富翁,在方便人們快速游戲的同時(shí),又減少了在游戲中由于大量計(jì)算造成的錯(cuò)誤,而且單人可以和多個(gè)電腦玩家對(duì)抗。解決了普通版大富翁至少需要兩人才能開始游戲的弊端。本文以基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)項(xiàng)目為背景,研究了java在設(shè)計(jì)桌面游戲業(yè)務(wù)上的應(yīng)用,并根據(jù)游戲缺乏挑戰(zhàn)實(shí)際,提出了開發(fā)高邏輯的人工智能算法的解決方案。論文從大富翁的歷史產(chǎn)生入手,分析了傳統(tǒng)紙質(zhì)版桌面游戲大富翁存在的問(wèn)題,介紹了
2、保證電子版桌面游戲大富翁的優(yōu)勢(shì),并提出了電子版桌面游戲大富翁的基本功能。繼而對(duì)基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)的必要性和可行性進(jìn)行了闡述,提出了電子版的建設(shè)目標(biāo),同時(shí)還對(duì)基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)的功能劃分進(jìn)行了詳細(xì)的需求分析,提出了相應(yīng)的概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)方案。本課題最終實(shí)現(xiàn)的“基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)”,通過(guò)與計(jì)算機(jī)進(jìn)行人工智能對(duì)抗,對(duì)開發(fā)人工智能方面具有重要的指導(dǎo)意義。關(guān)鍵詞 大富翁;人工智能算法;設(shè)計(jì)與實(shí)現(xiàn)design and implement of the monopoly game in javaabstractnow days, the persona
3、l computers are used everywhere all over the world. people would love to use the computer to deal with the daily thing, and also includes the entertainment. therefore, i have developed the monopoly game in java, while facilitates which the people play fast, also reduced in the game because massively
4、 calculates the mistake which creates, moreover the single may play the family with many computers to resist. i solved the ordinary version rich person at least to need the malpractice which two talented people could start to play. based on the project of the electronic archives management system of
5、 vehicle management office, this thesis studies on the application of the electronic archives management system in vehicle archives management services, and in light of the factual status of vehicle management practice, proposes a solution to the electronic management of the vehicle archives.this pa
6、per take the design and implement of the monopoly game in java as a background, has studied java in the design desktop game service application, and lacks the challenge reality according to the game, proposed develops high logical the artificial intelligence algorithm solution.the paper has start wi
7、th the history of the monopoly game , has analyzed the question which the traditional paper version desktop game monopoly game exists, introduced the high quality electronic version desktop game monopoly game 原文請(qǐng)找 monopoly game in java divides has carried on the detailed demand analysis, proposed th
8、e corresponding outline design and the detailed design proposal. the result of this research topic, the design and implement of the monopoly game in java, by compete with the intelligence artificial algorithm, has made it a significant role in the developing the intelligence artificial algorithms.ke
9、ywords: monopoly game; intelligence artificial algorithm; design and implement 目錄摘要 iiabstract iv第1章 緒論 81.1 桌面游戲大富翁的歷史背景 81.2 桌面游戲大富翁的版本介紹 81.3 詳細(xì)規(guī)則 91.3.1 游戲開始 91.3.2 擲骰 91.3.3 物業(yè) 91.3.4 房子與旅館 101.3.5 套取現(xiàn)金 101.3.6 交易 101.3.7 入獄
10、;111.3.8 破產(chǎn) 111.3.9 勝利條件 111.4 java版大富翁的游戲策略 111.5 課題的項(xiàng)目背景 12第2章 系統(tǒng)需求分析 132.1 游戲開發(fā)的可行性分析 132.2 游戲開發(fā)的目標(biāo) 132.3 游戲開發(fā)的主體 152.3.1 游戲處理流程 152.3.2 游戲框架結(jié)構(gòu) 162.3.3 初始化游戲流程 162.3.4 相關(guān)游戲參數(shù)導(dǎo)入功能 172.3.5 加入玩家游戲 172.3.6 查詢玩家信息 182.3.7 存儲(chǔ)游戲/提取存檔&
11、#160;182.4 游戲數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)構(gòu) 18第3章 系統(tǒng)概要設(shè)計(jì) 193.1 游戲體系結(jié)構(gòu)設(shè)計(jì)方法 193.1.1 用戶界面接口設(shè)計(jì) 193.1.2 游戲數(shù)據(jù)交互設(shè)計(jì) 193.1.3 游戲總體結(jié)構(gòu)圖 213.2 設(shè)計(jì)原則 233.3 異常處理機(jī)制 253.4 總體方案 303.4.1 各個(gè)主類之間的關(guān)系圖 303.4.2 相關(guān)功能概述 31第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 334.1 游戲詳細(xì)設(shè)計(jì) 344.1.1 游戲初始化/相關(guān)參數(shù)導(dǎo)入 344.1.2 創(chuàng)建玩家加
12、入游戲 344.1.3 游戲過(guò)程 354.1.4 建造房屋 374.1.5 建造賓館 384.1.6 查詢玩家信息 394.1.7 存儲(chǔ)游戲/提取存檔 394.2 數(shù)據(jù)存儲(chǔ)表詳細(xì)設(shè)計(jì) 42第5章 游戲運(yùn)行與測(cè)試 445.1 游戲運(yùn)行示例 445.2 創(chuàng)建玩家示例 445.3 開始游戲示例 455.4 投擲骰子示例 465.5 購(gòu)買資產(chǎn)示例 475.6 建造房屋示例 485.7 建造賓館示例 495.8 查詢游戲進(jìn)度記錄示例 505.9
13、查詢玩家信息示例 51結(jié)論 53致謝 54參考文獻(xiàn)1432java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖第1章 緒論大富翁,是一種多人策略圖版游戲。參賽者分得游戲金錢,憑運(yùn)氣(擲骰子)及交易策略,買地、建樓以賺取租金。英文原名monopoly意為“壟斷”,因?yàn)樽詈笾坏靡粋€(gè)勝利者,其余均破產(chǎn)收?qǐng)觥?.1 桌面游戲大富翁的歷史背景monopoly,國(guó)內(nèi)又稱大富翁、強(qiáng)手棋,號(hào)稱全世界賣得最多的桌上游戲。monopoly游戲的發(fā)明,要追溯到1934年,當(dāng)時(shí)一個(gè)叫charles b. darrow的美國(guó)人把自己發(fā)明的monopoly游戲拿去給出版商parker brothe
14、rs,希望可以批量生產(chǎn),但當(dāng)場(chǎng)就被parker brothers以52個(gè)設(shè)計(jì)錯(cuò)誤拒之門外。但darrow并沒放棄,他自己聯(lián)系了一個(gè)相熟的出版商,印刷了一批monopoly游戲投放市場(chǎng),收到的反應(yīng)卻出奇的好。當(dāng)他第二次踏上parker brothers的門檻后,monopoly得以大批上市,并在出版的第一年-1935年就成為美國(guó)最熱賣游戲,并在接下來(lái)的七十幾年時(shí)間售出超過(guò)2億套。在個(gè)人計(jì)算機(jī)高度普及的今天,人們熱衷于在用計(jì)算機(jī)處理日常的事物,當(dāng)然也包括娛樂。于是,我開發(fā)了java版大富翁,在方便人們快速游戲的同時(shí),又減少了在游戲中由于大量計(jì)算造成的錯(cuò)誤,而且單人可以和多個(gè)電腦玩家對(duì)抗。解決了普通
15、版大富翁至少需要兩人才能開始游戲的弊端。1.2 桌面游戲大富翁的版本介紹1935年以來(lái),大富翁游戲被譯成37種語(yǔ)言暢銷103個(gè)國(guó)家和地區(qū),發(fā)行超過(guò)2億5千萬(wàn)套。大富翁總計(jì)發(fā)行了超過(guò)200個(gè)不同的游戲版本, 此次進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)的是大富翁世界版。世界版棋盤上包括“蒙特利爾,巴黎,紐約,倫敦”等22個(gè)城市,共跨越17個(gè)國(guó)家。“在里約熱內(nèi)盧過(guò)狂歡節(jié)”;“赴約參加柏林音樂原文請(qǐng)找 節(jié)”等世界各地的傳統(tǒng)文化節(jié)日會(huì)出現(xiàn)在機(jī)會(huì)卡與社會(huì)基金上;除此之外,隨著世界變暖日益成為環(huán)保嚴(yán)峻話題,棋盤上的傳統(tǒng)水、電力廠兩大公共設(shè)施也獨(dú)具匠心地被風(fēng)能和太陽(yáng)能取而代之。具體城市包括:中國(guó),北京,上海,香港,臺(tái)北加拿
16、大,多倫多,溫哥華法國(guó),巴黎 英國(guó),倫敦美國(guó),紐約澳大利亞,悉尼意大利,羅馬 希臘,雅典日本,東京 俄羅斯,莫斯科1.3 詳細(xì)規(guī)則基于世界版規(guī)則,我制訂了java版大富翁的游戲規(guī)則。以下貨幣的單位以標(biāo)準(zhǔn)版為準(zhǔn)1.3.1 游戲開始每位玩家有1500元作為資產(chǎn),包括: 1元紙幣5張5元、20元、50元紙幣各1張10元、500元紙幣各2張100元紙幣4張或每位玩家有15000元作為資產(chǎn),包括: 10元、50元、100元紙幣各5張200元紙幣6張500元、1000元、5000元紙幣各2張1.3.2 擲骰玩家進(jìn)行游戲時(shí),需要投擲兩顆骰子,具體規(guī)則如下:a) 每次同時(shí)擲出兩顆骰子,兩
17、顆骰子的點(diǎn)數(shù)相同的話可以多一個(gè)回合,若在此回合入獄,則多出來(lái)的回合取消。連續(xù)三次點(diǎn)數(shù)相同直接入獄。b) 每次到達(dá)或經(jīng)過(guò)go可以取200元(以標(biāo)準(zhǔn)版本為準(zhǔn))。c) 到達(dá)無(wú)人擁有的地皮,玩家可選擇要不要購(gòu)買。如不買則銀行拍賣之,不限底價(jià),到達(dá)的玩家也可參與拍賣。d) 到達(dá)有人擁有的地皮,地主可依規(guī)定收租。1.3.3 物業(yè)java版大富翁實(shí)現(xiàn)了以下物業(yè)資源:a) 玩家到達(dá)無(wú)人擁有的地皮,玩家可選擇要不要購(gòu)買。b) 銀行的錢是無(wú)限,但建筑物有限(32間房子及12間旅館)。c) 玩家之間可以進(jìn)行金錢、物業(yè)和保釋卡之間的交易。1.3.4 房子與旅
18、館做為java大富翁的重要投資資源,房子與旅館的購(gòu)買與使用有如下約束條件:a) 如擁有全部同色未抵押地皮,則可以在任何玩家擲骰前選擇蓋房子,因擲出相同點(diǎn)數(shù)而得額外的回合除外b) 房子必須蓋在同組中目前房子最少的地上,也就是說(shuō)房子得平均地蓋。c) 不可以蓋在已抵押的地皮上。d) 當(dāng)全部的地都蓋滿了4間房子,玩家可以選擇蓋旅館。旅館建成后4間房子要繳回銀行。e) 一塊地最多只能蓋一幢旅館。f) 可一次蓋多間房子,甚至直升旅館,但仍滿足平均原則(旅館視做5間房子)。g) 當(dāng)有多位玩家同時(shí)想蓋房子,銀行卻沒有足夠的房子時(shí),銀行需逐一
19、拍賣房子,價(jià)高者得。1.3.5 套取現(xiàn)金做為衡量游戲的重要標(biāo)準(zhǔn),能適時(shí)的套取現(xiàn)金會(huì)保證玩家在游戲過(guò)程中戰(zhàn)勝其他對(duì)手套取現(xiàn)金的具體規(guī)則如下:a) 玩家可以半價(jià)把房子賣給銀行,賣的時(shí)候依然得保持同色地房子數(shù)量的平均,也就是說(shuō)得賣房子最多的地。b) 一幢旅館的價(jià)值等同5間房子,并可分開來(lái)賣,前提是銀行可以找零提供剩下的房子。此時(shí)依然得保持平均原則,也就是說(shuō)若銀行沒有任何房子,玩家只能選擇把同色地的旅館全部賣掉。c) 玩家原文請(qǐng)找 擲骰前贖回地皮,因擲出相同點(diǎn)數(shù)而得額外的回合除外。贖地時(shí)要加付抵押值10%的利息,遇小數(shù)無(wú)條件進(jìn)入。1.3.6 交易交易具體規(guī)則如下:a)
20、160;在任何時(shí)間,玩家可與對(duì)手交易沒有建筑物的地皮,先商談的交易先處理。b) 玩家間不得借貸。c) 在交易已抵押地皮后,新?lián)碛姓呖蛇x擇馬上贖回地皮,或不馬上贖回只付抵押價(jià)10%的交易稅給銀行。如不馬上贖回,日后贖回時(shí)還是要加付抵押值10%的利息。d) 保釋卡可作交易。1.3.7 入獄監(jiān)獄做為大富翁的特殊方格資源,有如下規(guī)則:a) 入獄時(shí)仍可以收租、蓋房子或是交易,只是不能移動(dòng)。b) 入獄時(shí),玩家可在擲骰前選擇用監(jiān)獄通行證或是付50元罰金以馬上出獄。c) 在入獄時(shí),唯有擲出相同的點(diǎn)數(shù)才能移動(dòng)(出獄),此時(shí)并不會(huì)有額外的回合。d)
21、60;在牢中的待到第三回合仍未擲出相同點(diǎn)數(shù)時(shí),玩家則需付50元罰金即時(shí)出獄,并照剛擲出的點(diǎn)數(shù)移動(dòng)。1.3.8 破產(chǎn)如在賣出或抵押所有資產(chǎn)后仍無(wú)足夠的現(xiàn)金以支付債務(wù),則玩家宣告破產(chǎn),破產(chǎn)后需要執(zhí)行以下動(dòng)作:a) 所有資產(chǎn)直接轉(zhuǎn)讓給債主,其已抵押地皮轉(zhuǎn)讓給債主時(shí),債主要馬上付抵押值10%的交易稅。b) 若債主是銀行,銀行馬上無(wú)底價(jià)拍賣所有地皮。c) 若債主是多位玩家(如得一次付50元給其他玩家),由銀行償還債務(wù)并馬上無(wú)底價(jià)拍賣所有地皮。1.3.9 勝利條件最后一位沒有破產(chǎn)的玩家得勝。限時(shí)結(jié)束時(shí),總資產(chǎn)最高者得勝。1.4 java版大富翁的游戲策略最后擲骰子的玩家往往比
22、其他人不利,因?yàn)榍懊嫖飿I(yè)可能已被較早擲骰子的玩家購(gòu)買。雖然如此,游戲策略能大大提高勝出的機(jī)會(huì)。六人作賽時(shí),很大機(jī)會(huì)沒有人能靠運(yùn)氣買下同色的地。如果不交易換地,游戲?qū)]完沒了進(jìn)行下去。以下要注意的地方:a) 游戲初段入獄應(yīng)盡早繳交罰款出獄,爭(zhēng)取機(jī)會(huì)購(gòu)買土地。到了游戲末段,當(dāng)大部分玩家都已發(fā)展其勢(shì)力范圍時(shí),入獄可使自己免墮入他人之物業(yè),此時(shí)則應(yīng)運(yùn)用三次擲骰子機(jī)會(huì),延緩出獄時(shí)機(jī),增加他人踏中自己土地之機(jī)會(huì)。b) 交“入息稅”時(shí),游戲者要立即決定付200元(以標(biāo)準(zhǔn)版作準(zhǔn))或交總資產(chǎn)的10%。在自己每一個(gè)物業(yè)只建1至2幢房子不是成功的投資,3幢房子的租金比一、兩幢房子的租金高出兩倍以
23、上。java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖1.5 課題的項(xiàng)目背景本論文研究?jī)?nèi)容來(lái)源于“基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)”項(xiàng)目。大富翁游戲一般需要2-8名玩家,1名裁判負(fù)責(zé)主管財(cái)產(chǎn)和銀行等資源。因此,想要開始一局大富翁游戲,至少需要三人,兩名玩家,一名裁判。參加游戲的人數(shù)越多,游戲會(huì)更有趣。但是這樣會(huì)存在一些弊端,主要表現(xiàn)在:1. 當(dāng)4名以上玩家進(jìn)行游戲時(shí),會(huì)增加裁判的壓力,會(huì)造成資產(chǎn),現(xiàn)金計(jì)算錯(cuò)誤。2. 同時(shí),會(huì)增加每回合游戲時(shí)間。3. 如果將玩家數(shù)目增至8人,玩家投擲骰子順序容易出錯(cuò)。4. 并且,游戲時(shí)間明顯增長(zhǎng),在有些玩家沒有充足時(shí)間游戲
24、的情況下,此局游戲沒有產(chǎn)生最終贏家的情況下會(huì)被終止。5. 由于游戲布局的不變性,會(huì)讓多次玩此游戲的玩家產(chǎn)生厭惡。6. 同時(shí),多次玩此游戲的玩家會(huì)總結(jié)出游戲技巧,不利于游戲的公平性。隨著計(jì)算機(jī)計(jì)算模擬能力、圖像處理和存儲(chǔ)等技術(shù)的飛速發(fā)展、日趨成熟,開發(fā)電子版的大富翁已是解決上述問(wèn)題的有效途徑,與傳統(tǒng)大富翁游戲相比,電子版大富翁具有以下優(yōu)點(diǎn):1. 裁判為電腦程序托管,即使在8人同時(shí)游戲的情況下,也不會(huì)產(chǎn)生計(jì)算錯(cuò)誤。2. 由于通過(guò)程序計(jì)算現(xiàn)金,資產(chǎn)變動(dòng),每回合游戲時(shí)間大大縮短,避免了浪費(fèi)不必要的時(shí)間。3. 同時(shí)伴有游戲動(dòng)畫,聲音,增加了游戲的生動(dòng)性。
25、4. 即使中途有玩家退出,可以選擇保存當(dāng)前游戲,游戲的所有數(shù)據(jù)會(huì)被保存到本地硬盤中,數(shù)日后仍可提取存檔進(jìn)行當(dāng)前的游戲。5. 可以將玩家進(jìn)行電腦托管。6. 在一名玩家的情況下,可以加入電腦玩家,這樣一名玩家可以和一名或多名電腦玩家開始游戲,減少了由于玩家數(shù)目不能開始游戲的弊端。7. 在初原文請(qǐng)找 次復(fù)制。無(wú)論是作為減少生產(chǎn)成本,還是響應(yīng)最近由于全球變暖提出的環(huán)保政策,對(duì)游戲?qū)嵤╇娮佑?jì)算化過(guò)程,替換紙張塑料生產(chǎn),減少生產(chǎn)成本,降低資源消耗,已經(jīng)成為當(dāng)今世界眾多桌面游戲發(fā)展的趨勢(shì)之一。“基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)”項(xiàng)目正是這樣的背景下開發(fā)出來(lái)的。第2
26、章 系統(tǒng)需求分析基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)采用jdk6.0進(jìn)行面向?qū)ο笤O(shè)計(jì)與開發(fā),數(shù)據(jù)處理部分用sql server2008進(jìn)行設(shè)計(jì)與開發(fā)。2.1 游戲開發(fā)的可行性分析基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)中最重要的技術(shù)就是進(jìn)行人工智能算法的設(shè)計(jì)與開發(fā)。1. 隨著電子計(jì)算機(jī)計(jì)算能力的日益發(fā)展,計(jì)算機(jī)能夠完成的人工智能也越來(lái)越發(fā)達(dá),日前應(yīng)用比較廣泛的人工智能運(yùn)算主要集中與嵌入式產(chǎn)品與計(jì)算機(jī)軟件相關(guān)產(chǎn)品中,他們具有一定的智能,配合管理軟件及高度發(fā)達(dá)的計(jì)算機(jī)硬件,一般能具有與人類相仿運(yùn)算能力。2. 在數(shù)據(jù)處理方面,產(chǎn)品比較多,而且一般比較專業(yè)化,不同的應(yīng)用環(huán)境有不同的解決
27、方案,也有不同的產(chǎn)品和廠家。在本系統(tǒng)中,由于數(shù)據(jù)增長(zhǎng)速度快、查詢速度要求高、數(shù)據(jù)量大等特點(diǎn),數(shù)據(jù)庫(kù)的選擇無(wú)疑是很重要的。在存儲(chǔ)管理軟件方面,目前有很多優(yōu)秀的存儲(chǔ)管理軟件,能夠很好地和數(shù)據(jù)庫(kù)結(jié)合在一起,發(fā)揮數(shù)據(jù)庫(kù)的最大優(yōu)越性,而且提供軟件接口,提供了豐富的存儲(chǔ)管理功能,支持二次開發(fā)。以上幾個(gè)技術(shù)的發(fā)展成熟,對(duì)本游戲提供了技術(shù)可行性。 2.2 游戲開發(fā)的目標(biāo)本游戲最初分為初始化游戲,創(chuàng)建玩家,玩家投擲骰子,玩家移動(dòng),玩家到達(dá)所屬區(qū)域,玩家購(gòu)買地產(chǎn),玩家投資建設(shè)房屋,玩家投資建設(shè)賓館等用例。本游戲涉及的用例如下圖所示圖2-1游戲用例圖2.3 游戲開發(fā)的主體主要包括游戲初始化,創(chuàng)建玩家等九個(gè)部分。2.
28、3.1 游戲處理流程首先從數(shù)據(jù)庫(kù)系統(tǒng)中導(dǎo)入土地的相關(guān)信息,然后創(chuàng)建玩家,當(dāng)創(chuàng)建玩家數(shù)滿足游戲開始條件時(shí),初始化并開始游戲。當(dāng)游戲正式開始開始后,按玩家標(biāo)記由高到低開始投擲骰子。每一名玩家投擲骰子后,得到隨機(jī)骰子數(shù),玩家前進(jìn)相應(yīng)的方格數(shù),到達(dá)新方格。如果此方格已有其他玩家購(gòu)買或投資,玩家需付過(guò)路費(fèi),如果沒有,玩家可以選擇購(gòu)買并投資。當(dāng)玩家到達(dá)自己已擁有方格后,可繼續(xù)投資。當(dāng)玩家到達(dá)公共免費(fèi)資源,可免費(fèi)停留。當(dāng)玩家到達(dá)稅務(wù)局,需負(fù)稅。當(dāng)玩家通過(guò)gogogo方格,可獲$200獎(jiǎng)勵(lì)。這樣,前一玩家結(jié)束投擲后,下一玩家方可開始投擲。游戲處理流程如圖2-2所示。圖2-2 游戲處理流程2.3.2 游戲框架結(jié)
29、構(gòu)游戲框架結(jié)構(gòu)如圖2-3所示。 圖2-3 游戲框架結(jié)構(gòu)圖1. 創(chuàng)建:創(chuàng)建滿足游戲初始化條件數(shù)目的玩家,并開始游戲,如果失敗,繼續(xù)創(chuàng)建玩家。2. 初始化:將玩家信息,所有土地信息初始化。3. 游戲主窗體:作為系統(tǒng)處理數(shù)據(jù)與玩家交互的接口,主要負(fù)責(zé)重新游戲,投擲骰子等基本功能。2.3.3 初始化游戲流程初始化游戲流程見圖2-1。數(shù)字化加工系統(tǒng)包括控制中心模塊、檔案掃描模塊、圖像處理模塊、校驗(yàn)?zāi)K和上載掛接模塊。java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖圖2-1游戲初始化流程圖2.3.4 相關(guān)游戲參數(shù)導(dǎo)入功能土地信息系統(tǒng)數(shù)據(jù)導(dǎo)入是指將土地的基本信息(如編號(hào)、顏色、擁
30、有者、購(gòu)買價(jià)格、過(guò)路費(fèi)、房屋等級(jí)等信息)從已有的信息系統(tǒng)大富翁世界版土地信息系統(tǒng)導(dǎo)入到本游戲系統(tǒng)中,以避免重復(fù)錄入以及錄入錯(cuò)誤。2.3.5 加入玩家游戲每次創(chuàng)建一個(gè)玩家,可以用程序中默認(rèn)的玩家名字,玩家_1,玩家_2,玩家_3等不會(huì)重復(fù)。也可以自定義玩家名字,但是不能重復(fù)創(chuàng)建相同名字的玩家。每當(dāng)創(chuàng)建一玩家,程序會(huì)自動(dòng)在玩家信息中更新當(dāng)前玩家的最新信息,包括玩家名字,玩家標(biāo)記,玩家所在地,玩家持有現(xiàn)金。對(duì)于新創(chuàng)建的玩家,玩家所在地一般為gogogo,玩家持有現(xiàn)金為$1500。同時(shí),在開始新游戲后,玩家標(biāo)記出現(xiàn)在gogogo方格中,隨著玩家投擲骰子行進(jìn),標(biāo)記也會(huì)隨之移動(dòng)。2.3.6 查詢玩家信息玩
31、家們?cè)谶M(jìn)行游戲過(guò)程中,需要及時(shí)了解各自玩家信息,這樣才能在遇到不同機(jī)會(huì)情況下制定不同策略。本游戲?yàn)橥婕以O(shè)計(jì)了方便玩家查詢的信息窗口,提供玩家名字,標(biāo)記,玩家所在地,玩家所持現(xiàn)金等相關(guān)必備信息。2.3.7 存儲(chǔ)游戲/提取存檔在有限的時(shí)間內(nèi),玩家可能完成不了一局游戲,此游戲提供了存儲(chǔ)游戲功能。此功能存儲(chǔ)的數(shù)據(jù)屬性包括,玩家數(shù)目,玩家信息(玩家姓名,所在地,所持有現(xiàn)金),土地信息(編號(hào),擁有者,房屋等級(jí))等相關(guān)信息。在玩家重新提之前游戲的存檔后,以上信息會(huì)被載入游戲初始化信息,以便玩家開始之前的游戲。2.4 游戲數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)構(gòu)在此游戲中共用到土地信息表、世界版信息索引表、玩家信息表、游戲存儲(chǔ)表等4個(gè)
32、表。本系原文請(qǐng)找 表名 描述square 土地信息表w_square 世界版信息索引表playerinfo 玩家信息表save 游戲存儲(chǔ)表存檔索引數(shù)據(jù)庫(kù)設(shè)計(jì),規(guī)范化設(shè)計(jì),為什么如此建表第3章 系統(tǒng)概要設(shè)計(jì)在基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)中,主要采用面向?qū)ο蟮脑O(shè)計(jì)方法。在實(shí)施主要編碼工作之前,進(jìn)行了游戲初始化類之間關(guān)系,游戲進(jìn)行時(shí)類之間關(guān)系,游戲初始化順序,游戲進(jìn)行順序等用例圖及類圖的設(shè)計(jì),這樣為更高效的開發(fā)做了鋪墊。3.1 游戲體系結(jié)構(gòu)設(shè)計(jì)方法基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)采用了用戶接口,數(shù)據(jù)存儲(chǔ),游戲數(shù)據(jù)交互的設(shè)計(jì)模式進(jìn)行設(shè)計(jì)。3
33、.1.1 用戶界面接口設(shè)計(jì)隨著internet的飛速發(fā)展,java技術(shù)也得到了越來(lái)越廣泛的應(yīng)用。而無(wú)論是采用j2se、j2ee還是j2me,gui都是不能回避的問(wèn)題。現(xiàn)在的應(yīng)用軟件越來(lái)越要求界面友好、功能強(qiáng)大而又使用簡(jiǎn)單。而眾所周知,在java中進(jìn)行g(shù)ui設(shè)計(jì)相對(duì)于其跨平臺(tái)、多線程等特性的實(shí)現(xiàn)要復(fù)雜和麻煩許多。但gui已經(jīng)成為程序發(fā)展的方向,所以我們也必須了解java的gui設(shè)計(jì)方法和特點(diǎn)。其實(shí),采用java提供的布局管理器接口和相應(yīng)的布局管理類,我們也可以做出相當(dāng)漂亮的界面來(lái),當(dāng)然實(shí)現(xiàn)起來(lái)肯定要比vb麻煩許多。在基于java的大富翁游戲設(shè)計(jì)與實(shí)現(xiàn)中,我們每設(shè)計(jì)一個(gè)窗體,都要往其中添加若干組件
34、。為了管理好這些組件的布局,我們就需要使用布局管理器。游戲界面作為數(shù)據(jù)與用戶的交互通道,設(shè)計(jì)必須直觀,易與用戶操作。因此界面中布局部分采用了gridlayout的布局方式,gridlayout 布局的功能非常強(qiáng)大,也是很多人常用的一種布局方式。gridlayout是網(wǎng)格式布局,它把父組件分成一個(gè)表格,默認(rèn)情況下每個(gè)子組件占據(jù)一個(gè)單元格的空間,每個(gè)子組件按添加到父組件的順序排列在表格中。gridlayout提供了很多的屬性,可以靈活設(shè)置網(wǎng)格的信息。在每一個(gè)土地資源格中,分別采用四行一列的gridlayout布局方式,第一行顯示地點(diǎn)名稱,第二行作為輸出資源相關(guān)信息(購(gòu)買價(jià)格,過(guò)路費(fèi)),第三行顯示擁
35、有者,房屋等級(jí)等信息,第四行作為玩家標(biāo)記的顯示區(qū)。這樣在玩家標(biāo)記區(qū),用添加了一行四列的gridlayout布局方式,分別為不同玩家顯示相應(yīng)的標(biāo)記,以避免多名玩家停留一格而造成標(biāo)記顯示重復(fù)的問(wèn)題。3.1.2 游戲數(shù)據(jù)交互設(shè)計(jì)作為基于java的大富翁游戲設(shè)計(jì)與實(shí)現(xiàn)的核心部分,必須保證游戲數(shù)據(jù)與用戶界面顯示相一致。當(dāng)玩家點(diǎn)擊投擲骰子時(shí),會(huì)調(diào)用監(jiān)聽器函數(shù)actionperformed()方法,從而執(zhí)行相應(yīng)的人工智能算法。在執(zhí)行人工智能算法時(shí),首先判定玩家是否破產(chǎn),如果破產(chǎn),返回該玩家已退出游戲,下一位玩家繼續(xù)投擲骰子。如果破產(chǎn)玩家是第一次認(rèn)定破產(chǎn),執(zhí)行該玩家所有資產(chǎn)歸公有,清除此玩家擁有的土地資源上該
36、玩家的名字,清除玩家在方格中的標(biāo)記,以達(dá)到刪除玩家的目的。如果經(jīng)過(guò)判定玩家沒有破產(chǎn),玩家投擲骰子,根據(jù)玩家投擲的點(diǎn)數(shù),玩家前進(jìn)相應(yīng)格數(shù),同時(shí)相應(yīng)玩家標(biāo)記在方格中位置及存儲(chǔ)玩家信息中的數(shù)組同時(shí)更新。當(dāng)玩家到達(dá)的方格如果為其他玩家 擁有時(shí),需要付過(guò)路費(fèi);當(dāng)玩家到達(dá)的方格沒有擁有者時(shí),玩家可以選擇購(gòu)買該土地資源并投資建造房屋。建造房屋的同時(shí),該資源房屋等級(jí)增加,同時(shí)公共房屋資源減少,如果公共房屋資源為零,玩家不能繼續(xù)投資建造房屋。如果玩家到達(dá)的方格為自己已經(jīng)購(gòu)買的方格,玩家可以選擇繼續(xù)投資升級(jí),當(dāng)房屋等級(jí)小于四級(jí)時(shí),玩家只能選擇建造房屋;當(dāng)房屋等級(jí)為四級(jí)時(shí),玩家可以選擇建造賓館,同時(shí)已擁有的四套房屋
37、資源歸還給公共資源,房屋等級(jí)升級(jí)為最高級(jí)五級(jí),并不能繼續(xù)建造升級(jí)。另外,房屋等級(jí)每升級(jí)一次,該土地資源的過(guò)路費(fèi)會(huì)增加。圖3-1為該算法流程圖。java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖圖3-1算法流程圖3.1.3 游戲總體結(jié)構(gòu)圖根據(jù)前面系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)分析,整個(gè)基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)將用戶接口,數(shù)據(jù)存儲(chǔ),游戲數(shù)據(jù)交互的設(shè)計(jì)模式,而這種設(shè)計(jì)模式將以軟件的組織形式表現(xiàn)出來(lái),游戲總體結(jié)構(gòu)如圖3-2所示:用戶界面接口游戲數(shù)據(jù)交互數(shù)據(jù)存儲(chǔ)圖3-2 游戲總體結(jié)構(gòu)圖基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)可以建立在任何平臺(tái)為基礎(chǔ)的系統(tǒng)上,各層次的功能和關(guān)系:1. 數(shù)據(jù)存儲(chǔ)層主要由存
38、儲(chǔ)和備份的操作軟件組成,提供i/o級(jí)的調(diào)用,由windows統(tǒng)一管理,主要完成基本的存儲(chǔ)游戲數(shù)據(jù)和備份游戲數(shù)據(jù)的管理,向數(shù)據(jù)交互層提供數(shù)據(jù)服務(wù)。2. 數(shù)據(jù)交互層主要由應(yīng)用監(jiān)聽函數(shù)中的人工智能算法組成。其中,人工智能算法管理所有與存儲(chǔ)和游戲數(shù)據(jù)交互有關(guān)的操作,統(tǒng)一管理、保證游戲數(shù)據(jù)和用戶界面的顯示統(tǒng)一一致,對(duì)數(shù)據(jù)塊按邏輯和組織關(guān)系進(jìn)行分配,以最優(yōu)化的方式完成所有游戲數(shù)據(jù)的更新,增加與刪除,實(shí)現(xiàn)最佳的游戲運(yùn)算效率,并制定合理可行高效的動(dòng)態(tài)調(diào)度策略來(lái)實(shí)現(xiàn)玩家間的信息改變?cè)斐傻钠渌嚓P(guān)信息更新。監(jiān)聽原文請(qǐng)找 用。3. 用戶界面接口層提供了直觀、簡(jiǎn)潔、大方的用戶界面,由土地資源,玩家
39、標(biāo)記,游戲進(jìn)程信息,玩家信息,操作功能等五大區(qū)域構(gòu)成。土地資源主要顯示土地名稱,購(gòu)買價(jià)格,過(guò)路費(fèi),擁有者,房屋等級(jí)等信息。另外還有公共資源,公共資源初始化擁有者為public resource,并且不能更改。玩家標(biāo)記在土地資源顯示區(qū)中,當(dāng)玩家停留在該資源中,標(biāo)記會(huì)顯示在相應(yīng)的方格中。游戲進(jìn)程信息會(huì)提示玩家游戲已完成的進(jìn)度或?qū)⒁M(jìn)行的操作,例如玩家_1到達(dá)東京,此地?fù)碛姓邽橥婕襙2,玩家_1付費(fèi)玩家_2 $400過(guò)路費(fèi)。玩家信息提供玩家當(dāng)前位置與當(dāng)前持有現(xiàn)金等信息,如果玩家當(dāng)前持有現(xiàn)金為零或小于零,當(dāng)前區(qū)域顯示該玩家破產(chǎn)。操作功能提供了清晰明了的按鍵操作,由創(chuàng)建玩家、開始游戲、投擲骰子、購(gòu)買資產(chǎn)
40、、建造房屋,建造賓館,保存游戲,重新游戲,退出游戲等按鍵構(gòu)成。3.2 設(shè)計(jì)原則基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)應(yīng)遵循以下設(shè)計(jì)原則:1. 游戲的先進(jìn)性和成熟性原則在游戲的設(shè)計(jì)中,選用的軟件應(yīng)當(dāng)是當(dāng)今世界上具有主導(dǎo)和領(lǐng)先地位的成熟產(chǎn)品;同時(shí)具有一定的互操作性,便于系統(tǒng)的集成。除此之外,在整體設(shè)計(jì)思想上也必須具備超前性。一方面,最大限度地保護(hù)用戶的現(xiàn)有投資;另一方面,使系統(tǒng)具有較強(qiáng)的生命力。選用技術(shù)和設(shè)備應(yīng)當(dāng)是先進(jìn)成熟的,已有效保護(hù)投資,滿足未來(lái)技術(shù)發(fā)展需要。包括:java開發(fā)軟件、結(jié)構(gòu)設(shè)計(jì)軟件、數(shù)據(jù)庫(kù)、應(yīng)用軟件體系結(jié)構(gòu)和實(shí)現(xiàn)技術(shù)等方面。2. 游戲的標(biāo)準(zhǔn)性和開放性原則游戲?qū)?lái)
41、還可能會(huì)接入其他功能或升級(jí)為其他版本。因此,在游戲設(shè)計(jì)中,采用數(shù)據(jù)接口技術(shù)以及游戲數(shù)據(jù)交互算法,并考慮游戲以后的擴(kuò)充問(wèn)題,將用戶界面與數(shù)據(jù)存儲(chǔ)分離可以進(jìn)行獨(dú)立開發(fā)。具體將按以下方面考慮:1) 用戶界面和數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)性、開放性;2) 用戶操作接口的標(biāo)準(zhǔn)性;3) 存儲(chǔ)介質(zhì)標(biāo)準(zhǔn)化;4) 數(shù)據(jù)交換算法的標(biāo)準(zhǔn)化。3. 游戲的安全性和可靠性原則可靠的數(shù)據(jù)交互手段、存儲(chǔ)方式、運(yùn)行環(huán)境和安全保證是游戲成功運(yùn)行的關(guān)鍵。在游戲設(shè)計(jì)中,采用完善的異常處理機(jī)制;在操作系統(tǒng)上,采用系統(tǒng)較常見的安全保障機(jī)制;在數(shù)據(jù)交互中,選用經(jīng)過(guò)多次測(cè)試數(shù)據(jù)交互技術(shù)來(lái)確保數(shù)據(jù)交互的正確性
42、、一致性;在結(jié)構(gòu)上,選用數(shù)據(jù)與結(jié)構(gòu)分離的結(jié)構(gòu)技術(shù),可以方便游戲的更新升級(jí)。同時(shí),利用大型數(shù)據(jù)庫(kù)的安全性能確保存儲(chǔ)數(shù)據(jù)的安全。在整體設(shè)計(jì)中,根據(jù)實(shí)際情況采用數(shù)據(jù)備份技術(shù),確保游戲的可靠性。游戲功能方面:游戲配備有完整的游戲進(jìn)程記錄,記錄玩家所做的任何操作。游戲具有嚴(yán)格的操作權(quán)限管理功能,能夠提供基于玩家的狀態(tài)與土地資源等信息,對(duì)任何非法操作都能拋出異常。游戲提供完善的出錯(cuò)控制功能,在創(chuàng)建玩家、購(gòu)買土地資產(chǎn)、建造房屋、建造賓館等過(guò)程中,均有自動(dòng)統(tǒng)計(jì)、自動(dòng)檢查功能,可有效保證游戲數(shù)據(jù)的完整性和可靠性。游戲中存儲(chǔ)的數(shù)據(jù)與用戶界面接口的交互過(guò)程中,采用經(jīng)過(guò)多次測(cè)試的算法進(jìn)行保證,以避免信息傳遞過(guò)程中造成
43、丟失或?qū)懭雰?nèi)存位置不正確而造成的數(shù)據(jù)錯(cuò)誤?;趈ava的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)采用必要的備份機(jī)制,并提供多層安全管理控制功能來(lái)保證系統(tǒng)的可靠性。4. 游戲的可擴(kuò)展和易維護(hù)原則在游戲的設(shè)計(jì)中,所有功能函數(shù)的設(shè)計(jì)都充分考慮到整體系統(tǒng)的可擴(kuò)展性。游戲應(yīng)能滿足隨著計(jì)算機(jī)性能的不斷發(fā)展而隨時(shí)增加用戶及升級(jí)的需求?;趈ava的大富翁的設(shè)計(jì)與實(shí)現(xiàn)的硬件設(shè)備采用通用設(shè)備,維護(hù)方便;軟件開發(fā)可以跨平臺(tái)使用,界面友好,維護(hù)便利;游戲的設(shè)計(jì)靈活活,可隨著玩家的發(fā)展變化,隨時(shí)增加新的功能,而不必對(duì)用戶界面做任何改動(dòng);游戲充分考慮功能的擴(kuò)展性,采用通用數(shù)據(jù)操作接口,為多次開發(fā)升級(jí)預(yù)留接口。5. 游
44、戲的實(shí)用性和經(jīng)濟(jì)性原則游戲的設(shè)計(jì)必須考慮到工程實(shí)施完成后系統(tǒng)的操作與維護(hù)。因此,系統(tǒng)應(yīng)具備較強(qiáng)的可管理型和易操作性,使參與游戲的玩家能夠盡快熟練地java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖掌握該游戲的操作和各項(xiàng)功能,以保證游戲能安全可靠地運(yùn)行。游戲基于計(jì)算機(jī)操作系統(tǒng),避免了紙張塑料的制造,一次開發(fā),多次復(fù)制,節(jié)省費(fèi)用開支;游戲的開發(fā)工具與數(shù)據(jù)庫(kù)均采用開源的互聯(lián)網(wǎng)資源,安全可靠,成本低廉,易于推廣。6. 游戲的兼容性原則java 技術(shù)既是一種高級(jí)的面向?qū)ο蟮木幊陶Z(yǔ)言,也是一個(gè)平臺(tái)。java 技術(shù)基于 java 虛擬機(jī)(java virtual machine,jvm)原文請(qǐng)找 jv
45、m 的任何系統(tǒng)上運(yùn)行。java 語(yǔ)言的主要好處是,java 應(yīng)用程序可以跨硬件平臺(tái)和操作系統(tǒng)進(jìn)行移植 這是因?yàn)槊總€(gè)平臺(tái)上安裝的 jvm 都可以理解同樣的字節(jié)碼。因此基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)可以在任何安裝jvm的平臺(tái)上運(yùn)行,而現(xiàn)在基本所有的平臺(tái)都會(huì)裝有jvm。從而實(shí)現(xiàn)了游戲多平臺(tái)運(yùn)行具有良好兼容性的原則。3.3 異常處理機(jī)制java的異常是面向?qū)ο蟮?。一個(gè)java的exception是一個(gè)描述異常情況的對(duì)象.當(dāng)出現(xiàn)異常情況時(shí),一個(gè)exception對(duì)象就產(chǎn)生了,并放到異常的成員函數(shù)里。java的異常處理是通過(guò)5個(gè)要害詞來(lái)實(shí)現(xiàn)的:try,catch,throw,throws和final
46、ly。 1.異常處理:在java語(yǔ)言的錯(cuò)誤處理結(jié)構(gòu)由try,catch,finally三個(gè)塊組成。其中try塊存放將可能發(fā)生異常的java語(yǔ)言,并治理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來(lái)激發(fā)被捕捉的異常;finally塊包含清除程序沒有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。2.拋出異常:java語(yǔ)言可以不在方法中直接捕捉,而用throw語(yǔ)句將異常拋給上層的調(diào)用者。throw語(yǔ)句就是來(lái)明確地拋出一個(gè)異常;首先你必需得到一個(gè)throwable的實(shí)例句柄,通過(guò)參數(shù)傳到catch中,或者采用new操作符來(lái)創(chuàng)建一
47、個(gè)。3.java中異常處理的原則當(dāng)一個(gè)類在遇到錯(cuò)誤時(shí),它應(yīng)該設(shè)法: a返回到一個(gè)安全和已知的狀態(tài) b能夠使用戶執(zhí)行其它的命令 c如果可能,就保存所有的工作 d如果有必要,可以退出以避免造成進(jìn)一步的危害在基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)中,采用了多種異常處理機(jī)制對(duì)游戲的進(jìn)程進(jìn)行保護(hù),具體聲明了類bankruptexception、類buildexception、類finalhotelex、類hotelexception、類houselevelexception、類initialexception、類monobuyexception等異常類來(lái)獲取異常并拋出提示信息。所有的異常類均繼承自類exc
48、eption,具體實(shí)施舉例如下:1. bankruptexception當(dāng)玩家執(zhí)行投擲骰子操作時(shí),會(huì)獲取玩家是否滿足異常條件,當(dāng)前所持現(xiàn)金等于零或小于零,滿足異常條件時(shí),會(huì)拋出提示信息,此玩家破產(chǎn)。具體流程圖如下:圖3-3 bankruptexception流程圖2. buildexception當(dāng)玩家到達(dá)一方格后,會(huì)獲取建造異常,如果當(dāng)前方格不屬于此玩家,玩家點(diǎn)擊建造房屋后會(huì)拋出異常提示信息,具體流程如下:圖3-4 buildexception流程圖3. finalhotelexception當(dāng)玩家投擲骰子并前進(jìn)至相應(yīng)方格后,會(huì)獲取建造賓館異常,當(dāng)房屋等級(jí)為最高
49、級(jí),代表已建造賓館,不能繼續(xù)投資建造,如果繼續(xù)建造,會(huì)拋出提示信息。具體流程如下:圖3-5 finalhotelexception流程圖 4. initialexception當(dāng)創(chuàng)建玩家后,點(diǎn)擊開始游戲時(shí),會(huì)獲取異常,如果滿足異常條件,游戲不允許開始,返回創(chuàng)建玩家,當(dāng)且僅當(dāng)不滿足異常條件時(shí),游戲才能夠初始化并開始。具體流程如下:java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖圖3-6 initialexcep
50、tion流程圖5. monobuyexception當(dāng)玩家到達(dá)一土地資源后,若選擇購(gòu)買,會(huì)首先獲取異常,如果滿足異常條件,會(huì)拋出異常提示信息。如果不滿足異常條件,玩家才能購(gòu)買,具體流程如下:圖3-7 monobuyexception流程圖3.4 總體方案總體方案部分給出了基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)的各主類之間的關(guān)系并且對(duì)整個(gè)游戲的功能進(jìn)行了概要介紹。3.4.1 各個(gè)主類之間的關(guān)系圖基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)采用面向?qū)ο笤O(shè)計(jì)方式設(shè)計(jì),由類player,類square,類userinterface,類property,類utility等主要類構(gòu)成。各主類之間關(guān)系如圖3
51、-8所示圖3-8 主類關(guān)系圖3.4.2 相關(guān)功能概述基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)分為以下幾個(gè)的功能模塊,相關(guān)游戲參數(shù)導(dǎo)入、創(chuàng)建玩家加入游戲、游戲過(guò)程、查詢玩家信息和存儲(chǔ)游戲/提取存檔等功能構(gòu)成。3.4.2.1 相關(guān)游戲參數(shù)導(dǎo)入功能土地信息系統(tǒng)數(shù)據(jù)導(dǎo)入是指將土地的基本信息(如編號(hào)、顏色、擁有者、購(gòu)買價(jià)格、過(guò)路費(fèi)、房屋等級(jí)等信息)從已有的信息系統(tǒng)大富翁世界版土地信息系統(tǒng)導(dǎo)入到本游戲系統(tǒng)中,以避免重復(fù)錄入以及錄 入錯(cuò)誤。3.4.2.2 創(chuàng)建玩家加入游戲每次創(chuàng)建一個(gè)玩家,可以用程序中默認(rèn)的玩家名字,玩家_1,玩家_2,玩家_3等不會(huì)重復(fù)。也可以自定義玩家名字,但是不能重復(fù)創(chuàng)建相同名字的玩家。每
52、當(dāng)創(chuàng)建一玩家,程序會(huì)自動(dòng)在玩家信息中更新當(dāng)前玩家的最新信息,包括玩家名字,玩家標(biāo)記,玩家所在地,玩家持有現(xiàn)金。對(duì)于新創(chuàng)建的玩家,玩家所在地一般為gogogo,玩家持有現(xiàn)金為$1500。同時(shí),在開始新游戲后,玩家標(biāo)記出現(xiàn)在gogogo方格中,隨著玩家投擲骰子行進(jìn),標(biāo)記也會(huì)隨之移動(dòng)。3.4.2.3 游戲過(guò)程游戲過(guò)程包括了投擲骰子,投資土地資產(chǎn),建造房屋,建造賓館等動(dòng)作,當(dāng)然當(dāng)玩家行進(jìn)到其他玩家土地或付費(fèi)方格后,玩家需要付費(fèi),相應(yīng)現(xiàn)金會(huì)減少。3.4.2.4 查詢玩家信息玩家們?cè)谶M(jìn)行游原文請(qǐng)找 查詢的信息窗口,提供玩家名字,標(biāo)記,玩家所在地,玩家所持現(xiàn)金等相關(guān)必備信息。3.4.2.5 存儲(chǔ)游戲/提取存
53、檔在有限的時(shí)間內(nèi),玩家可能完成不了一局游戲,此游戲提供了存儲(chǔ)游戲功能。此功能存儲(chǔ)的數(shù)據(jù)屬性包括,玩家數(shù)目,玩家信息(玩家姓名,所在地,所持有現(xiàn)金),土地信息(編號(hào),擁有者,房屋等級(jí))等相關(guān)信息。在玩家重新提之前游戲的存檔后,以上信息會(huì)被載入游戲初始化信息,以便玩家開始之前的游戲。第4章 系統(tǒng)詳細(xì)設(shè)計(jì)在概要設(shè)計(jì)中我們將基于java的大富翁游戲的設(shè)計(jì)與實(shí)現(xiàn)分為五個(gè)詳細(xì)的功能模塊游戲初始化/相關(guān)游戲參數(shù)導(dǎo)入、創(chuàng)建玩家加入游戲、游戲過(guò)程、查詢玩家信息和存儲(chǔ)游戲/提取存檔。功能模塊見圖4-1。圖4-1功能模塊圖4.1 游戲詳細(xì)設(shè)計(jì)4.1.1 游戲初始化/相關(guān)參數(shù)導(dǎo)入在游戲初始化過(guò)程中,會(huì)導(dǎo)入土地的基本信
54、息,包括編號(hào),名字,購(gòu)買價(jià)格,過(guò)路費(fèi),擁有者,房屋等級(jí)等信息。其中,當(dāng)土地資源為公共資源時(shí),默認(rèn)擁有者為公共玩家,公共玩家為游戲初始化時(shí)自動(dòng)生成創(chuàng)建的玩家。具體過(guò)程如圖4-2所示: 圖4-2初始化過(guò)程圖4.1.2 創(chuàng)建玩家加入游戲在創(chuàng)建玩家過(guò)程中,可以采用默認(rèn)的玩家名字,也可以玩家自己輸入名字,但是至少創(chuàng)建兩名玩家,否則游戲會(huì)拋出異常,無(wú)法開始新游戲。當(dāng)玩家被成功創(chuàng)建之后,會(huì)自動(dòng)生成玩家信息,包括玩家名字,玩家所在地,玩家所持現(xiàn)金等信息。具體流程如圖4-3所示:java大富翁游戲的設(shè)計(jì)+流程圖+總結(jié)體設(shè)計(jì)圖圖4-3創(chuàng)建玩家流程圖4.1.3 游戲過(guò)程游戲過(guò)程分為投擲骰子,購(gòu)買資產(chǎn),建造
55、房屋,建造賓館等過(guò)程。4.1.3.1 投擲骰子投擲骰子采用隨機(jī)數(shù),隨機(jī)生成一到六的點(diǎn)數(shù),這樣玩家在獲取隨機(jī)點(diǎn)數(shù)后,會(huì)行進(jìn)相應(yīng)的格數(shù),同時(shí)玩家標(biāo)記在方格上也能同時(shí)變化到最新格上。當(dāng)點(diǎn)擊投擲骰子按鍵時(shí),會(huì)產(chǎn)生抖動(dòng)效果,抖動(dòng)效果用多線程重定位窗口實(shí)現(xiàn),具體實(shí)現(xiàn)代碼如下:for(int i=0; i<50; i+) try thread.sleep(5);
56、 this.setbounds(0,10,1000,727); catch(interruptedexception er) try thread.slee
57、p(5); this.setbounds(10,0,1000,727); catch(interruptedexception er)
58、60; try thread.sleep(5); this.setbo
59、unds(20,5,1000,727); catch(interruptedexception er) try thread.sleep(5);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工人j計(jì)件合同協(xié)議書
- 中國(guó)牙科彎?rùn)C(jī)行業(yè)市場(chǎng)占有率及投資前景預(yù)測(cè)分析報(bào)告
- 酒店租賃轉(zhuǎn)讓合同協(xié)議書
- 超市門面買賣合同協(xié)議書
- 員工合同協(xié)議書全部怎么寫
- 婚紗店合同協(xié)議書招聘
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)商業(yè)計(jì)劃書5
- 買賣當(dāng)歸合同協(xié)議書范本
- 家政公司轉(zhuǎn)讓合同協(xié)議書
- 2025年土霉素市場(chǎng)調(diào)查報(bào)告
- 地下車庫(kù)車位劃線合同
- DBJ04-T 241-2024 公共建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)
- 汽車維修廠安全生產(chǎn)
- 環(huán)境因素識(shí)別評(píng)價(jià)培訓(xùn)
- 建設(shè)項(xiàng)目職業(yè)衛(wèi)生“三同時(shí)”課件
- 未成年人專門矯治教育制度適用研究
- 湖北省十堰市2023-2024學(xué)年高一下學(xué)期6月期末調(diào)研考試歷史試卷 含解析
- 2024年05月上海中國(guó)銀聯(lián)技術(shù)類社會(huì)招考(529)筆試歷年參考題庫(kù)附帶答案詳解
- 2025年華僑港澳臺(tái)學(xué)生聯(lián)招考試英語(yǔ)試卷試題(含答案詳解)
- 創(chuàng)新創(chuàng)業(yè)創(chuàng)造:職場(chǎng)競(jìng)爭(zhēng)力密鑰知到智慧樹章節(jié)測(cè)試課后答案2024年秋上海對(duì)外經(jīng)貿(mào)大學(xué)
- 四等水準(zhǔn)測(cè)量技術(shù)總結(jié)
評(píng)論
0/150
提交評(píng)論