長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第1頁(yè)
長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第2頁(yè)
長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第3頁(yè)
長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第4頁(yè)
長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE畢業(yè)設(shè)計(jì)(論文)第35頁(yè)畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目:長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)學(xué)生姓名: 學(xué)生學(xué)號(hào): 專(zhuān)業(yè)班級(jí): 指導(dǎo)老師: 畢業(yè)設(shè)計(jì)(論文)第PAGEI頁(yè)長(zhǎng)沙麻將游戲系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)摘要在互聯(lián)網(wǎng)高度發(fā)達(dá)的今天,網(wǎng)絡(luò)游戲得到了很大的普及。如今網(wǎng)絡(luò)上的游戲普遍存在地域性特點(diǎn)不強(qiáng)的缺點(diǎn)。本課題將開(kāi)發(fā)一個(gè)長(zhǎng)沙本地化的麻將游戲,它有著自身獨(dú)特的打牌方式,并加入了長(zhǎng)沙本地化語(yǔ)音功能。本系統(tǒng)的設(shè)計(jì)考慮到了系統(tǒng)的高可移植性,高可用性等特點(diǎn)。系統(tǒng)結(jié)構(gòu)采用C/S模式,運(yùn)用了多線(xiàn)程技術(shù),并利用TCP協(xié)議來(lái)實(shí)現(xiàn)服務(wù)器與客戶(hù)端之間信息的傳遞。游戲規(guī)則的制定在服務(wù)器端用單獨(dú)的類(lèi)來(lái)實(shí)現(xiàn)。將來(lái)只需要做少許修改,就可支持其他地域的游戲規(guī)則??紤]到玩家游戲過(guò)程中的速度體驗(yàn),系統(tǒng)設(shè)計(jì)中,我們將各種復(fù)雜的計(jì)算都在服務(wù)器端處理,客戶(hù)端只是簡(jiǎn)單的顯示信息,這樣游戲過(guò)程中速度將是非??斓摹1驹O(shè)計(jì)的創(chuàng)新性在于它采用了面向?qū)ο蟮脑O(shè)計(jì)思路,將語(yǔ)音功能,計(jì)分功能等單獨(dú)封。這樣,只需要對(duì)這些單獨(dú)的模塊稍作修改,就可滿(mǎn)足不同地域的需求,提高的系統(tǒng)的“擴(kuò)展性”。該系統(tǒng)很好的實(shí)現(xiàn)了麻將游戲的長(zhǎng)沙本地化特點(diǎn)。游戲在本機(jī)測(cè)試過(guò)程中運(yùn)行良好,同時(shí)語(yǔ)音系統(tǒng)也能正常工作,證實(shí)了系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)都得到了理想的結(jié)果。關(guān)鍵詞:長(zhǎng)沙麻將,多線(xiàn)程,TCP協(xié)議,C/S模式,語(yǔ)音功能Thedesignanddevelopmentof"ChangshaMajiang"ABSTRACTInhighlydevelopedInternettoday,thenetworkgamewasmuchuniversal.Nowthenetworkgamesonthewidespreadhavemanyshortcomings,suchasgeographicalcharacteristicsisnotstrong.ThistopicwilldevelopamajianggameinChangshalocalization,whichhasitsownuniquewayofplayingcards,andwealsoappendlocalizationofvoicefunctiontothisgame.Thedesignofthesystemtakesintoaccountthehighportabilityandhighavailabilityfeatures.WeusedC/Ssystemarchitecturemodel,multithreadingtechnology,andweusedTCPprotocoltotransferofinformationbetweenserverandclients.Rulesofthegamewereconstitutedintheserverwithaseparatecategory.Inthefuture,thegameonlyneedssomesmallmodificationstosupportothergeographicalrules.Takingintoaccountoftheplayer'sfeelingwhentheyplayingthegame,wewillallhavecomplicatedcalculationsontheserverside,theclientonlysimplydisplayinformation.Sothespeedofthisgamewillbeveryfast.Theinnovationindesignliesinitsuseoftheobject-orienteddesign.Thefunctionofvoiceandcalculatescoreisachievedinaseparatecategory.Thus,theyonlyneedtomakesomemodificationsintheseseparatemodules;itcanmeettheneedsofdifferentregions,whichimprovethesystem"scalability."Thesystemachievedaverygoodlocalizationfeatures.Gamesinthecourseofthetestrungood,andvoicesystemcanworkwell,too.Alloftheseconfirmedthatthesystemdesignanddevelopmenthasbeenthedesiredresults.Keywords:Changshamajiang,multithreading,TCPprotocol,C/Smode,voicefunction目錄TOC\o"1-3"\h\z1緒論 11.1課題背景與長(zhǎng)沙麻將設(shè)計(jì)的目的 11.1.1課題背景 11.1.2長(zhǎng)沙麻將設(shè)計(jì)的目的 21.2網(wǎng)絡(luò)游戲的市場(chǎng)現(xiàn)狀 21.2.1中韓游戲領(lǐng)域?qū)Ρ确治?21.2.2中國(guó)網(wǎng)絡(luò)游戲存在的問(wèn)題 41.3長(zhǎng)沙麻將設(shè)計(jì)的內(nèi)容和意義 52長(zhǎng)沙麻將設(shè)計(jì)的相關(guān)技術(shù)介紹 72.1客戶(hù)端/服務(wù)器(C/S)模式介紹 72.2基于JDBC的數(shù)據(jù)庫(kù)操作 82.3基于Socket的網(wǎng)絡(luò)傳輸 92.4多線(xiàn)程的介紹及應(yīng)用 103長(zhǎng)沙麻將總體設(shè)計(jì)與實(shí)現(xiàn) 113.1長(zhǎng)沙麻將總體設(shè)計(jì)思想 113.2服務(wù)器與客戶(hù)端設(shè)計(jì) 113.2.1并發(fā)的,面向連接服務(wù)器的算法 123.2.2TCP客戶(hù)算法 133.3各模塊設(shè)計(jì) 133.4吃牌,碰牌,胡牌算法實(shí)現(xiàn) 194長(zhǎng)沙麻將運(yùn)行結(jié)果及分析 254.1游戲運(yùn)行環(huán)境 254.2游戲運(yùn)行結(jié)果 25結(jié)論與展望 32致謝 33參考文獻(xiàn): 341緒論1.1課題背景與長(zhǎng)沙麻將設(shè)計(jì)的目的1.1.1課題背景中國(guó)的網(wǎng)絡(luò)游戲萌芽于1995年以前。這一時(shí)期的單機(jī)版的游戲在國(guó)內(nèi)已經(jīng)形成一定的氣候,并向聯(lián)機(jī)版游戲過(guò)渡;為網(wǎng)絡(luò)游戲在中國(guó)得以快速發(fā)展在人才和技術(shù)等方面做了儲(chǔ)備。2001年至今正式進(jìn)入了中國(guó)網(wǎng)絡(luò)游戲的高速成長(zhǎng)期。網(wǎng)絡(luò)游戲在發(fā)展期已經(jīng)呈現(xiàn)出一定的贏(yíng)利潛力和廣闊的發(fā)展空間,因此,正在為現(xiàn)金收入煩惱的網(wǎng)絡(luò)公司不約而同地將目光投入到網(wǎng)絡(luò)游戲,并且采取了實(shí)際的行動(dòng)。2005年,中國(guó)游戲產(chǎn)業(yè)經(jīng)歷了由引進(jìn)代理向自主創(chuàng)新轉(zhuǎn)折的重要一年。在這一年中,網(wǎng)絡(luò)游戲產(chǎn)業(yè)繼續(xù)保持了2004年的增長(zhǎng)勢(shì)頭,用戶(hù)達(dá)到2634萬(wàn),比2004年增長(zhǎng)了30.1%;網(wǎng)絡(luò)游戲出版市場(chǎng)實(shí)際銷(xiāo)售收入達(dá)到了37.7億元,比2004年增長(zhǎng)了52.6%。全國(guó)從事游戲自主研發(fā)的團(tuán)隊(duì)由2004年的73家增長(zhǎng)到2005年的120多家,增長(zhǎng)比例為37%;開(kāi)發(fā)的大中型網(wǎng)游作品達(dá)到192款,較之2004年的109款增加了83款,增長(zhǎng)幅度達(dá)76%。游戲研發(fā)從業(yè)人員數(shù)從2004年的4000多人,增長(zhǎng)到12600人,增長(zhǎng)幅度超過(guò)了200%。2005年中國(guó)民族原創(chuàng)網(wǎng)絡(luò)游戲的市場(chǎng)占有率已經(jīng)達(dá)到60%以上[1]。2006年上半年中國(guó)互聯(lián)網(wǎng)游戲市場(chǎng)規(guī)模達(dá)到32.75億元,前三家的市場(chǎng)份額達(dá)到64.42%,相較于2005年同期的51%有較大幅度的增長(zhǎng),市場(chǎng)集中度進(jìn)一步提升。同時(shí)網(wǎng)易的市場(chǎng)份額超過(guò)盛大,達(dá)到28.6%,盛大的市場(chǎng)份額為20.9%,九城的市場(chǎng)份額為15.0%,騰訊的市場(chǎng)份額為10.0%[1]。中國(guó)的網(wǎng)絡(luò)游戲玩家已經(jīng)達(dá)到2633萬(wàn)人,但目前國(guó)內(nèi)僅有游戲技術(shù)人員幾千人,這其中的缺口達(dá)到1.5萬(wàn)人以上。然而網(wǎng)絡(luò)游戲業(yè)務(wù)若想持續(xù)表現(xiàn)良好并穩(wěn)定增長(zhǎng),重要原因在于對(duì)研發(fā)的重視和投入,研發(fā)團(tuán)隊(duì)的能力和經(jīng)驗(yàn),已經(jīng)成了網(wǎng)絡(luò)游戲方面重要的核心競(jìng)爭(zhēng)力之一[1]。未來(lái)發(fā)展趨勢(shì)預(yù)測(cè):行業(yè)整合加劇,會(huì)迅速出現(xiàn)幾個(gè)行業(yè)研究開(kāi)發(fā)巨頭;收費(fèi)降低,進(jìn)入免費(fèi),增值收費(fèi)的模式將迅速普及;產(chǎn)品市場(chǎng)細(xì)分;國(guó)內(nèi)研究開(kāi)發(fā)實(shí)力的崛起;教育類(lèi)、益智類(lèi)游戲?qū)⒀杆偬岣邐蕵?lè)性、挑戰(zhàn)性和畫(huà)面的精美程度,減少教育內(nèi)容和成分,從而得到玩家的認(rèn)可,迅速提高在游戲類(lèi)市場(chǎng)中的比重;流通領(lǐng)域在競(jìng)爭(zhēng)中將起到越來(lái)越重要的作用。1.1.2長(zhǎng)沙麻將設(shè)計(jì)的目的目前國(guó)內(nèi)市場(chǎng)上的大部分網(wǎng)絡(luò)游戲都是面向全國(guó)廣大游戲玩家設(shè)計(jì)的,誠(chéng)然這減小了開(kāi)發(fā)商的開(kāi)發(fā)成本,但卻導(dǎo)致了很多游戲的地域性特點(diǎn)無(wú)法得到體現(xiàn),比如相同的游戲,在不同地域可能游戲規(guī)則存在著細(xì)微的差別,如果開(kāi)發(fā)商不注意這些細(xì)節(jié),忽略玩家的感覺(jué),將導(dǎo)致嚴(yán)重的后果,這也是當(dāng)前國(guó)內(nèi)游戲開(kāi)發(fā)商必須嚴(yán)肅面對(duì)的一個(gè)問(wèn)題。本課題的目的在于改善當(dāng)前市場(chǎng)上部分游戲產(chǎn)品,無(wú)法滿(mǎn)足某些特定地區(qū)人群習(xí)慣的缺點(diǎn)。通過(guò)市場(chǎng)調(diào)研,得到當(dāng)前長(zhǎng)沙人在網(wǎng)絡(luò)游戲的一些獨(dú)特需求,為了更好的服務(wù)長(zhǎng)沙人的娛樂(lè)休閑生活,制定了開(kāi)發(fā)“長(zhǎng)沙游戲”的計(jì)劃。為了確保該游戲具有長(zhǎng)沙本地化的特點(diǎn),在系統(tǒng)中加入了長(zhǎng)沙本地語(yǔ)音功能。同時(shí),研究了長(zhǎng)沙麻將的一些特殊打法,這些都將在游戲中體現(xiàn)出來(lái)。游戲本身選用JAVA來(lái)開(kāi)發(fā),其目的是為了將來(lái)可以將系統(tǒng)移植到其他平臺(tái)上去。本游戲的設(shè)計(jì)模式以及設(shè)計(jì)思路將為游戲開(kāi)發(fā)商提供一個(gè)指導(dǎo)方向。1.2網(wǎng)絡(luò)游戲的市場(chǎng)現(xiàn)狀1.2.1中韓游戲領(lǐng)域?qū)Ρ确治鲞@里我們將對(duì)比中國(guó)和韓國(guó)游戲領(lǐng)域的情況。近幾年,中國(guó)網(wǎng)絡(luò)游戲市場(chǎng)規(guī)模急劇擴(kuò)大,大大小小的網(wǎng)絡(luò)游戲公司如雨后春筍般涌現(xiàn)。各路商家攜巨資攻打網(wǎng)游市場(chǎng),這足以證明整個(gè)網(wǎng)游產(chǎn)業(yè)的強(qiáng)勁發(fā)展勢(shì)頭。對(duì)比于前幾年中國(guó)市場(chǎng)空白狀態(tài)下韓國(guó)游戲獨(dú)領(lǐng)風(fēng)騷的局面,如今國(guó)內(nèi)網(wǎng)絡(luò)游戲市場(chǎng)群雄逐鹿,競(jìng)爭(zhēng)異常激烈。面對(duì)越來(lái)越多的國(guó)外游戲進(jìn)入,國(guó)內(nèi)的網(wǎng)游也迅速成長(zhǎng),不甘蟄伏于他人旗下。那么與網(wǎng)游業(yè)發(fā)達(dá)的韓國(guó)相比,國(guó)內(nèi)的網(wǎng)游是什么樣的狀況呢?先看看韓國(guó)的情況。有人說(shuō)“從來(lái)都沒(méi)有在一個(gè)領(lǐng)域韓國(guó)的一舉一動(dòng)如此受世人矚目過(guò),除了游戲”,雖然夸張了些,但是國(guó)家的扶持和寬帶的普及確實(shí)促成了韓國(guó)網(wǎng)游產(chǎn)業(yè)的繁榮。韓國(guó)網(wǎng)絡(luò)游戲公司2004年的銷(xiāo)售額達(dá)到了6.4億美元。在網(wǎng)游玩家眼里,韓國(guó)可謂是不爭(zhēng)的“麥加之地”。韓國(guó)國(guó)內(nèi)的游戲制作及經(jīng)營(yíng)企業(yè)達(dá)到了1500多家,網(wǎng)吧等游戲場(chǎng)所46900個(gè),8個(gè)包括韓國(guó)政府部門(mén)下屬韓國(guó)尖端游戲產(chǎn)業(yè)協(xié)會(huì)KESA和韓國(guó)游戲支援中心KGPC在內(nèi)的游戲協(xié)會(huì),在288家有IT相關(guān)學(xué)位的大學(xué)中由政府指定贊助的10家游戲大學(xué)及研究院,6大包括OnGameNet、在內(nèi)的有線(xiàn)電視和衛(wèi)星廣播專(zhuān)業(yè)游戲頻道等組成的游戲產(chǎn)業(yè)群[2]。韓國(guó)網(wǎng)游有鮮明的產(chǎn)業(yè)特征。首先是政府支持,制定一系列的相關(guān)政策和優(yōu)惠措施,鼓勵(lì)國(guó)內(nèi)企業(yè)發(fā)展以寬帶、游戲?yàn)榇淼男畔a(chǎn)業(yè)。其次是本土化,其本土游戲在國(guó)內(nèi)占據(jù)了絕對(duì)的主導(dǎo)地位,其游戲內(nèi)容也有顯著的本土化性格特征。再次是系統(tǒng)化,空前發(fā)達(dá)的網(wǎng)絡(luò)環(huán)境為游戲產(chǎn)業(yè)的運(yùn)營(yíng)提供了保障,游戲真正成為一項(xiàng)系統(tǒng)化發(fā)展的產(chǎn)業(yè),并且與相關(guān)事業(yè)密不可分。網(wǎng)吧的盛行、傳媒的造勢(shì)、教育的配合、企業(yè)的支持、各類(lèi)游戲競(jìng)賽的舉辦等等,多方面、多層次的配合推動(dòng)了網(wǎng)游行業(yè)的健康發(fā)展。另外,韓國(guó)公眾媒體在消除人們對(duì)游戲負(fù)面影響的過(guò)程中也扮演了重要的角色。近幾年來(lái),韓國(guó)電視和報(bào)紙一直將游戲產(chǎn)業(yè)作為一塊正在崛起的新興市場(chǎng)進(jìn)行廣泛宣傳,將游戲開(kāi)發(fā)作為信息技術(shù)的前沿陣地來(lái)造勢(shì)。觀(guān)念的轉(zhuǎn)變刺激了網(wǎng)絡(luò)游戲的突飛猛進(jìn)。與之相比,中國(guó)的網(wǎng)絡(luò)游戲產(chǎn)業(yè)則還處于起步階段。第一,由于文化背景的差異,很長(zhǎng)時(shí)間以來(lái),社會(huì)輿論大都對(duì)網(wǎng)絡(luò)游戲持不支持甚至反對(duì)態(tài)度。這種觀(guān)念下造成的社會(huì)環(huán)境是對(duì)網(wǎng)游產(chǎn)業(yè)形成的無(wú)形制約。第二,技術(shù)瓶頸,目前我國(guó)網(wǎng)絡(luò)游戲市場(chǎng)基本上以代理國(guó)外游戲?yàn)橹?,核心技術(shù)的80%為國(guó)外控制[27]。國(guó)內(nèi)市場(chǎng)近乎爆發(fā)式的快速發(fā)育,使得國(guó)內(nèi)企業(yè)根本來(lái)不及作出準(zhǔn)備,國(guó)外的優(yōu)秀產(chǎn)品趁虛而入,搶占先機(jī),而代理國(guó)外產(chǎn)品很容易獲利,不少?lài)?guó)內(nèi)企業(yè)也因此而失去研發(fā)熱情,只有為數(shù)不多的幾家公司在苦苦支撐。第三,與中國(guó)網(wǎng)絡(luò)游戲產(chǎn)業(yè)的龐大規(guī)模和增長(zhǎng)速度相比,政府在制定規(guī)則和加強(qiáng)監(jiān)管方面顯得蒼白無(wú)力。對(duì)待網(wǎng)游,國(guó)內(nèi)政府的態(tài)度可謂是一波三折。自從2004年初部分人大代表在人大會(huì)上表達(dá)了對(duì)網(wǎng)絡(luò)游戲的意見(jiàn)之后,2004年4月12日國(guó)家廣電總局就電腦網(wǎng)絡(luò)游戲類(lèi)節(jié)目的問(wèn)題發(fā)出了《關(guān)于禁止播出電腦網(wǎng)絡(luò)游戲類(lèi)節(jié)目的通知》。很多我們熟知的游戲節(jié)目從電視中消失了,其中比較著名的有中央電視臺(tái)5套的《電子競(jìng)技世界》、旅游衛(wèi)視的《游戲東西》等[2]。好在人們的認(rèn)識(shí)總是在不斷變化發(fā)展之中的。2004年10月,新聞出版總署推出了“中國(guó)民族網(wǎng)絡(luò)游戲重點(diǎn)出版工程”,標(biāo)志著政府部門(mén)對(duì)中國(guó)網(wǎng)絡(luò)游戲態(tài)度的轉(zhuǎn)變,該工程計(jì)劃將在未來(lái)5年內(nèi)投資10~20億元,產(chǎn)出100種國(guó)產(chǎn)網(wǎng)絡(luò)游戲[27]。近期,網(wǎng)絡(luò)游戲技術(shù)研發(fā)也首次被納入國(guó)家863科技計(jì)劃,顯示了政府在游戲領(lǐng)域自主研發(fā)的決心[27]。另一方面值得慶幸的是,隨著越來(lái)越多的中國(guó)游戲人的成長(zhǎng),國(guó)內(nèi)網(wǎng)游公司紛紛注意到了技術(shù)相對(duì)于整個(gè)網(wǎng)絡(luò)游戲產(chǎn)業(yè)經(jīng)濟(jì)起到的決定性作用。越來(lái)越多的公司加入到了自主開(kāi)發(fā)的陣列,《劍俠online》、《海之樂(lè)章》、《刀劍online》、《傲世online》、《大話(huà)西游》等等,也分別占據(jù)了國(guó)內(nèi)市場(chǎng)的一部分份額。但是技術(shù)的發(fā)展并不是一個(gè)一蹴而就的過(guò)程,無(wú)論是網(wǎng)絡(luò)游戲表層的在客戶(hù)端技術(shù)開(kāi)發(fā)等可見(jiàn)領(lǐng)域,還是包括平衡性等在內(nèi)的后臺(tái)不可見(jiàn)因素,這些都需要時(shí)間的積累[2]。如今,歐美的各大游戲商也紛紛打入國(guó)內(nèi)市場(chǎng),曾經(jīng)認(rèn)為歐美網(wǎng)游不太適應(yīng)中國(guó)市場(chǎng)的看法也隨著《魔獸世界》的一聲炮響被砸得灰飛煙滅,韓國(guó)網(wǎng)游在中國(guó)已不再是一枝獨(dú)秀。據(jù)報(bào)道,目前只有2個(gè)韓國(guó)網(wǎng)游,即的《泡泡堂》和的《天堂II》達(dá)到過(guò)中國(guó)網(wǎng)游榜的前五。這不是說(shuō)韓國(guó)網(wǎng)游產(chǎn)業(yè)已經(jīng)落后了,只是其他國(guó)家已經(jīng)趕上來(lái)了,不是說(shuō)韓國(guó)沒(méi)有好游戲了,只不過(guò)玩家可選擇的范圍擴(kuò)大了。韓國(guó)網(wǎng)游作為中國(guó)游戲行業(yè)發(fā)展歷程當(dāng)中一個(gè)特殊而又重要的現(xiàn)象,縈繞在中國(guó)玩家的心中已經(jīng)很多年了。從凸現(xiàn)江湖到呼風(fēng)喚雨再到盛極而衰,韓國(guó)網(wǎng)游走過(guò)了一條似乎很符合產(chǎn)品壽命周期規(guī)律的道路。它能否再度在國(guó)內(nèi)市場(chǎng)崛起,我們沒(méi)有特別期待,只是有點(diǎn)好奇。我們真正期待的是,中國(guó)本土的網(wǎng)絡(luò)游戲什么時(shí)候才能收復(fù)失去的領(lǐng)土.1.2.2中國(guó)網(wǎng)絡(luò)游戲存在的問(wèn)題金山公司主管網(wǎng)游研發(fā)的張志宏曾表示金山早已在2000年開(kāi)始對(duì)游戲引擎進(jìn)行攻關(guān),如今已將自己開(kāi)發(fā)的游戲引擎應(yīng)用到了《劍俠情緣》中。技術(shù)的進(jìn)步使得國(guó)內(nèi)網(wǎng)游商家發(fā)展自主研發(fā)運(yùn)營(yíng)網(wǎng)絡(luò)游戲一體化更加得心應(yīng)手,網(wǎng)絡(luò)游戲發(fā)展更加迅速。攻克了技術(shù)障礙,政府政策的扶持更是讓網(wǎng)游商家信心倍增。去年8月,國(guó)家“863計(jì)劃”讓國(guó)產(chǎn)網(wǎng)絡(luò)游戲發(fā)展“昂首闊步”;今年,國(guó)家新聞出版總署明確指出,支持具有自主知識(shí)產(chǎn)權(quán)的數(shù)字娛樂(lè)軟件開(kāi)發(fā),對(duì)網(wǎng)絡(luò)游戲進(jìn)口采取部分限制。從快速增長(zhǎng)的市場(chǎng)產(chǎn)值到商家企業(yè)的業(yè)績(jī)?cè)鲩L(zhǎng)以及網(wǎng)絡(luò)游戲發(fā)展帶來(lái)的經(jīng)濟(jì)效益,商家毫無(wú)理由不選擇投資網(wǎng)絡(luò)游戲產(chǎn)業(yè)。同時(shí)它也帶動(dòng)了電信、電腦軟硬件、網(wǎng)吧等產(chǎn)業(yè)的發(fā)展,日漸完善的網(wǎng)絡(luò)游戲產(chǎn)業(yè)鏈亦將帶給各類(lèi)商家更多的發(fā)展機(jī)會(huì)。網(wǎng)絡(luò)游戲發(fā)展前景光明,受到商家青睞。但要進(jìn)一步做大網(wǎng)游市場(chǎng)并非易事,需要網(wǎng)絡(luò)游戲商家從傳統(tǒng)游戲代理向自主研發(fā)轉(zhuǎn)變,同時(shí)創(chuàng)新內(nèi)容、拓展?fàn)I銷(xiāo)渠道。網(wǎng)絡(luò)游戲還是個(gè)發(fā)展中的產(chǎn)業(yè),網(wǎng)游商家欲做大網(wǎng)游市場(chǎng),還需從多方面進(jìn)行完善。轉(zhuǎn)變目前的代理運(yùn)營(yíng)進(jìn)口游戲,大力發(fā)展研發(fā)自主產(chǎn)權(quán)的網(wǎng)絡(luò)游戲產(chǎn)品,實(shí)行研發(fā)運(yùn)營(yíng)一體化都是當(dāng)務(wù)之急。目前,國(guó)內(nèi)的網(wǎng)游商家已具有了獨(dú)立研發(fā)網(wǎng)絡(luò)游戲產(chǎn)品能力。自主研發(fā)將是網(wǎng)絡(luò)游戲的發(fā)展發(fā)向。當(dāng)技術(shù)不再是網(wǎng)絡(luò)游戲的障礙的時(shí)候,網(wǎng)絡(luò)游戲會(huì)得到發(fā)展,而發(fā)展則意味著需要?jiǎng)?chuàng)新。目前中國(guó)網(wǎng)絡(luò)游戲與國(guó)外游戲比較面臨著游戲內(nèi)容的創(chuàng)意匱乏問(wèn)題。金山公司張志宏表示“金山目前網(wǎng)絡(luò)游戲研發(fā)人員已近200人,差不多相當(dāng)于金山研發(fā)人員總數(shù)的一半。技術(shù)上我們跟國(guó)外已沒(méi)有太大的差別,但是我們具有游戲創(chuàng)意的人員極度缺乏,而且這還不僅是金山一家存在的問(wèn)題”[2]。國(guó)內(nèi)自主研發(fā)的網(wǎng)絡(luò)游戲需要在游戲內(nèi)容上完善創(chuàng)新,才能超越國(guó)外同類(lèi)游戲,吸引更多的消費(fèi)者,實(shí)現(xiàn)網(wǎng)絡(luò)游戲的持續(xù)快速發(fā)展。1.3長(zhǎng)沙麻將設(shè)計(jì)的內(nèi)容和意義本課題通過(guò)對(duì)網(wǎng)絡(luò)上現(xiàn)有游戲的分析,結(jié)合不同地域游戲規(guī)則的不一致,制定了長(zhǎng)沙麻將游戲的開(kāi)發(fā)計(jì)劃。為了更好的體現(xiàn)地域性的特點(diǎn),游戲中加入了長(zhǎng)沙本地化的方言語(yǔ)音功能。本課題做到了以下三方面:科學(xué)性:本系統(tǒng)結(jié)構(gòu)采用C/S模式,運(yùn)用了多線(xiàn)程技術(shù),并利用TCP協(xié)議來(lái)實(shí)現(xiàn)服務(wù)器與客戶(hù)端之間信息的傳遞,而且各種游戲規(guī)則的制定及判斷都是在服務(wù)器端完成。這樣,系統(tǒng)將支持多人同時(shí)在線(xiàn)游戲,同時(shí)各種信息的傳遞都將是準(zhǔn)確的,可信的??蛻?hù)端處理信息的速度也是很快的。創(chuàng)新性:它采用了面向?qū)ο蟮脑O(shè)計(jì)思路,將語(yǔ)音功能,計(jì)分功能等單獨(dú)封裝,這樣,只需要對(duì)這些單獨(dú)的模塊稍作修改,就可滿(mǎn)足不同地域的需求,提高的系統(tǒng)的“擴(kuò)展性”。實(shí)用性:游戲采用了C/S模式開(kāi)發(fā),用戶(hù)只需要下載客戶(hù)端安裝后,就可以進(jìn)入游戲廳和網(wǎng)絡(luò)上的人一起游戲。正如金山公司主管網(wǎng)游研發(fā)的張志宏說(shuō)過(guò)的那樣,現(xiàn)在中國(guó)在游戲開(kāi)發(fā)的技術(shù)方面和國(guó)外差距不大了,國(guó)內(nèi)游戲唯一不足的地方在于游戲創(chuàng)意上。有了好的創(chuàng)意,才能吸引到更多的游戲玩家。本課題嘗試著讓網(wǎng)絡(luò)游戲跟著消費(fèi)者的口味走,改變以往開(kāi)發(fā)商開(kāi)發(fā)什么游戲,玩家就只能按照開(kāi)發(fā)商制定的規(guī)則去游戲的方式。相信如果中國(guó)所有的游戲開(kāi)發(fā)商都可以在自己的產(chǎn)品中加入更多的創(chuàng)意,中國(guó)游戲產(chǎn)業(yè)的發(fā)展一定不可估量!2長(zhǎng)沙麻將設(shè)計(jì)的相關(guān)技術(shù)介紹2.1客戶(hù)端/服務(wù)器(C/S)模式介紹C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶(hù)機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶(hù)都可以訪(fǎng)問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。C/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì):(1)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡(jiǎn)單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用由兩部分組成,即客戶(hù)應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器程序。二者可分別稱(chēng)為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫(kù)服務(wù)器程序的機(jī)器,也稱(chēng)為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶(hù)程序發(fā)來(lái)的請(qǐng)求;客戶(hù)應(yīng)用程序運(yùn)行在用戶(hù)自己的電腦上,對(duì)應(yīng)于數(shù)據(jù)庫(kù)服務(wù)器,可稱(chēng)為客戶(hù)電腦,當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶(hù)程序就自動(dòng)地尋找服務(wù)器程序,并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。(2)數(shù)據(jù)的儲(chǔ)存管理功能較為透明。在數(shù)據(jù)庫(kù)應(yīng)用中,數(shù)據(jù)的儲(chǔ)存管理功能,是由服務(wù)器程序和客戶(hù)應(yīng)用程序分別獨(dú)立進(jìn)行的,前臺(tái)應(yīng)用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運(yùn)行數(shù)據(jù),在服務(wù)器程序中不集中實(shí)現(xiàn),例如訪(fǎng)問(wèn)者的權(quán)限,編號(hào)可以重復(fù)、必須有客戶(hù)才能建立定單這樣的規(guī)則。所有這些,對(duì)于工作在前臺(tái)程序上的最終用戶(hù),是“透明”的,他們無(wú)須過(guò)問(wèn)(通常也無(wú)法干涉)背后的過(guò)程,就可以完成自己的一切工作。在客戶(hù)服務(wù)器架構(gòu)的應(yīng)用中,前臺(tái)程序不是非?!笆菪 ?,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫(kù)不能真正成為公共、專(zhuān)業(yè)化的倉(cāng)庫(kù),它受到獨(dú)立的專(zhuān)門(mén)管理。(3)C/S架構(gòu)的劣勢(shì)是高昂的維護(hù)成本且投資大。采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫(kù)平臺(tái)來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫(kù)系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪(fǎng)問(wèn)同一個(gè)數(shù)據(jù)庫(kù)才能有效實(shí)現(xiàn),有這樣一些問(wèn)題,如果需要建立“實(shí)時(shí)”的數(shù)據(jù)同步,就必須在兩地間建立實(shí)時(shí)的通訊連接,保持兩地的數(shù)據(jù)庫(kù)服務(wù)器在線(xiàn)運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對(duì)服務(wù)器維護(hù)管理,又要對(duì)客戶(hù)端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。2.2基于JDBC的數(shù)據(jù)庫(kù)操作JDBC是Java的開(kāi)發(fā)者Sun的公司制定的Java數(shù)據(jù)庫(kù)連接(Java

Data

Base

Connectivity)技術(shù)的簡(jiǎn)稱(chēng),是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺(tái)應(yīng)用程序中的作用類(lèi)似。,稱(chēng)為開(kāi)放式數(shù)據(jù)庫(kù)互聯(lián)技術(shù),是由Microsoft公司倡導(dǎo)并得到業(yè)界普遍響應(yīng)的一門(mén)數(shù)據(jù)庫(kù)連接技術(shù),如果讀者有使用ODBC編程的經(jīng)驗(yàn),就會(huì)發(fā)現(xiàn)JDBC與ODBC很類(lèi)似。JDBC現(xiàn)在可以連接的數(shù)據(jù)庫(kù)包括:以及Paradox等。

JDBC的工作機(jī)制:SQL(Structure

Query

Language:結(jié)構(gòu)化查詢(xún)語(yǔ)言)是一種標(biāo)準(zhǔn)化的關(guān)系型數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)語(yǔ)言。在SQL看來(lái),數(shù)據(jù)庫(kù)就是表的集合,其中包含了行和列。SQL標(biāo)準(zhǔn)雖然也還處在不斷變革之中,但其基本內(nèi)容相對(duì)穩(wěn)定。JDBC定義了Java語(yǔ)言同SQL數(shù)據(jù)之間的程序設(shè)計(jì)接口。JDBC有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來(lái)完成對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)包括以下四個(gè)主要組件:Java的應(yīng)用程序、JDBC驅(qū)動(dòng)器管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。公司開(kāi)發(fā)了JDBC

API,JDBC

API是一個(gè)標(biāo)準(zhǔn)統(tǒng)一的SQL數(shù)據(jù)存取接口。JDBC在Internet中的作用與ODBC在Windows系列中的作用類(lèi)似。它為Java程序提供了一個(gè)統(tǒng)一縫地操作各種數(shù)據(jù)庫(kù)的接口,程序員編程時(shí),可以不關(guān)心它所要操作的數(shù)據(jù)庫(kù)是哪個(gè)廠(chǎng)家的產(chǎn)品,從而提高了軟件的通用性,而且在Internet上確實(shí)無(wú)法預(yù)料你的用戶(hù)想訪(fǎng)問(wèn)什么類(lèi)型的數(shù)據(jù)庫(kù)。只要系統(tǒng)上安裝了正確的驅(qū)動(dòng)程序,JDBC應(yīng)用程序就可以訪(fǎng)問(wèn)其相關(guān)的數(shù)據(jù)庫(kù)。用JDBC來(lái)實(shí)現(xiàn)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)記錄可以采用下面的幾個(gè)步驟:通過(guò)驅(qū)動(dòng)程序獲取連接接口。獲得Statement或它的子類(lèi)。限制Statement中的參數(shù)。執(zhí)行Statement。查看返回的行數(shù)是否超出范圍。關(guān)閉Statement。處理其它的Statement8、

關(guān)閉連接接口。2.3基于Socket的網(wǎng)絡(luò)傳輸TCP/IP(傳輸控制協(xié)議/網(wǎng)間協(xié)議)是一種網(wǎng)絡(luò)通信協(xié)議,它規(guī)范了網(wǎng)絡(luò)上的所有通信設(shè)備,尤其是一個(gè)主機(jī)與另一個(gè)主機(jī)之間的數(shù)據(jù)往來(lái)格式以及傳送方式。TCP/IP是INTERNET的基礎(chǔ)協(xié)議,也是一種電腦數(shù)據(jù)打包和尋址的標(biāo)準(zhǔn)方法。在數(shù)據(jù)傳送中,可以形象地理解為有兩個(gè)信封,TCP和IP就像是信封,要傳遞的信息被劃分成若干段,每一段塞入一個(gè)TCP信封,并在該信封面上記錄有分段號(hào)的信息,再將TCP信封塞入IP大信封,發(fā)送上網(wǎng)。在接受端,一個(gè)TCP軟件包收集信封,抽出數(shù)據(jù),按發(fā)送前的順序還原,并加以校驗(yàn),若發(fā)現(xiàn)差錯(cuò),TCP將會(huì)要求重發(fā)。因此,TCP/IP在INTERNET中幾乎可以無(wú)差錯(cuò)地傳送數(shù)據(jù)。socket用來(lái)讓一個(gè)進(jìn)程和其他的進(jìn)程互通信息(IPC),而Socket接口是TCP/IP網(wǎng)絡(luò)的API接口函數(shù)。Socket最先應(yīng)用于Unix操作系統(tǒng),如果了解Unix系統(tǒng)的I/O的話(huà),就很容易了解Socket了,因?yàn)镾ocket數(shù)據(jù)傳輸其實(shí)就是一種特殊的I/O。在Java中,通過(guò)將連接功能封裝到套接字類(lèi)里而使得網(wǎng)絡(luò)編程更加容易。套接字類(lèi)即Socket類(lèi)(它創(chuàng)建一個(gè)客戶(hù)套接字)和類(lèi)(它創(chuàng)建一個(gè)服務(wù)器套接字)。套接字類(lèi)大致介紹如下:Socket是基類(lèi),它支持TCP協(xié)議。TCP是一個(gè)可靠的流網(wǎng)絡(luò)連接協(xié)議。Socket類(lèi)提供了流輸入/輸出的方法,使得從套接字中讀出數(shù)據(jù)和往套接字中寫(xiě)數(shù)據(jù)都很容易。該類(lèi)對(duì)于編寫(xiě)因特網(wǎng)上的通訊程序而言是必不可少的。是一個(gè)因特網(wǎng)服務(wù)程序用來(lái)監(jiān)聽(tīng)客戶(hù)請(qǐng)求的類(lèi)。實(shí)際上并不執(zhí)行服務(wù);而是創(chuàng)建了一個(gè)Socket對(duì)象來(lái)代表客戶(hù)機(jī)。通訊由創(chuàng)建的對(duì)象來(lái)完成。在本課題中,在服務(wù)器端設(shè)置一個(gè)類(lèi)進(jìn)行監(jiān)聽(tīng),對(duì)每一個(gè)客戶(hù)端的請(qǐng)求產(chǎn)生一個(gè)Socket類(lèi)與之進(jìn)行通信。通過(guò)這個(gè)連接的Socket,將客戶(hù)端的數(shù)據(jù)文件傳輸?shù)椒?wù)器端。2.4多線(xiàn)程的介紹及應(yīng)用線(xiàn)程也稱(chēng)為輕型進(jìn)程(LWP)。因?yàn)榫€(xiàn)程只能在單個(gè)進(jìn)程的作用域內(nèi)活動(dòng),所以創(chuàng)建線(xiàn)程比創(chuàng)建進(jìn)程要廉價(jià)得多。這樣,因?yàn)榫€(xiàn)程允許協(xié)作和數(shù)據(jù)交換,并且在計(jì)算資源方面非常廉價(jià),所以線(xiàn)程比進(jìn)程更可取。線(xiàn)程需要操作系統(tǒng)的支持,因此不是所有的機(jī)器都提供線(xiàn)程。Java編程語(yǔ)言,作為相當(dāng)新的一種語(yǔ)言,已將線(xiàn)程支持與語(yǔ)言本身合為一體,這樣就對(duì)線(xiàn)程提供了強(qiáng)健的支持。Java編程語(yǔ)言使多線(xiàn)程比在其他語(yǔ)言中藥容易的多。需要注意的是main()函數(shù)也是一個(gè)線(xiàn)程,并可用來(lái)做有用的工作。只有在需要多個(gè)線(xiàn)程時(shí)才需要?jiǎng)?chuàng)建新的線(xiàn)程。Thread類(lèi)是一個(gè)具體的類(lèi),即不是抽象類(lèi),該類(lèi)封裝了線(xiàn)程的行為。要?jiǎng)?chuàng)建一個(gè)線(xiàn)程,程序員必須創(chuàng)建一個(gè)從Thread類(lèi)導(dǎo)出的新類(lèi)。程序員必須覆蓋Thread的run()函數(shù)來(lái)完成有用的工作。用戶(hù)并不直接調(diào)用此函數(shù);而是必須調(diào)用Thread的start()函數(shù),該函數(shù)再調(diào)用run()。在本課題中根據(jù)實(shí)際需要,也充分利用了多線(xiàn)程,當(dāng)有新的游戲玩家登陸系統(tǒng)后,服務(wù)器端將會(huì)使用一個(gè)新的線(xiàn)程與之通信,直到該玩家退出游戲。采用多線(xiàn)程技術(shù)后,系統(tǒng)叫支持多人同時(shí)在線(xiàn)游戲。3長(zhǎng)沙麻將總體設(shè)計(jì)與實(shí)現(xiàn)3.1長(zhǎng)沙麻將總體設(shè)計(jì)思想該游戲是一個(gè)支持多用戶(hù)同時(shí)在線(xiàn),對(duì)安全性,訪(fǎng)問(wèn)速度要求都比較高的系統(tǒng),這里我們將采用C/S模式,運(yùn)用了多線(xiàn)程技術(shù),并利用TCP協(xié)議來(lái)實(shí)現(xiàn)服務(wù)器與客戶(hù)端之間信息的傳遞,而且各種游戲規(guī)則的制定及判斷都是在服務(wù)器端完成。這樣,系統(tǒng)將支持多人同時(shí)在線(xiàn)游戲,同時(shí)各種信息的傳遞都將是準(zhǔn)確的,可信的??蛻?hù)端處理信息的速度也是很快的。同時(shí),它采用了面向?qū)ο蟮脑O(shè)計(jì)思路,將語(yǔ)音功能,計(jì)分功能等單獨(dú)封裝,這樣,只需要對(duì)這些單獨(dú)的模塊稍作修改,就可滿(mǎn)足不同地域的需求,提高的系統(tǒng)的“擴(kuò)展性”。由于游戲采用了C/S模式開(kāi)發(fā),用戶(hù)只需要下載客戶(hù)端安裝后,就可以進(jìn)入游戲廳和網(wǎng)絡(luò)上的人一起游戲。數(shù)據(jù)庫(kù)采用了“連接池”的方式,在啟動(dòng)服務(wù)器的時(shí)候,將會(huì)在連接池中放了400的連接,一旦有客戶(hù)請(qǐng)求到達(dá)服務(wù)器是時(shí)候,就可以直接從連接池中取得一個(gè)連接來(lái)滿(mǎn)足客戶(hù)的請(qǐng)求,這樣做可以提高對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)速度。3.2服務(wù)器與客戶(hù)端設(shè)計(jì)常見(jiàn)的服務(wù)器類(lèi)型有:循環(huán)的,無(wú)連接的服務(wù)器;循環(huán)的,面向連接的服務(wù)器;并發(fā)的,無(wú)連接的服務(wù)器;并發(fā)的,面向連接的服務(wù)器。循環(huán)的,無(wú)連接的服務(wù)器是最常見(jiàn)的無(wú)連接服務(wù)器形式,特別適應(yīng)于要求對(duì)每個(gè)請(qǐng)求進(jìn)行少量處理的服務(wù)。循環(huán)服務(wù)器往往是無(wú)狀態(tài)的,這使其容易理解而且不易出錯(cuò)。循環(huán)的,面向連接的服務(wù)器是一種較常見(jiàn)的服務(wù)器類(lèi)型,它適用于要求對(duì)每個(gè)請(qǐng)求進(jìn)行少量處理,但要求有可靠的傳輸。因?yàn)榕c建立和終止連接相關(guān)的開(kāi)銷(xiāo)可能很高,平均響應(yīng)時(shí)間可能并不短。并發(fā)的,無(wú)連接的服務(wù)器是一種不常見(jiàn)的服務(wù)器類(lèi)型,服務(wù)器要為處理每個(gè)請(qǐng)求創(chuàng)建一個(gè)新線(xiàn)程或者進(jìn)程。在許多系統(tǒng)中,創(chuàng)建線(xiàn)程或進(jìn)程所增加的開(kāi)銷(xiāo)決定了并發(fā)性所獲得的效率。為證明并發(fā)是可取的,要么創(chuàng)建一個(gè)新線(xiàn)程或進(jìn)程所要求的時(shí)間必須明顯小于計(jì)算響應(yīng)是需的時(shí)間,要么并發(fā)的請(qǐng)求必須能夠同時(shí)使用多個(gè)I/O設(shè)備。并發(fā)的,面向連接的服務(wù)器是最一般的服務(wù)器類(lèi)型,因?yàn)樗峁┝丝煽康膫鬏斠约安l(fā)處理多個(gè)請(qǐng)求的能力。在并發(fā)線(xiàn)程的實(shí)現(xiàn)方法中,主服務(wù)器線(xiàn)程為每個(gè)連接創(chuàng)建一個(gè)從線(xiàn)程以便對(duì)其進(jìn)行處理。使用多線(xiàn)程使如下情況變得容易,即為每個(gè)連接執(zhí)行一個(gè)單獨(dú)編譯的程序,而不是將所有的代碼放在一個(gè)單獨(dú)的,巨大的服務(wù)器程序中。綜合考慮到游戲程序需要多人同時(shí)在線(xiàn)游戲,而且必須對(duì)游戲過(guò)程中信息的交互提供可靠的傳輸,我們選擇了使用并發(fā)的,面向連接的服務(wù)器。3.2.1并發(fā)的,面向連接服務(wù)器的算法主1.創(chuàng)建套接字并將其綁定到所提供服務(wù)的熟知地址上,并讓該套接字保持非連接。主2.將該端口設(shè)置為被動(dòng)模式,使其準(zhǔn)備為服務(wù)器所用。主3.反復(fù)調(diào)用accept以便接收來(lái)自客戶(hù)的下一個(gè)連接請(qǐng)求,并創(chuàng)建新的從線(xiàn)程來(lái)處理響應(yīng)。從1.由主線(xiàn)程傳遞來(lái)的連接請(qǐng)求(即針對(duì)連接的套接字)開(kāi)始。從2.用該連接與客戶(hù)進(jìn)行交互:讀取請(qǐng)求并發(fā)回響應(yīng)。從3.關(guān)閉連接并退出。在處理完來(lái)自客戶(hù)的所有請(qǐng)求后,從線(xiàn)程退出。并發(fā)線(xiàn)程結(jié)構(gòu)圖:圖3-1并發(fā)線(xiàn)程結(jié)構(gòu)圖主服務(wù)器線(xiàn)程不與客戶(hù)直接通信,它只是在熟知端口上等待下一個(gè)連接請(qǐng)求。一旦某個(gè)請(qǐng)求到達(dá),主服務(wù)器線(xiàn)程會(huì)接收這個(gè)連接請(qǐng)求,并創(chuàng)建一個(gè)新的套接字線(xiàn)程來(lái)處理該連接。在任何時(shí)刻,服務(wù)器都包括一個(gè)主線(xiàn)程,以及零個(gè)或者多個(gè)從線(xiàn)程。3.2.2TCP客戶(hù)算法1、找到期望與之通信的服務(wù)器的IP地址和協(xié)議端口號(hào)。配套接字。這個(gè)套接字連接到服務(wù)器。使用應(yīng)用級(jí)協(xié)議與服務(wù)器通信(在此包含發(fā)送請(qǐng)求和等待應(yīng)答)。關(guān)閉連接。3.3各模塊設(shè)計(jì)系統(tǒng)分3個(gè)部分來(lái)開(kāi)發(fā):部分封裝了對(duì)數(shù)據(jù)庫(kù)的操作,其他2個(gè)部分都將用到所提供的接口來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)信息的讀取及修改。部分為游戲的客戶(hù)端程序,安裝客戶(hù)端后,可以登陸到服務(wù)器上,即可實(shí)現(xiàn)與其他玩家一起游戲。部分為服務(wù)器安裝程序,用他來(lái)實(shí)現(xiàn)各玩家之間信息的交互以及信息的分析。部分包括2個(gè)類(lèi):和圖3-2database類(lèi)圖說(shuō)明:類(lèi)封裝了數(shù)據(jù)庫(kù)的連接,包含對(duì)該連接的一些基本操作,以及該連接是否可用等信息。類(lèi)封裝連接池的信息,當(dāng)有新的連接請(qǐng)求時(shí),會(huì)到連接池中去選擇某個(gè)合適的連接。這樣做的好處是,當(dāng)客戶(hù)端有新的連接請(qǐng)求到達(dá)時(shí),可以直接返回某個(gè)對(duì)數(shù)據(jù)庫(kù)的連接,節(jié)省了連接建立過(guò)程所需要的時(shí)間,提高了系統(tǒng)的反應(yīng)速度。部分包括9個(gè)類(lèi):,,,,,,,,。圖3-3MaJiang類(lèi)圖說(shuō)明:Login類(lèi)主要包括了登陸界面的初始化以及客戶(hù)端套接字的建立,Login的實(shí)例通過(guò)新建一個(gè)Connect類(lèi)的實(shí)例,通過(guò)將剛才建立的socket傳遞給該實(shí)例,來(lái)實(shí)現(xiàn)與服務(wù)器端信息的交互。當(dāng)從服務(wù)器端返回“new”信息后,釋放Login實(shí)例,通過(guò)實(shí)例化一個(gè)類(lèi)的實(shí)例,玩家進(jìn)入了游戲大廳。類(lèi)初始化大廳信息,并通過(guò)新建Listen類(lèi)的實(shí)例,來(lái)實(shí)現(xiàn)與服務(wù)器端信息的交互。當(dāng)玩家選擇某張桌子坐下后,將游戲大廳設(shè)置為隱藏,并新建類(lèi)的實(shí)例,該實(shí)例會(huì)初始化桌臺(tái)信息,并通過(guò)Play類(lèi)實(shí)現(xiàn)與服務(wù)器端信息的交互。其中Game類(lèi)封裝了對(duì)玩家手中牌信息的一些處理,User則為當(dāng)前玩家的個(gè)人信息。Server部分包括5個(gè)類(lèi):,Client,Game,Server,Watch。圖3-4Server類(lèi)圖說(shuō)明:Server類(lèi)主要初始化服務(wù)器信息,并創(chuàng)建一個(gè)主動(dòng)套接字。通過(guò)Watch類(lèi)來(lái)實(shí)現(xiàn)監(jiān)聽(tīng)客戶(hù)端的連接信息,并新建一個(gè)新的套接字。Client類(lèi)獲得新的套接字來(lái)實(shí)現(xiàn)與該客戶(hù)的通信。Game類(lèi)為本系統(tǒng)的核心部分,他實(shí)現(xiàn)了各種牌面信息的處理,包括胡牌,吃牌等信息的判斷。類(lèi)作為一個(gè)單獨(dú)的模塊,專(zhuān)門(mén)用來(lái)處理計(jì)分。部分主要流程圖如下:圖3-5進(jìn)入大廳流程圖說(shuō)明:用戶(hù)首先進(jìn)入登陸界面,在這里系統(tǒng)需要初始化登陸界面的信息,并為“登陸”綁定事件。此時(shí)若用戶(hù)按下了登陸按鈕,則會(huì)根據(jù)用戶(hù)信息去判斷用戶(hù)是否為合法用戶(hù)。如果為合法用戶(hù),客戶(hù)端會(huì)馬上向服務(wù)器端發(fā)送相關(guān)個(gè)人信息,如用戶(hù)名,用戶(hù)編號(hào)以及登陸IP地址,同時(shí)會(huì)新建一個(gè)Connect類(lèi)的實(shí)例,并用它實(shí)現(xiàn)與服務(wù)器端信息的交流。由于此時(shí)客戶(hù)端已經(jīng)給服務(wù)器端發(fā)送了用戶(hù)的登陸信息,服務(wù)器會(huì)返回一個(gè)包含“NEW”的字符串信息,表示玩家已經(jīng)成功登陸了系統(tǒng)。此時(shí)會(huì)停止Connect實(shí)例的運(yùn)行,并進(jìn)入到游戲大廳,包括初始化大廳信息,為各張桌子注冊(cè)事件觸發(fā)信息。同時(shí)會(huì)新建一個(gè)Listen類(lèi)的實(shí)例,并用它實(shí)現(xiàn)與服務(wù)器端信息的交流,而且此時(shí)用到的Socket和前面Socket為同一個(gè)。圖3-6啟動(dòng)服務(wù)器流程圖說(shuō)明:?jiǎn)?dòng)服務(wù)器后,首先會(huì)進(jìn)行服務(wù)器端界面信息的初始化,同時(shí)會(huì)創(chuàng)建一個(gè)主動(dòng)套接字,用來(lái)監(jiān)聽(tīng)客戶(hù)端的連接請(qǐng)求信息。當(dāng)接收到這樣的一個(gè)連接請(qǐng)求后,該主動(dòng)套接字會(huì)新建一個(gè)Client類(lèi)的實(shí)例,并將接收到的客戶(hù)端套接字傳遞給這個(gè)Client類(lèi)的實(shí)例來(lái)實(shí)現(xiàn)與客戶(hù)端信息的交互。圖3-7進(jìn)入游戲流程圖說(shuō)明:玩家在大廳內(nèi)選擇了某張桌子后,會(huì)將大廳設(shè)置為隱藏,同時(shí)會(huì)新建一個(gè)類(lèi)的實(shí)例,包括了桌臺(tái)信息的初始化和在該類(lèi)實(shí)例中新建一個(gè)Play類(lèi)的實(shí)例來(lái)實(shí)現(xiàn)與服務(wù)器信息的交互??蛻?hù)端有個(gè)Game類(lèi),里面包括了存儲(chǔ)玩家手中牌信息以及對(duì)玩家手中牌信息進(jìn)行排序等功能。服務(wù)器端也有個(gè)Game類(lèi),里面包括了當(dāng)一個(gè)牌局開(kāi)始時(shí),初始化牌信息,以及玩家在游戲個(gè)過(guò)程中對(duì)牌信息的分析處理,包括了吃牌算法,碰牌算法,胡牌算法等。本系統(tǒng)的服務(wù)器端算法都封裝在Game類(lèi)中。3.4吃牌,碰牌,胡牌算法實(shí)現(xiàn)在本系統(tǒng)中,我們將為每張牌圖片取一個(gè)名字。因?yàn)橐还灿?7張不同的牌,所以牌圖片的名字為0到26的連續(xù)數(shù)字。具體做法為:‘一萬(wàn)’到‘九萬(wàn)’用0到8的連續(xù)數(shù)字表示;‘一條’到‘九條’用9到17的連續(xù)數(shù)字表示;‘一丙’到‘九丙’用18到26的連續(xù)數(shù)字表示。如:圖3-8麻將信息圖由于每張牌的名字都是一個(gè)特定數(shù)字,這樣在處理吃牌,碰牌以及胡牌時(shí),只要先獲得牌所對(duì)應(yīng)的數(shù)字信息,牌信息的處理就變成了簡(jiǎn)單的對(duì)數(shù)字的處理了。另外在服務(wù)器用一個(gè)保存玩家的牌值,另外用一個(gè)保存玩家各張牌所對(duì)應(yīng)牌的張數(shù)。吃牌算法描述:我們將所有的牌分為5類(lèi),具體方法為:‘一萬(wàn)’,‘一條’,‘一丙’為第一類(lèi);‘二萬(wàn)’,‘二條’,‘二丙’為第二類(lèi);‘八萬(wàn)’,‘八條’,‘八丙’為第三類(lèi);‘九萬(wàn)’,‘九條’,‘九丙’為第四類(lèi);其他為第五類(lèi)。當(dāng)一個(gè)玩家打出一張牌后,該牌信息會(huì)傳遞到服務(wù)器,而服務(wù)器保存了所有玩家的牌信息。此時(shí),服務(wù)器只需要判斷該玩家的下家是否可以吃牌。為了處理方便,我們假設(shè)玩家打出的牌為,其下家為玩家B。判斷能否吃牌的規(guī)則為:若為第一類(lèi)牌,而且玩家B中同時(shí)存在牌值為和的牌,則可以吃牌,否則不可以。如玩家打出了‘一萬(wàn)’,其下家只可以用‘二萬(wàn)’和‘三萬(wàn)’去吃。若為第二類(lèi)牌,而且玩家B中同時(shí)存在牌值為和的牌,或者同時(shí)存在牌值為和的牌,則可以吃牌,否則不可以。如玩家打出了‘二萬(wàn)’,其下家若同時(shí)有‘一萬(wàn)’和‘三萬(wàn)’,或者同時(shí)有‘三萬(wàn)’和‘四萬(wàn)’,則可以吃,否則不可以吃。若為第三類(lèi)牌,而且玩家B中同時(shí)存在牌值為和的牌,或者同時(shí)存在牌值為和的牌,則可以吃牌,否則不可以。如玩家打出了‘八萬(wàn)’,其下家若同時(shí)有‘六萬(wàn)’和‘七萬(wàn)’,或者同時(shí)有‘七萬(wàn)’和‘九萬(wàn)’,則可以吃,否則不可以吃。若為第四類(lèi)牌,而且玩家B中同時(shí)存在牌值為和的牌,則可以吃牌,否則不可以。如玩家打出了‘九萬(wàn)’,其下家若同時(shí)有‘七萬(wàn)’和‘八萬(wàn)’,則可以吃,否則不可以吃。若為第五類(lèi)牌,而且玩家B中同時(shí)存在牌值為和的牌,或者同時(shí)存在牌值為和的牌,或者同時(shí)存在牌值為和的牌,則可以吃牌,否則不可以。如玩家打出了‘三萬(wàn)’,其下家若同時(shí)有‘一萬(wàn)’和‘二萬(wàn)’,或者同時(shí)有‘二萬(wàn)’和‘四萬(wàn)’,或者同時(shí)有‘四萬(wàn)’和‘五萬(wàn)’,則可以吃,否則不可以吃。碰牌算法描述:為了處理方便,我們假設(shè)玩家A打出的牌為,其他同桌玩家為B,C,D。判斷能否碰牌的規(guī)則為:玩家A打出了牌后,會(huì)將自己的編號(hào),桌臺(tái)編號(hào)以及牌值發(fā)到服務(wù)器。服務(wù)器根據(jù)玩家A的編號(hào),以及桌臺(tái)編號(hào)獲得同桌另外三人的牌信息,并從那個(gè)保存玩家牌張數(shù)的中取得對(duì)應(yīng)牌值為的牌的張數(shù)。若有一個(gè)人的牌張數(shù)大于或者等于2,則代表其可以碰牌。普通胡牌算法描述:首先我們會(huì)去判斷玩家手中是否有“將”。如果沒(méi)有“將”,玩家一定不可以胡牌;如果玩家手中有“將”,我們將用這些所有可能作為“將”的牌的值記下來(lái),并防止一個(gè)單獨(dú)的中。接下來(lái),我們從上面的中取得一個(gè)值,并將它作為“將”,即從玩家手中的牌中去除兩張?jiān)撝档呐?,同時(shí)將別人打出的牌或者玩家自己摸到的牌加到玩家的牌中,判斷是否此時(shí)玩家手中的牌可以每3張都連續(xù)在一起。如果可以,則表示此時(shí)玩家可以胡牌,否則將從中取得下一個(gè)值作為“將”,然后依照上面的判斷規(guī)則去檢測(cè)是否可以胡牌,直到中的所有牌都檢測(cè)完畢。為了處理方便,我們假設(shè)玩家A打出的牌為,判斷同桌玩家為B是否可以胡牌,而且玩家B的牌值保存在中,牌值對(duì)應(yīng)張數(shù)保存在中。比如某張牌的牌值為,則起對(duì)應(yīng)的張數(shù)保存在中。判斷能否胡牌的規(guī)則為:首先判斷玩家B是否有“將”,若沒(méi)有,則不可以胡牌;若有,則將所有可能的“將”的值防止數(shù)組中,并建立一個(gè)臨時(shí)的數(shù)組,其值初始化為和完全一樣,偽代碼表示如下://從中取得第一個(gè)不為0的值,并返回其位置,該位置的值恰好為對(duì)應(yīng)的牌值//如果中已經(jīng)不存在大于0的值了,返回-1//判斷是否可以胡牌{ //得到所有可能作為“將”的牌的個(gè)數(shù){ //取其中一張作為“將” 從中移除掉2張值為的牌,同時(shí)增加一張牌; //判斷是否中的所有牌都可以和其他牌聯(lián)系在一起 //可以胡牌 } ;//不可以胡牌}//判斷是否中的所有牌都可以和其他牌聯(lián)系在一起{ //從中取得第一個(gè)不為0的值,并返回其值 { 從中得到value值對(duì)應(yīng)的張數(shù)number; //如果牌的張數(shù)為1 { 判斷值為和值為的牌的張數(shù)是否都大于等于1,而且在同一個(gè)區(qū)間內(nèi); //如果是 { 將值為對(duì)應(yīng)的張數(shù)都減去1; //進(jìn)入下一個(gè)判斷 } //不可以胡牌 } //如果牌的張數(shù)為2 { 判斷值為和值為的牌的張數(shù)是否都大于等于2,而且在同一個(gè)區(qū)間內(nèi); //如果是 { 將值為對(duì)應(yīng)的張數(shù)都減去2; //進(jìn)入下一個(gè)判斷 } //不可以胡牌 } //如果牌的張數(shù)為3 { 將值為對(duì)應(yīng)的張數(shù)設(shè)置為0; //進(jìn)入下一個(gè)判斷 } { 將值為對(duì)應(yīng)的張數(shù)設(shè)置為1; //進(jìn)入下一個(gè)判斷 } } //可以胡牌}其他特殊胡牌算法,都是在上面的普通胡牌算法的基礎(chǔ)上稍加修改后就可以實(shí)現(xiàn),這里不再累敘!服務(wù)器端分析完信息后,如果有人可以吃牌,碰牌或者胡牌,服務(wù)器會(huì)把相關(guān)信息連接成一個(gè)字符串,根據(jù)桌臺(tái)編號(hào)發(fā)送到特定一個(gè)桌臺(tái)。該桌臺(tái)的所有玩家都可以接受到該信息。他們會(huì)首先將該字符串分解,如果分析得到信息和自己無(wú)關(guān),則放棄,否則進(jìn)行下一步的分析,然后進(jìn)行相關(guān)處理。如可以吃牌的話(huà),就進(jìn)行吃牌處理,然后將吃牌信息發(fā)送到服務(wù)器,服務(wù)器再將該信息發(fā)送到該桌臺(tái)的所有玩家,各玩家根據(jù)這個(gè)信息更新桌面上的顯示信息。4長(zhǎng)沙麻將運(yùn)行結(jié)果及分析4.1游戲運(yùn)行環(huán)境硬件環(huán)境:安裝有公司的pc機(jī)一臺(tái)。機(jī)器裝有windowsNT架構(gòu)的操作系統(tǒng)。軟件環(huán)境:Eclipse3.2,MicrosoftSQLServer2000,MicrosoftSQLServer2000DriverforJDBC。4.2游戲運(yùn)行結(jié)果實(shí)驗(yàn)步驟:1、啟動(dòng)SQLServer2000。2、運(yùn)行,如圖:圖4-1服務(wù)器啟動(dòng)界面圖在該圖中,我們可以看到服務(wù)器已經(jīng)正常啟動(dòng)以及啟動(dòng)的時(shí)間。而且在的對(duì)話(huà)框中輸入信息后,可以給個(gè)桌臺(tái)發(fā)送信息。3、運(yùn)行,如圖:圖4-2登陸界面圖4、輸入用戶(hù)名a及密碼1,按“登陸”,如圖:圖4-3游戲大廳界面圖從該圖的右側(cè)可以看到玩家a的個(gè)人信息,左側(cè)為所有大廳內(nèi)所有桌臺(tái)的信息,現(xiàn)在玩家可以選擇任意一張有空閑位置的桌子坐下來(lái)游戲。當(dāng)同一張桌臺(tái)上有4個(gè)人,而且都選擇了“開(kāi)始”后就可以進(jìn)入游戲狀態(tài)。5、玩家選擇某張桌子坐下后,玩家將進(jìn)入游戲大廳。如圖:圖4-4桌臺(tái)界面圖從圖中可以看到玩家已經(jīng)進(jìn)入了一局游戲,而且此時(shí)還沒(méi)有人加入到游戲中來(lái)。在畫(huà)面下側(cè)的左端,玩家可以發(fā)送信息。發(fā)送的信息將在上端的左側(cè)顯示。當(dāng)玩家進(jìn)入游戲大廳,而且此時(shí)大廳內(nèi)已經(jīng)有人坐在桌臺(tái)時(shí),如圖:圖4-5游戲大廳界面圖從圖中可以看到,第一桌已經(jīng)坐下了3個(gè)人,而且其中有2個(gè)人選擇了“開(kāi)始”。(圖片顏色比較亮的為選擇了“開(kāi)始游戲”的玩家,圖片顏色比較暗的為還沒(méi)有選擇“開(kāi)始游戲”的玩家)。下一步我們將讓最后登陸進(jìn)來(lái)的玩家d也選擇坐到第一桌。7、按照上面的方式,其他三人登陸系統(tǒng),并坐上同一張桌子后,如圖:圖4-6游戲桌臺(tái)界面圖從圖中可以看到游戲已經(jīng)開(kāi)始,而且還沒(méi)有人打出一張牌,玩家a為默認(rèn)莊家。牌面信息按照他們對(duì)應(yīng)的牌值由小到大的排列出來(lái)。玩家a最右側(cè)的一張牌為系統(tǒng)發(fā)給他的第14張牌。這張牌會(huì)單獨(dú)放在右側(cè)。8、開(kāi)始游戲,并打出一些牌后。如圖:圖4-7玩家吃牌圖從圖中可以看到,玩家打出的牌單獨(dú)放在玩家手中牌的前端,牌的順序按照打出的先手順序依次排列。此時(shí)玩家C打出了一張牌(四丙),而玩家D剛好可以吃牌,系統(tǒng)會(huì)提示玩家D可以吃牌。玩家D可以選擇吃牌或者放棄。若選擇放棄吃牌,系統(tǒng)將會(huì)給他發(fā)另外一張牌。9、游戲進(jìn)行一段時(shí)間之后,有玩家可以碰牌。如圖:圖4-8玩家碰牌圖從圖中可以看到,玩家d打出了一張牌七丙,恰好玩家a手中有2張七丙,此時(shí)服務(wù)器判斷玩家a可以碰牌,于是系統(tǒng)提示玩家a是否碰牌。若玩家a放棄碰牌,則系統(tǒng)會(huì)給玩家d的下家發(fā)一張牌。10、玩家C打出一張牌(六丙)后,玩家D可以胡派牌。如下圖:圖4-9玩家胡牌圖從圖中可以看到玩家D可以胡牌,他可以選擇胡牌或者放棄胡牌。若放棄,則系統(tǒng)會(huì)給玩家C的下家發(fā)一張牌,若玩家D選擇了胡牌,系統(tǒng)為各玩家更新分?jǐn)?shù),并開(kāi)始新的一局牌,重新發(fā)牌,此時(shí)的莊家為剛才胡牌的玩家。11、玩家退出游戲后,如圖:圖4-10玩家退出游戲圖從圖中可以看到,服務(wù)器記錄了所有登陸系統(tǒng)玩家的信息,包括玩家登陸時(shí)間,登陸名,登陸地址以及登陸狀態(tài)信息,包括登陸系統(tǒng)成功和離開(kāi)系統(tǒng)。經(jīng)過(guò)一系列的測(cè)試,發(fā)現(xiàn)系統(tǒng)可以正常運(yùn)行。結(jié)論與展望本系統(tǒng)是湖南銀河電子技術(shù)有限公司一個(gè)真實(shí)項(xiàng)目的初始版本,項(xiàng)目的設(shè)計(jì)及開(kāi)發(fā)由本人和公司另一位程序員,外加一名美工完成。在這之前,游戲開(kāi)發(fā)領(lǐng)域?qū)ξ疫€是完全陌生的,通過(guò)這四個(gè)月的努力,我學(xué)到了很多,不僅接觸到了2D游戲開(kāi)發(fā)的一些前沿知識(shí),而且更重要的是通過(guò)這次設(shè)計(jì),我養(yǎng)成了科學(xué)的研究態(tài)度,增強(qiáng)了對(duì)自我能力的信心。項(xiàng)目經(jīng)歷了前期對(duì)網(wǎng)絡(luò)上類(lèi)似系統(tǒng)的研究,并針對(duì)長(zhǎng)沙本地人的愛(ài)好進(jìn)行了改進(jìn),主要體現(xiàn)在麻將游戲的打法以及個(gè)性化的長(zhǎng)沙方言上。游戲的設(shè)計(jì)上,采用軟件工程思想中的代碼封裝和模塊化的方法設(shè)計(jì)程序流程圖,并且將具有不同功能的代碼封裝在各個(gè)模塊中。最后,通過(guò)實(shí)驗(yàn),驗(yàn)證了項(xiàng)目的開(kāi)發(fā)取得了比較理想的結(jié)果。本設(shè)計(jì)總的來(lái)說(shuō)是很成功的,在以下方面還可以作進(jìn)一步的修改:1、由于自身水平的限制以及對(duì)需求理解的偏差,導(dǎo)致最初設(shè)計(jì)系統(tǒng)時(shí),出現(xiàn)一個(gè)比較嚴(yán)重的錯(cuò)誤——游戲不可以“累積胡”。2、由于時(shí)間倉(cāng)促,對(duì)一些特殊的胡牌方式?jīng)]有處理,而且積分系統(tǒng)還沒(méi)有加入到系統(tǒng)中,這些方面都等待后續(xù)的開(kāi)發(fā)來(lái)完成。3、游戲系統(tǒng)是一個(gè)對(duì)速度要求比較高的軟件,雖然我盡力去做到讓服務(wù)器的算法做到最優(yōu),但毫無(wú)疑問(wèn)還有很多代碼優(yōu)化方面的事情要去做。4、限于條件的影響,該游戲還只限于本機(jī)測(cè)試,未來(lái)放到互聯(lián)網(wǎng)上后,可能還會(huì)遇到諸多問(wèn)題。致謝在這里,首先要感謝xxx教授和xxx博士,他們?cè)谡撐难芯亢蛯?xiě)作期間,對(duì)本設(shè)計(jì)提出了寶貴的指導(dǎo)意見(jiàn),給予了有效的指導(dǎo)。正是因?yàn)樗麄儑?yán)格的要求和耐心的指導(dǎo),本次畢業(yè)設(shè)計(jì)能夠如此順利地完成。感謝xxx大學(xué)軟件學(xué)院的所有老師,4年來(lái),是他們耐心的教導(dǎo)和無(wú)私的奉獻(xiàn)讓我從一個(gè)無(wú)知少年逐漸走向成熟,讓我在這美好的4年中學(xué)會(huì)了生存的本領(lǐng),領(lǐng)悟到了生命的價(jià)值。感謝我的父母,是你們給了我生命,并在這么多年里養(yǎng)育了我,默默地支持著我,每當(dāng)我遇到挫折時(shí),想起父母就會(huì)重新鼓起信心和力量。感謝所有曾經(jīng)幫助過(guò)我的朋友,感謝他們對(duì)我的支持,感謝他們陪我走過(guò)的所有日子。感謝xxx電子技術(shù)有限公司的同事們,他們?cè)诠ぷ骱蜕钌辖o了我很多關(guān)心和照顧,感謝和他們度過(guò)的那段美好時(shí)光。衷心地向支持和幫助過(guò)我的所有人表示感謝!參考文獻(xiàn):[1]王明亮.中國(guó)投資咨詢(xún)網(wǎng)[Z]./reports/2006233wangluoyouxi.htm.[2]周余風(fēng).中國(guó)投資咨詢(xún)網(wǎng)[Z]./2103869_d.html.[3]辛運(yùn)幃饒一梅張鈞.Java程序設(shè)計(jì)[M].北京:清華大學(xué)出版社1997:66-87.[4](美)MartyHall,LarryBrown.CoreServletsandJavaSer

溫馨提示

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

評(píng)論

0/150

提交評(píng)論