五子棋游戲程序設(shè)計-免費(fèi)畢業(yè)設(shè)計論文_第1頁
五子棋游戲程序設(shè)計-免費(fèi)畢業(yè)設(shè)計論文_第2頁
五子棋游戲程序設(shè)計-免費(fèi)畢業(yè)設(shè)計論文_第3頁
五子棋游戲程序設(shè)計-免費(fèi)畢業(yè)設(shè)計論文_第4頁
五子棋游戲程序設(shè)計-免費(fèi)畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

游戲程序設(shè)計摘要游戲設(shè)計已經(jīng)成為現(xiàn)在社會的一種熱門行業(yè)。五子棋是一種受大眾廣泛喜愛的游戲,其規(guī)則簡單,變化多端,非常富有趣味性和消遣性。這里設(shè)計和實(shí)現(xiàn)了一個雙人對下的五子棋單機(jī)游戲。主要應(yīng)用了VisualC++編程來完成這個游戲的設(shè)計的。本文主要介紹了本游戲開發(fā)環(huán)境MicrosoftVisualC++6.0,使用當(dāng)前優(yōu)秀的開發(fā)工具VC++編程。包含了五子棋程序的棋盤初始化、游戲規(guī)則、勝負(fù)判斷方法。關(guān)鍵詞:初始化;規(guī)則;判斷;

ABSTRACThegamedesignedalreadybecomesthepresentsocietyonepopularprofession.Thegobangisonekindthegamewhichiswidelylikedthepopulace,itsruleissimple,changeable,extremelyrichinterestingandrecreational.Heredesignedandhasrealizedonetwopersontoundergobangsingleplanegame.MainlyappliedVisualtheC++programmingtocompletethisgamethedesign.ThisarticlemainlyintroducedthisgamedevelopmentenvironmentMicrosoftVisualC++6.0,usecurrentoutstandingdevelopmentkitVC++programming.Hascontainedthegobangprocedurecheckerboardinitialization,thegamerule,thevictoryanddefeatjudgmentmethod.Keyword:Initialization;Rule;Judgment;

目錄第一章 引言 51.1國內(nèi)外游戲的發(fā)展 51.2中國游戲發(fā)展的誤區(qū) 51.3政府大力扶持國產(chǎn)游戲 71.4有民族特色的游戲 8第二章 系統(tǒng)開發(fā)工具和技術(shù) 102.1游戲設(shè)計環(huán)境簡介 102.2ViusalC++簡介 132.2.1面向?qū)ο蟮幕靖拍?132.2.2面向?qū)ο蟮某绦蛟O(shè)計 152.3類的介紹 18第三章 五子棋游戲設(shè)計 193.1模塊分析 193.1.2棋盤初始化模塊 203.1.3結(jié)局判斷模塊 223.2五子棋規(guī)則的實(shí)現(xiàn) 263.3界面設(shè)計 28第四章 總結(jié) 30參考文獻(xiàn) 31鳴謝 32

引言1.1國內(nèi)外游戲的發(fā)展近年來,隨著網(wǎng)絡(luò)的發(fā)展,游戲成為許多人關(guān)注的焦點(diǎn)。與傳統(tǒng)的影音產(chǎn)業(yè)一樣,游戲產(chǎn)業(yè)也是娛樂行業(yè)的一個重要組成部分,基于數(shù)字化的網(wǎng)絡(luò)游戲更讓人們找到了前所未有的感受,并已經(jīng)成為全球互聯(lián)產(chǎn)業(yè)的熱點(diǎn)。IDC公司預(yù)計,2002年網(wǎng)絡(luò)游戲全球銷售額約為60億美元,未來50年,這一產(chǎn)業(yè)將保持年均50%以上的增長速度。中國電子信息產(chǎn)業(yè)發(fā)展研究院的統(tǒng)計表明,2001年,我國網(wǎng)絡(luò)游戲市場銷售額超過3億元,增長率超過52%。2003年中國網(wǎng)絡(luò)游戲市場增長45.8%,達(dá)到13.2億元人民幣,今年上半年,這一市場規(guī)模已達(dá)8.85億元,預(yù)計全年有望達(dá)到17億元,預(yù)計到2007年將達(dá)到67億人民幣。未來3年,我國網(wǎng)絡(luò)游戲產(chǎn)業(yè)將以年均115%左右的速度增長.在中國,巨大網(wǎng)絡(luò)游戲消費(fèi)已經(jīng)成為業(yè)界共識。中國網(wǎng)民已經(jīng)達(dá)到3000萬人,其中30歲以下的占67.9%,即1800萬人;以“休閑娛樂”為主要目的的占34.4%,即911萬;用戶最常用的網(wǎng)絡(luò)服務(wù)中,選擇“網(wǎng)上游戲娛樂”的占15.8%,即418萬。新華社最近公布了一項參考數(shù)據(jù):今年以來,中國網(wǎng)絡(luò)游戲用戶正以每月10萬-30萬的超高速度在增長。由此,不難看出中國網(wǎng)絡(luò)游戲產(chǎn)業(yè)的發(fā)展?jié)摿薮蟆>W(wǎng)絡(luò)游戲出版產(chǎn)業(yè)對批發(fā)和零售渠道、IT及通信技術(shù)的發(fā)展、國家稅收的提高等都有較大的促進(jìn)作用。僅2003年一年,就對通信業(yè)直接貢獻(xiàn)87.1億人民幣,對IT產(chǎn)業(yè)直接貢獻(xiàn)35億人民幣,對媒體及傳統(tǒng)出版直接貢獻(xiàn)26.4億人民幣。1.2中國游戲發(fā)展的誤區(qū)誰是中國網(wǎng)絡(luò)游戲市場最大的收益者?一言以蔽之,中國網(wǎng)絡(luò)游戲市場最大的收益者是韓國游戲開發(fā)商。網(wǎng)易的丁磊說過這樣的一句名言:網(wǎng)絡(luò)游戲行業(yè),是一個睡覺時也能有成千上萬收入的行業(yè)。言指網(wǎng)絡(luò)游戲賺錢之易,但當(dāng)我們看看中國運(yùn)營商的現(xiàn)狀時卻有別樣的感受:試問哪家運(yùn)營商不是整天擔(dān)憂著外掛、復(fù)制與刷錢,不是整天都提心吊膽,生怕出些什么亂子?試問哪家運(yùn)營商不是沒日沒夜的思考著如何去推廣產(chǎn)品,在競爭激烈的市場中找到一席之地?又試問誰不是在拼命向前走,嘗試著宣傳、活動與銷售的創(chuàng)新,生怕有一時的落后?簡單的問一聲,哪個游戲的項目經(jīng)理能夠每晚都安然入睡而不是從噩夢中驚醒?一句話,現(xiàn)在賺錢比以前難多了,推廣費(fèi)用的急速增高,利潤空間的日益縮小,還得與電信商、銷售商、合作伙伴分享利潤,還得時不時的“讓利于民”,運(yùn)營商的日子是越來越難過了。而真正如丁磊所說的,睡著大覺也賺大錢的幸福時光,只可能屬于韓國游戲開發(fā)商。他們坐擁著中國70%以上的市場,他們收取著從20%到40%不等的高額代理費(fèi)用,他們得意揚(yáng)揚(yáng)的將自己的產(chǎn)品標(biāo)上高價,待價而沽。讓我們來看看韓國人自己的說法:韓國產(chǎn)業(yè)振興院代表介紹:韓國游戲的出口額達(dá)到1億4080萬美元。而其中,來自中國市場的約為50%強(qiáng),那也就是,韓國游戲開發(fā)商每年要從中國獲取至少4億人民幣以上的收入。對比中國網(wǎng)絡(luò)游戲年度13.2億的總盤子,這4億收入讓韓國開發(fā)商當(dāng)之無愧的成為了中國網(wǎng)絡(luò)游戲市場的最大收益者。那在獲取高額收入的同時,他們的所作所為又是否真的能對得起這份收益呢?他們,無視中國市場現(xiàn)狀,全行業(yè)聯(lián)合將產(chǎn)品代理費(fèi)用提高,還一次次的要求提高分成費(fèi)。一款相對來說優(yōu)秀的網(wǎng)絡(luò)游戲,其代理費(fèi)用早已從30萬美金變成了數(shù)百萬美金,而分成費(fèi)的比例也“芝麻開花節(jié)節(jié)高”,最高的已超過40%。他們,對于游戲bug、外掛、復(fù)制等問題,視而不見,熟視無睹;他們,對于游戲內(nèi)容更新動作緩慢,后續(xù)支持若有若無;他們,總是將中國大陸市場視為落后市場,在技術(shù)支持上執(zhí)行其所謂的區(qū)別歧視策略。他們,在產(chǎn)品開發(fā)上缺乏創(chuàng)新,互相抄襲成風(fēng),雷同的故事情節(jié),單一的游戲方式,粗枝濫造的游戲品質(zhì),商業(yè)化的粗鄙的文化觀與價值觀……正如我們的家電、電腦、服裝等行業(yè)一樣,中國網(wǎng)絡(luò)游戲業(yè)同樣有著趕超列強(qiáng)甚至進(jìn)軍海外的可能。最可怕的是什么,是我們不思進(jìn)取的自滿心態(tài),是我們滿足于小恩小惠的奴才心理,是我們所一直被束縛的陳舊觀念,是我們內(nèi)戰(zhàn)內(nèi)行、外戰(zhàn)外行的可恥思想!原子彈算是最尖端的高科技了,中國人同樣能夠攻克;載人飛船算是高科技了吧,中國人同樣可以擁有。醒醒吧,中國的網(wǎng)絡(luò)游戲人,自主研發(fā)并不困難,韓國甚至是歐美列強(qiáng)并非不可超越。當(dāng)我們已經(jīng)擁有了足夠的資金、優(yōu)秀的程序設(shè)計員、優(yōu)秀的美工實(shí)力以及中國人民從來就不缺乏的智慧與想象力時,我們?yōu)槭裁匆视谏硖幃a(chǎn)業(yè)鏈的下游,我們?yōu)槭裁匆ト淌茼n國大爺?shù)氖饬枞?、頤指氣使,我們?yōu)槭裁床荒苤圃斐鰧儆谥袊约旱挠螒?,我們?yōu)槭裁床荒茏屖澜缟献顑?yōu)秀的游戲madeinchina?2003年,同樣有著若干優(yōu)秀的國產(chǎn)網(wǎng)絡(luò)游戲出現(xiàn),它們的表現(xiàn)同樣優(yōu)異,甚至出現(xiàn)了這樣耐人思考的局面:凡是國產(chǎn)的網(wǎng)絡(luò)游戲,就沒有私服,就能良好的解決外掛問題,就能夠在市場上取得一席之位,這,難道還不足夠讓所有人去反思么?中國網(wǎng)游中國造,這絕不僅僅是一句口號。自主研發(fā)的大旗已經(jīng)迎風(fēng)招展,新的時代呼之欲出,就讓一直被封閉在小黑屋中的我們?nèi)ネ逼颇菍哟皯艏埌?,迎面而來的將是整個世界。1.3政府大力扶持國產(chǎn)游戲據(jù)新華社電信息產(chǎn)業(yè)部副部長奚國華,日前就信息產(chǎn)業(yè)領(lǐng)域貫徹《中共中央國務(wù)院關(guān)于進(jìn)一步加強(qiáng)和改進(jìn)未成年人思想道德建設(shè)的若干意見》接受采訪時指出:“未成年人是祖國未來的建設(shè)者,既要從法律、行政、經(jīng)濟(jì)、行業(yè)自律等各方面規(guī)范網(wǎng)絡(luò)服務(wù)行為,又要積極配合相關(guān)部門做好網(wǎng)絡(luò)的內(nèi)容建設(shè),為廣大未成年人提供內(nèi)容健康、形式生動、具有吸引力的網(wǎng)絡(luò)內(nèi)容。奚國華強(qiáng)調(diào),信息產(chǎn)業(yè)部正加強(qiáng)軟件產(chǎn)品研發(fā)投入,鼓勵開發(fā)和推廣有自主知識產(chǎn)權(quán)的相關(guān)軟件產(chǎn)品和網(wǎng)絡(luò)游戲機(jī),保障未成年人思想道德建設(shè)的良好的網(wǎng)絡(luò)信息環(huán)境。原文化部副部長,網(wǎng)絡(luò)文明工程組委會副主任徐文伯等一批權(quán)威專家認(rèn)為,網(wǎng)絡(luò)游戲用戶群巨大、發(fā)展前景廣闊,其產(chǎn)生的文化影響更是不可輕心。2003年我國已將網(wǎng)絡(luò)游戲納入863計劃,目前中國網(wǎng)絡(luò)游戲的開發(fā)人才奇缺。完成此課題的設(shè)計使我們學(xué)以致用掉以輕,總結(jié)學(xué)習(xí)成果,拓展就業(yè)渠道的一個理想過程。根據(jù)文化部日前公布的網(wǎng)絡(luò)游戲產(chǎn)品內(nèi)容審查制度的規(guī)定,將禁止進(jìn)口非獨(dú)家授權(quán)使用的網(wǎng)絡(luò)游戲。據(jù)了解,這一規(guī)定主要是考慮到,游戲產(chǎn)品版權(quán)貿(mào)易和運(yùn)營代理協(xié)議必須符合我國合同法、著作權(quán)法等法律法規(guī)的有關(guān)規(guī)定,并不得有顯失公正的條款。按照文化部的審查規(guī)定,經(jīng)文化部批準(zhǔn)的進(jìn)口網(wǎng)絡(luò)游戲產(chǎn)品不得擅自變更節(jié)目名稱和增刪節(jié)目內(nèi)容。自批準(zhǔn)之日起一年內(nèi)未在國內(nèi)運(yùn)營、傳播、流通的,進(jìn)口單位應(yīng)報文化部備案并說明原因;決定終止進(jìn)口的,文化部撤銷其進(jìn)口批準(zhǔn)文號。按照規(guī)定,網(wǎng)絡(luò)游戲產(chǎn)品進(jìn)口、運(yùn)營單位應(yīng)當(dāng)加強(qiáng)運(yùn)營管理,避免在產(chǎn)品運(yùn)營過程中產(chǎn)生違法違規(guī)的內(nèi)容。由于非進(jìn)口、運(yùn)營單位的原因產(chǎn)生禁止內(nèi)容的,進(jìn)口、運(yùn)營單位要立即對禁止內(nèi)容進(jìn)行刪除處理。按照規(guī)定,進(jìn)口香港、澳門特別行政區(qū)和臺灣地區(qū)的網(wǎng)絡(luò)游戲產(chǎn)品,將參照外國網(wǎng)絡(luò)游戲產(chǎn)品辦理相關(guān)手續(xù)。1.4有民族特色的游戲五子棋,亦稱“連五子”、“串珠”、“五目”、“五格”等等,日文稱之為“連珠”,英文則稱之為“Gobang”或“Renju”或“FIR(FiveInaRow)”,是起源于中國古代的傳統(tǒng)黑白棋種之一。早在“堯造圍棋”之前,可能民間就已有五子棋游戲。中國人稱五子棋為“連五子”或“連珠”,也許是源于史書中“日月如合璧,五星如連珠”。古代的五子棋盤與圍棋盤通用,漢魏時期通行的是十七路棋盤;到了南北朝時期已流行十九路棋盤,這與現(xiàn)代通用的五子棋十五路棋盤是不相同的。此外,古代的五子棋的下法是“白先黑后”,大約是白為陽,為氣,氣者清揚(yáng)向上,氣者先行;而黑為陰,為形,形者凝聚向下,形重遲緩,故持黑方后行。我國臺灣現(xiàn)在仍有以“白先黑后”的規(guī)則下五子棋,這與現(xiàn)代五子棋的“黑先白后”的下法是不同的。五子棋有何年何月傳到國外,尚不明了。大約隨圍棋一起在我國南北朝時期先后傳入朝鮮、日本等地。據(jù)日本史料文獻(xiàn)記載,中國古代的五子棋先由中國傳到高麗,然后于公元1688年至公元1704年日本的元祿時代再從高麗傳到日本。當(dāng)時主要在皇宮和貴族大家庭中流行。到元祿末期,在日本京都,這一當(dāng)時被稱為“五目碰”、“五格”的棋游戲在民間開始盛行起來,無論武士、僧侶、農(nóng)夫等都能參與這一活動。到日本明治32年〔公元1899年〕,經(jīng)過公開征名,“連珠”這一名稱才被正式確定下來。從這以后,連珠這一活動經(jīng)過了不斷的改良,主要是規(guī)則的變化。例如1899年規(guī)定禁止黑白雙方走“雙三”;1903年規(guī)定只禁止先行的黑方走“雙三”;1912年規(guī)定,黑方被迫走“雙三”亦算輸;1916年規(guī)定,黑方不許走“長連”;1918年規(guī)定,黑方也不許走“四、三、三”;1931年規(guī)定,黑方不許走“雙四”,并規(guī)定將19X19道線的圍棋盤改為15X15道線的五子棋專用棋盤。通過這一系列的規(guī)則變化,使五子連珠這一簡單的游戲復(fù)雜化、規(guī)范化,而最終成為今天的職業(yè)連珠五子棋,同時也成為一種國際比賽棋。目前,連珠五子棋這一棋類運(yùn)動已迅速在國際上發(fā)展起來。現(xiàn)在,已有40多個國家和地區(qū)開展了五子棋活動。許多國家的人對五子棋都有不同的愛稱,例如韓國人吧五子棋稱為“情侶棋”,言下之意是說情人之間下五子棋有利于增加感情的交流;歐洲人稱之為“紳士棋”,喻棋手下五子棋的君子風(fēng)度勝似紳士;美洲人稱之為“商業(yè)棋”,意思可能是邊下五子棋邊談生意,是商業(yè)貿(mào)易之橋;日本人則稱之為“中老年棋”,表示五子棋適合成熟的中老年人的生理特點(diǎn)和思維方式。不同語言、地區(qū)的人們都可以借助五子棋這一簡單而又深奧的棋藝進(jìn)行交流、比賽,增進(jìn)友誼。

系統(tǒng)開發(fā)工具和技術(shù)2.1游戲設(shè)計環(huán)境簡介自C++誕生以來,隨著Internet技術(shù)的普及和應(yīng)用需求的變化,以第四代語言為主的應(yīng)用開發(fā)產(chǎn)品發(fā)生了較大的變化,它們不僅已成為人們開發(fā)應(yīng)用的開發(fā)工具,而且很多產(chǎn)品已發(fā)展成為一種強(qiáng)有力的應(yīng)用開發(fā)環(huán)境。這些新型的開發(fā)工具通常以一種集成軟件包的形式提供給開發(fā)人員,被稱為Studio(工作室)或Suite(程序組)。例如,微軟Visual

Studio

6.0,Borland公司的Delphi

6.0等數(shù)據(jù)庫輔助開發(fā)工具。

現(xiàn)在,市場上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。目前在我國市場上最為流行、使用最多、最為先進(jìn)的可用作企業(yè)級開發(fā)工具的產(chǎn)品有:

Microsoft公司的Visual

Basic

6.0版Microsoft公司的Visual

C++6.0版Borland公司的Delphi

6.0版在目前市場上這些眾多的程序開發(fā)工具中,有些強(qiáng)調(diào)程序語言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)工具所帶來的便利性與效率的得高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的需求。然而,語言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒有彈性的語言作支持,許多特殊化的處理動作必需要耗費(fèi)數(shù)倍的工夫來處理,使得原來所標(biāo)榜的效率提高的優(yōu)點(diǎn)失去了作用;相反,如果只強(qiáng)調(diào)程語言的彈性,卻沒有便利的工具作配合,會使一些即使非常簡單的界面處理動作,也會嚴(yán)重地浪費(fèi)程序設(shè)計師的寶貴時間。而VC++6.0是一個非常理想選擇,VC++6.0

是操作系統(tǒng)中快速應(yīng)用開發(fā)環(huán)境的最新版本。它也是當(dāng)前Windows平臺上第一個全面支持最新Web服務(wù)的快速開發(fā)工具。無論是企業(yè)級用戶,還是個人開發(fā)者,都能夠利用VC++6.0

輕松、快捷地開發(fā)優(yōu)秀的基于通信的程序,開發(fā)高效靈活的文件操作程序,開發(fā)靈活高效的數(shù)據(jù)庫操作程序,等等。VC++6.0是惟一支持所有新出現(xiàn)的工業(yè)標(biāo)準(zhǔn)的RAD環(huán)境,包括XML(擴(kuò)展標(biāo)記語言)/XSL(可擴(kuò)展樣式語言),SOAP(簡單對象存取協(xié)議)和WSDL(Web服務(wù)器描述語言)等。VC++6.0

是可視化的快速應(yīng)用程序開發(fā)語言,它提供了可視化的集成開發(fā)環(huán)境,這一環(huán)境為應(yīng)用程序設(shè)計人員提供了一系列靈活而先進(jìn)的工具,可以廣泛地用于種類應(yīng)用程序設(shè)計。在VC++6.0

的集成開發(fā)環(huán)境中,用戶可以設(shè)計程序代碼、運(yùn)行程序、進(jìn)行程序錯誤的調(diào)試等,可視化的開發(fā)方法降低了應(yīng)用程序開發(fā)的難度。VC++6.0的基礎(chǔ)編程語言是具有面向?qū)ο筇匦缘腃++語言。C++具有代碼穩(wěn)定、可讀性好、編譯速度快,效率高等優(yōu)點(diǎn),并將面向?qū)ο蟮母拍畹玫匠浞值陌l(fā)揮,使這種語言有了全新的發(fā)展空間。

合開發(fā)那些時間要求緊,面向具體用戶的應(yīng)用。也就是項目開發(fā)。而不是產(chǎn)品開發(fā),VC開發(fā)速度慢,但代碼質(zhì)量高。適合開發(fā)使用VC++6.0

,我們幾乎可以作任何事情,還可以撰寫種各種類型的應(yīng)用程序,動態(tài)鏈接庫(DLL)、CON、或CORBA對象,CGI/ISAPI程序,Microsoft

Back

Office應(yīng)用程序。程序的規(guī)模小到簡單的個人數(shù)據(jù)庫應(yīng)用,大到復(fù)雜的企業(yè)的多層次分布式系統(tǒng),都可以使用VC++6.0進(jìn)行開發(fā),其友好的集成開發(fā)界面,可視化的雙向開發(fā)模式,良好的數(shù)據(jù)庫應(yīng)用支持高效的程序開發(fā)和程序運(yùn)行,備受廣大程序開發(fā)人員的好評。尤其是VC++6.0對數(shù)據(jù)庫應(yīng)用的強(qiáng)大支持,大大提高了數(shù)據(jù)庫應(yīng)用軟件開發(fā)的效率,縮短了開發(fā)周期,深受廣大數(shù)據(jù)庫應(yīng)用程序設(shè)計人員的喜愛。VC++6.0為數(shù)據(jù)庫應(yīng)用開發(fā)人員提供了豐富的數(shù)據(jù)庫開發(fā)組件,使數(shù)據(jù)庫應(yīng)用開發(fā)功能更強(qiáng)大,控制更靈活,編譯后的程序運(yùn)行速度更快。

VC與VB的比較:VB開發(fā)速度快,可視化程度高。適具體的產(chǎn)品。它對低層的操縱能力強(qiáng)。可以說其他編程工具不能實(shí)現(xiàn)的,用VC基本上都能實(shí)現(xiàn),就運(yùn)行速度而言,VC要比VB要快,盡管VB近來推出了速度優(yōu)化編譯,號稱能夠基本達(dá)到VC的速度。但是還是要慢一些。綜上所述,本畢業(yè)設(shè)計采用VC++6.0作為開發(fā)平臺VisualC++6.0編程語言是由Microsoft公司推出的目前極為廣泛的可視化開發(fā)工具,利用VisualC++6.0可以開發(fā)基于Widnows平臺的32位應(yīng)用程序,依靠強(qiáng)大的編譯器以及網(wǎng)絡(luò)與數(shù)據(jù)庫的開發(fā)能力,用VisualC++6.0可以開發(fā)出功能強(qiáng)大的應(yīng)用程序。VisualC++6.0目前為止Microsoft推出的最新和最好的VisualC++編譯程序版本,該產(chǎn)品已不僅僅是一個編譯程序,已增加了很多新的內(nèi)容,它包含了Microsoft的綜合基本類(FoundationClass),可簡化和加速Windows程序的開發(fā);還包括了完善的資源編輯程序,可以用來設(shè)計復(fù)雜的對話框、菜單、工具條、圖象、現(xiàn)代Windows應(yīng)用程序所需的很多其他組件等。還有一個名為“開發(fā)工作室(DeveloperStudio)”的優(yōu)秀的集成開發(fā)環(huán)境,當(dāng)你開發(fā)應(yīng)用程序時就可以用圖形化的視圖來查看該應(yīng)用程序的結(jié)構(gòu)。一種完全集成化的調(diào)試工具使你立即就可以查看程序運(yùn)行時各方面的細(xì)節(jié)。這些僅僅是VisualC++6.0所擁有大量功能中的幾個例子。利用VisualC++6.0,就可以幫助你采用最新的Windows開發(fā)成果去開發(fā)快速而功能齊全的、先進(jìn)的應(yīng)用軟件。在VisualC++6.0中包含了大量新功能:一些新的控件(例如,你可能在MicrosoftOutlook電子郵件應(yīng)用程序中日期選擇器控件)目前已能應(yīng)用到你自己的應(yīng)用程序中。各種圖象現(xiàn)在已能與組合框中的項相關(guān)聯(lián),而且可以利用擴(kuò)充的組合框控件將圖象顯示在組合選擇框中和下列列表中。在Office97和InternetExplorer4中已使用的一般的工具條和尺寸可調(diào)節(jié)的工具條都已集成在其類庫中,以供你用于你自己的應(yīng)用程序中。你可以在你自己的應(yīng)用程序中使用InternetExplorer,查看Web頁和HTML的內(nèi)容。功能強(qiáng)大的AppWizard可以用來生成各種初始類型的應(yīng)用程序框架,因而,即使你沒有添加一行程序新的應(yīng)用程序就可具有像Windows資源管理器那樣的多視圖應(yīng)用程序的所有功能?;诮M件的編程和分布式組件對象模型(DistributedComponentObjectModalDCOM)都是現(xiàn)代軟件開發(fā)新的主流領(lǐng)域。本系統(tǒng)是在WINDOWS操作系統(tǒng)上進(jìn)行開發(fā)并獲得通過的,同時方便系統(tǒng)開發(fā),減少開發(fā)過程的難度,我們是基于以下的軟件環(huán)境。以VisualC++6.0為開發(fā)工具。在80年代,由微軟公司所推出的操作系統(tǒng)可以說是個人計算機(jī),簡稱Pc的寵兒,每個Pc使用有手上幾乎都有一套。當(dāng)初在推出時.有很多的專家并不看好它,但是在行銷策賂和廣告的帶動下,卻脫穎而出.打敗了當(dāng)時的競爭者.成為全球數(shù)千萬臺Pc上的操作系統(tǒng)。M各D既是一個提供文字模式、只支持單任務(wù)操作、功能并不是很強(qiáng)大、其用戶界面也不怎么友善的操作系統(tǒng),它陪伴大家走過廠80年代。從日前的跡象看來,廣大的用戶在短期之內(nèi).應(yīng)該還不會拋棄這個十幾年的老朋友。繼DOS之后,于1983年又對外發(fā)表即將推出新—代的操作環(huán)境——windows(話說的太早,結(jié)果拖了兩年后才正式發(fā)行),企圖再創(chuàng)另一個高峰。但是最初的wmdMs因?yàn)槭芟抻谟布?、開發(fā)技術(shù)和規(guī)劃上的不成熟.剛開始并末得到太多的掌聲。一直等到1990年全球開始掀起一股WINDOWS風(fēng)潮,許多硬件廠商積極推出與之相容的機(jī)種,而軟件公司也汗始注意這塊尚未開墾的土地.相繼推出windows版的應(yīng)用軟件,成是把以往的產(chǎn)品移植到windows上。時于今天軟件可以說是一應(yīng)俱全,文字、排版、圖象、繪圖、通信電子表格等等,不論是專業(yè)領(lǐng)域或者是一般用途,使用將會發(fā)現(xiàn)有越來越多且功能更加強(qiáng)人的應(yīng)用軟件可供選擇。Windows2000/xp是目前主流圖形化操作系統(tǒng),運(yùn)行各種各樣的Windows操作系統(tǒng)的個人計算機(jī)已在全球的家庭和辦公環(huán)境中廣泛使用,而越來越多的個人計算機(jī)具有Internet功能和多媒體功能又推動了對各種各樣功能強(qiáng),速度快的應(yīng)用軟件的進(jìn)一步需求。目前有一種對Microsoft所取得的成功進(jìn)行誹謗的氣氛,然而,Microsoft的成功加上它對標(biāo)準(zhǔn)化的承諾,使得有承諾的Windows編程人員利用他們掌握的技術(shù)在全球范圍內(nèi)得到越來越大的回報,由于西方社會的承認(rèn)和計算機(jī)已越來越深入到每個人的生活中,因而對他們的技術(shù)需求與日俱增,從而使得他們的回報、經(jīng)濟(jì)收入和其他各方面相應(yīng)地取得了滿意的結(jié)果。2.2ViusalC++簡介2.2.1面向?qū)ο蟮幕靖拍钏季S方式?jīng)Q定解決問題的方式,傳統(tǒng)軟件開發(fā)采用自頂向下的思想指導(dǎo)程序設(shè)計,即將目標(biāo)劃分為若干子目標(biāo),子目標(biāo)再進(jìn)一步劃分下去,直到目標(biāo)能被編程實(shí)現(xiàn)為止。面向?qū)ο蠹夹g(shù)給軟件設(shè)計領(lǐng)域帶來極大的變化,它利用軟件對象來進(jìn)行程序開發(fā),所謂對象是包含數(shù)據(jù)和對數(shù)據(jù)操作的代碼實(shí)體,或者說是在傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中加入一些被稱為成員函數(shù)的過程,因而賦予對象以動作。而在程序設(shè)計中,對象具有與現(xiàn)實(shí)世界的某種對應(yīng)關(guān)系,我們正是利用這種關(guān)系對問題進(jìn)行分解。從程序語言角度來看,在一個對象中代碼和(或)數(shù)據(jù)可以是這個對象私有的,不能被對象外的部分直接訪問。因而對象提供了一種高級保護(hù)以防止程序被無關(guān)部分錯誤修改或錯誤地使用了對象的私有部分。當(dāng)從對象外部試圖直接對受保護(hù)的內(nèi)部數(shù)據(jù)進(jìn)行修改時,將被程序拒絕,只有通過對象所提供的對外服務(wù)函數(shù)才能夠?qū)ζ鋬?nèi)部數(shù)據(jù)進(jìn)行必要的加工,從而保證了數(shù)據(jù)加工的合法性。從這一意義上講,把這種代碼和數(shù)據(jù)的聯(lián)系稱為“封裝”。換句話說,封裝是將對象封閉保護(hù)起來,是將內(nèi)部細(xì)節(jié)隱蔽起來的能力。在強(qiáng)調(diào)軟件組件的重用方面,面向?qū)ο蟮募夹g(shù)與標(biāo)準(zhǔn)的工業(yè)設(shè)計規(guī)律有更多相似之處。在面向?qū)ο笳Z言中,類是創(chuàng)建對象的關(guān)鍵,事實(shí)上類描述了一族對象的公共特征和操作,而對象則是具體實(shí)現(xiàn)的類。例如小汽車是一個基本概念,它具有顏色、幾何尺寸、動力特性的特征。那我們可以定義一個稱為“car”的類,具有顏色、幾何尺寸、動力特征等參數(shù),以及描述汽車在外界條件下運(yùn)動狀態(tài)的成員函數(shù)。一輛具體的小汽車則是一個對象,在這個對象中有關(guān)參數(shù)均有具體數(shù)值,并可以通過輸入說明變量(外界條件參數(shù))獲取該車具體運(yùn)動狀態(tài)。面向?qū)ο蠹夹g(shù)給軟件發(fā)展帶來如下益處:可重用性。從一開始對象的產(chǎn)生就是為了重復(fù)利用,完成的對象將在今后的程序開發(fā)中被部分或全部地重復(fù)利用。可靠性。由于面向?qū)ο蟮膽?yīng)用程序包含了通過測試的標(biāo)準(zhǔn)部分,因此更加可靠。由于大量代碼來源于成熟可靠的類庫,因而新開發(fā)程序的新增代碼明顯減少,這是程序可靠性提高的一個重要原因。連續(xù)性。具有面向?qū)ο筇攸c(diǎn)的C++與C語言有很大的兼容性,C程序員可以比較容易地過渡到C++語言開發(fā)工作。面向?qū)ο笳Z言具有如下基本特征:訪問控制。對象必須能夠?qū)ζ鋬?nèi)部的某些元素進(jìn)行保護(hù),是它們只能被內(nèi)部使用,而不受外部干擾。反過來,對象又必須同其它外部元素進(jìn)行聯(lián)系,以便對對象進(jìn)行操作。在C++中,類有私有的(private)、保護(hù)的(protected)和公有的(public)三種訪問機(jī)制。繼承性。通過對已有對象進(jìn)行增加或部分修改的方法建立新的對象,對已有對象可以增加數(shù)據(jù)和過程,也可以對其中某些過程進(jìn)行從新定義。最初的類被稱為基類,從基類擴(kuò)展出來的類稱為派生類。從已有類派生出新類是為了獲得更強(qiáng)的針對性。多態(tài)性。正象生態(tài)系統(tǒng)一樣,繼承構(gòu)成了類族。通常這些類族中的類具有同名的成員函數(shù),例如OD分布類族,具有一個通用基類,兩個派生類:增長系數(shù)OD分布類和重力模型OD分布類,這幾個類都有同名的Exec成員函數(shù)。多態(tài)性意味著存在多種形式,能使人們在程序中激活任何屬于OD分布類族的類的Exec成員函數(shù),甚至在編譯可以不必具體知道對象是屬于增長系數(shù)OD類還是重力模型OD分布類。面向?qū)ο篌w系結(jié)構(gòu)技術(shù)有助于創(chuàng)建行業(yè)性軟件開發(fā)機(jī)構(gòu)。例如交通規(guī)劃盡管具有差別,但各城市所需要的軟件基本上是相同的,這就為軟件開發(fā)機(jī)構(gòu)提供了一種制作面向交通規(guī)劃的軟件框架(注意這里講的是軟件框架而不是通用性軟件)的機(jī)會。這種框架一旦開發(fā)成功,就可以多次反復(fù)利用。面向?qū)ο蠹夹g(shù)特別適合于將某一領(lǐng)域內(nèi)的軟件資源整理成體系化,因?yàn)樗泻芎玫谋憩F(xiàn)能力,能夠容易抓住特定功能領(lǐng)域的本質(zhì)。2.2.2面向?qū)ο蟮某绦蛟O(shè)計為有效使用面向?qū)ο蟮某绦蚍椒ǎ紫刃枰鉀Q程序的結(jié)構(gòu)設(shè)計問題。在程序設(shè)計過程中最重要的抽象,也就是說,從現(xiàn)實(shí)世界中抽象出合理的對象結(jié)構(gòu)。在面向?qū)ο笏枷胫?,抽象決定了對象的對外形象、內(nèi)部結(jié)構(gòu)以及處理對象的外部接口,其關(guān)鍵是處理對象的可見外部特征。封裝是與抽象緊密聯(lián)系的概念,它需要兩個基本前提:首先,對象必須能夠表現(xiàn)一個完備的概念,例如可以將一條道路的縱斷面設(shè)計作為一個對象,它與外部的聯(lián)系限于縱斷面地面線、縱斷面設(shè)計參數(shù)。當(dāng)這些外部條件給定之后,對象可以獨(dú)立計算任意樁號的設(shè)計高程、地面高程、設(shè)計高差、填挖面積等,也可以根據(jù)給定的比例和初始坐標(biāo)計算設(shè)計線和地面線的圖形坐標(biāo)。第二,對象的私有性,例如上述示例中,對象的內(nèi)部數(shù)據(jù)結(jié)構(gòu)在外部是不可見的,其他程序員并不需要了解這種數(shù)據(jù)結(jié)構(gòu)就可以使用對象的功能。對于對象的接口設(shè)計是十分重要的,它必須給出必要的訪問渠道,同時必須盡可能地將內(nèi)部細(xì)節(jié)隱藏起來。我們可以將接口看作是在屏蔽墻上打開的一些出入通道,通道過多了就失去了屏蔽墻存在的意義,通道過少又由于限制過強(qiáng)而行動不便。一般情況下,這種通道表現(xiàn)為一組接口函數(shù),事實(shí)上我們也可以將一些變量作為對外開放的,但這并不是一種很好的方法。面向?qū)ο笤O(shè)計方法的另一個重要貢獻(xiàn),是關(guān)于繼承與多態(tài)性的處理。所謂繼承是指從現(xiàn)存對象出發(fā)建立一個新的對象類型,使它具有原對象的特點(diǎn)和功能,這稱為“派生”。同時,新的對象類型又具有某種新特點(diǎn)和新功能。這樣,我們可以采用對象派生的方法建立一個有層次的對外部世界的描述。例如,在第三章中我們可以看到一組有關(guān)三維曲面分塊的類族,從四條三維空間直線定義的簡單曲面,到四條復(fù)雜三維空間曲線定義的曲面,呈現(xiàn)復(fù)雜的分層次的多態(tài)性。但他們都有共同的接口函數(shù)形式:例如根據(jù)給定平面點(diǎn)計算高程等。面向?qū)ο蟮姆椒▽W(xué)是要求按人們通常的思維方式建立問題領(lǐng)域的模型,設(shè)計出盡可能自然表現(xiàn)求解方法的軟件。所謂建立模型就是建立問題領(lǐng)域中事物間相互關(guān)系。而表現(xiàn)求解問題的方法就是人們思維方法的描述。在面向?qū)ο蟮脑O(shè)計方法中對象(object)和傳遞信息(messagepassing)分別表現(xiàn)事物和事物間的關(guān)系。類(class)和繼承性(inheritamce)是描述人們思維方式的描述方法。方法(method)是在可進(jìn)行的操作,這種對象、類、消息、方法的程序設(shè)計范式的關(guān)鍵在于對象的封裝和繼承性。通過封裝(emcapsulation)能將對象的定義和實(shí)現(xiàn)分開。通過繼承性,體現(xiàn)了類與類之間的關(guān)系,以及由此帶來的基本特征。下面將從面向?qū)ο蟮姆椒▽W(xué)方面對有關(guān)概念作簡要介紹。(1)對象我們把面向現(xiàn)實(shí)世界中的實(shí)體就稱為問題空間的對象從動態(tài)的觀點(diǎn)看,對象的操作就是對象的行為,從存儲的角度看,對象是計算機(jī)內(nèi)存中的一塊私有存儲區(qū),在這塊存儲區(qū)中有數(shù)據(jù)、有方法。在面向?qū)ο蟮某绦蛟O(shè)計中,對象是該系統(tǒng)的基本運(yùn)行實(shí)體,對于每個對象而言,都有與該對象對應(yīng)的方法,而與每個對象相關(guān)的方法,就是定義了該對象的操作。(2)消息和方法在對象之間,消息是他們之間的唯一聯(lián)系。在面向?qū)ο蟮某绦颦h(huán)境中設(shè)計的程序,它的執(zhí)行是依靠對象向消息傳遞來完成的。把所有的對象分為各種對象類,每個對象類都定義了一組方法,所謂方法就是允許在對象類上進(jìn)行的各種操作。(3)類在面向?qū)ο蟮某绦蛟O(shè)計中,對象是程序設(shè)計的最基本的單位,相似的對象可以并到一類中去,程序員只需定義一個類,就可根據(jù)這個類得到若干個實(shí)例,其中每個實(shí)例就是一個對象。(4)繼承性繼承性是自動地共享類、子類、對象中的方法和數(shù)據(jù)的一種機(jī)制,繼承性個減少程序設(shè)計中編寫代碼的工作量,它不僅支持系統(tǒng)的可重用性,而且還促進(jìn)了系統(tǒng)的可擴(kuò)充性。(5)封裝性所謂封裝是一種信息隱蔽技術(shù),用戶只能看到對象封裝界面上的信息,而對象內(nèi)部對用戶透明,封裝的目的是把對象的使用者和對象的設(shè)計者分開,使用者只需設(shè)計訪問對象的消息。(6)多態(tài)性當(dāng)同樣的消息可發(fā)送到父類的對象和它的子類的對象時,這就被稱為多太性。由于多太性具有可表達(dá)對象的多個類的能力。因此,它既與動態(tài)類型有關(guān),又與靜態(tài)類型有關(guān)。(7)動態(tài)聚束一個程序經(jīng)過編譯,連接生成的可執(zhí)行文件代碼,其過程就是將執(zhí)行代碼聚束在一起,若這一過程發(fā)生在程序設(shè)計時,就稱為動態(tài)聚束。面向?qū)ο笳Z言常使用這一類聚束方式,它具有程序簡單性和可擴(kuò)充性等優(yōu)點(diǎn)。

2.3類的介紹游戲的設(shè)計用到了ViusalC++6.0這個設(shè)計環(huán)境,在設(shè)計的過程中有很多不同的類構(gòu)成,在C++中類的定義方式為:class類名{private:私有數(shù)據(jù)及成員函數(shù);protected:保護(hù)段數(shù)據(jù)及成員函數(shù);public:公有數(shù)據(jù)及成員函數(shù);};其中,class是類定義符,類名是一種標(biāo)識符,類名稱的命名規(guī)則與變量名的命名規(guī)則相同。一隊花括號是類的說明部分,說明該類的成員。類的成員包括數(shù)據(jù)成員和成員函數(shù)兩部分。從訪問權(quán)限來分,類的成員又分為:公有的(public)、私有的(private)和保護(hù)的(protected)。

五子棋游戲設(shè)計3.1模塊分析3.1.1設(shè)計及編碼黑方下子開始找另一位置黑方下子開始找另一位置白方下子找另一位置判斷該位置是否有棋選擇是否重新開局判斷該位置是否有棋跳出白方獲勝框白方下子跳出黑方獲勝框判斷黑方是否勝出黑方下子判斷白方是否勝出游戲結(jié)束有是無是否否有否無是圖3.1游戲總體流程圖3.1.2棋盤初始化模塊開始游戲時游戲界面是沒有棋子的,也就是棋盤的初始化狀態(tài),如下圖(3.2)圖3.2初始化界面所以當(dāng)游開始時必須要進(jìn)行棋盤初始化,實(shí)現(xiàn)程序如下:IMPLEMENT_DYNCREATE(CTryDoc,CDocument)BEGIN_MESSAGE_MAP(CTryDoc,CDocument) //{{AFX_MSG_MAP(CTryDoc) //NOTE-theClassWizardwilladdandremovemappingmacroshere. //DONOTEDITwhatyouseeintheseblocksofgeneratedcode! //}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CTryDocconstruction/destructionCTryDoc::CTryDoc(){ //TODO:addone-timeconstructioncodehereResetData();}CTryDoc::~CTryDoc(){}BOOLCTryDoc::OnNewDocument(){ if(!CDocument::OnNewDocument()) returnFALSE; //TODO:addreinitializationcodehere //(SDIdocumentswillreusethisdocument) returnTRUE;}3.1.3結(jié)局判斷模塊如何判斷輸贏:當(dāng)某方下一子后,計算與當(dāng)前棋子相鄰的四個方向(\/|--)的同色棋子個數(shù),大于四則分出勝負(fù),否則繼續(xù),判斷是否在同一直線上的算法流程圖如下圖(3.3)白(黑)方下子白(黑)子在水平方向是否大于4白(黑)子在水平方向是否大于4是白(黑)方獲勝白(黑)方獲勝否白(黑)子在垂直方向是否大于4白(黑)子在垂直方向是否大于4進(jìn)入選擇是否重新開局框白(黑)方獲勝進(jìn)入選擇是否重新開局框白(黑)方獲勝否白(黑)子在正對角線方向是否大于4白(黑)子在正對角線方向是否大于4白(黑)方獲勝白(黑)方獲勝白(黑)子在反對角線方向是否大于4否白(黑)子在反對角線方向是否大于4是白(黑)方獲勝白(黑)方獲勝否黑(白)方下子圖3.3算法流程圖實(shí)現(xiàn)程序如下:BOOLCTryDoc::IsGameOver(){inti,j,countw=0,countb=0,ccount,m,n;for(i=0;i<15;i++) for(j=0;j<15;j++) { if(condition[i][j]==1||condition[i][j]==2) { for(m=i,n=j,ccount=5,countw=0,countb=0;n>=0,ccount>0;n--,ccount--)//n { if(condition[m][n]==1)countw++; elseif(condition[m][n]==2)countb++; } if(countw==5) { returnTRUE; } elseif(countb==5) { returnTRUE; } for(m=i,n=j,ccount=5,countw=0,countb=0;m<15,n>=0,ccount>0;m++,n--,ccount--)//ne { if(condition[m][n]==1)countw++; elseif(condition[m][n]==2)countb++; } if(countw==5) { returnTRUE; } elseif(countb==5) { returnTRUE; } for(m=i,n=j,ccount=5,countw=0,countb=0;m<15,ccount>0;m++,ccount--)//e { if(condition[m][n]==1)countw++; elseif(condition[m][n]==2)countb++; } if(countw==5) {returnTRUE; } elseif(countb==5) { returnTRUE; } for(m=i,n=j,ccount=5,countw=0,countb=0;m<15,n<15,ccount>0;m++,n++,ccount--)//se { if(condition[m][n]==1)countw++; elseif(condition[m][n]==2)countb++; } if(countw==5) { returnTRUE; } elseif(countb==5) { returnTRUE; } } } returnFALSE;}游戲結(jié)束時的游戲界面,如圖(3.4)圖3.4游戲結(jié)束界面3.2五子棋規(guī)則的實(shí)現(xiàn)開局時由白方先進(jìn)行下子,而后又由黑方下子,當(dāng)棋局進(jìn)入尾聲的時候再由結(jié)局判斷模塊進(jìn)行勝負(fù)的判斷,實(shí)現(xiàn)程序如下:(1)voidCTryView::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefault CClientDCdc(this);CTryDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc);if(mode==WITH_PEOPLE){if(pDoc->decided==TRUE) return; if(point.x<200||point.x>800||point.y<30||point.y>630) return; if(next==BLACK) return; CPointpos;pos.x=(point.x-200)/40; pos.y=(point.y-30)/40; if(pDoc->GetCondition(pos.x,pos.y)!=EMPTY) return; next=BLACK; pDoc->SetCondition(pos.x,pos.y,PEOPLE); DrawWhite(&dc,pos.x,pos.y); if(pDoc->IsGameOver()) { pDoc->decided=TRUE; AfxMessageBox("白方獲勝!"); }(2)voidCTryView::OnRButtonDown(UINTnFlags,CPointpoint){ //TODO:Addyourmessagehandlercodehereand/orcalldefault CClientDCdc(this);CTryDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); if(mode==WITH_PEOPLE){ if(pDoc->decided==TRUE) return; if(point.x<200||point.x>800||point.y<30||point.y>630) return; if(next==WHITE) return; CPointpos; pos.x=(point.x-200)/40; pos.y=(point.y-30)/40; if(pDoc->GetCondition(pos.x,pos.y)!=EMPTY) return; next=WHITE; pDoc->SetCondition(pos.x,pos.y,people); DrawBlack(&dc,pos.x,pos.y); if(pDoc->IsGameOver()) { pDoc->decided=TRUE; AfxMessageBox("黑方獲勝!"); }3.3界面設(shè)計對一個游戲而言,游戲界面是一個相當(dāng)重要的部分,界面的美觀直接影響到玩家對游戲喜愛程度,下面是對本游戲做的一個最開始的最簡單的一個游戲界面,下圖(3.6)圖3.5最初的游戲界面1.啟動MicrosoftVisualC++6.0,單擊文件/新建菜單項,新建一個MFCAppWizard(exe)應(yīng)用工程,在右上方的工程文本框中輸入人機(jī)對戰(zhàn)五子棋try,單擊“確定”按鈕,然后選擇“S單個文檔”,單擊三次“下一個”按鈕,之后單擊高級,去掉主框標(biāo)題中的try,然后單擊“完成”按鈕,再單擊“確定”按鈕,完成工程的建立。

總結(jié)從收集資料,到確定方案,再到著手制作游戲,歷經(jīng)三個月的努力,我的畢業(yè)設(shè)計已經(jīng)基本完成,其功能基本符合要求。能夠進(jìn)行的游戲。但是由于畢業(yè)設(shè)計時間較短和對VisualC++6.0(MFC)的使用較少,再加上C++語言的不熟悉,所以該游戲還有許多不足的的地方:首先,游戲界面做的不怎么美觀工整,以后有時間加以修改,其次,原本想做人機(jī)對下,但由于對代碼的不熟悉,所以無法實(shí)現(xiàn)人機(jī)對下,只能完成鼠標(biāo)左右鍵對下。當(dāng)然其他方面還有很多不足,就沒有一一舉出,這些都有待改進(jìn)。通過本次設(shè)計,加深了對VisualC++6.0(MFC)的了解和使用進(jìn)一步掌握了C++語言,學(xué)會了面向?qū)ο蟮拈_發(fā)技術(shù),提高了自己所學(xué)的基礎(chǔ)知識,增長了對游戲設(shè)計的認(rèn)識。這次設(shè)計既增長了知識,又增長了經(jīng)驗(yàn),獲益非淺。

參考文獻(xiàn)[1].羅斌,VisualC++編程技巧精選500例,北京:中國水利水電出版社,2005.1[2].劉加海,余建軍,VisualC++程序設(shè)計基礎(chǔ),北京:科學(xué)出版社,2003.8[3].譚鋒,章偉聰,VisualC++程序設(shè)計實(shí)訓(xùn)教程,北京:科學(xué)出版社,2003.8[4].肖宏偉,VisualC++實(shí)效編程百例,北京:人民郵電出版社,2004.8[5].劉加海,羅曉芳,面向?qū)ο蟮某绦蛟O(shè)計C++,北京:科學(xué)出版社,2003.8[6].王超龍,陳志華,VisualC++入門與提高,北京:人民郵電出版社,2002.6[7].肖永亮VisualC++游戲編程基礎(chǔ),北京:電子工業(yè)出版社,2005.5[8].許家珆,曾翎,軟件工程—理論與實(shí)踐,北京:高等教育出版社,2005.7[9].(美國)德洛拉,游戲編程精粹,人民郵電出版社,2003.12[10].(美國)斯塔勒,游戲編程中的數(shù)理應(yīng)用,紅旗出版社,2005.3[11].(美國)柯姆斯,游戲編程精粹,人民郵電出版社,2005.9[12].楊正華,VISUALC++游戲編程導(dǎo)學(xué),清華大學(xué)出版社,2004.12[13].呂建德,游戲程序設(shè)計概論,中國鐵道出版社,2006.1[14].(日本)坂本千尋,VISUALC++專業(yè)游戲程序設(shè)計,中國鐵道出版社,2004.11[15].(美國)羅比斯,C++游戲編程,清華大學(xué)出版社,2004.9[16].葉思義,宋昀璐,游戲設(shè)計全方位學(xué)習(xí),中國鐵道出版社,2006.1[17].(美國)麥克沙夫瑞,游戲編程全接觸,人民郵電出版社,2006.1[18].(美國)道森,C++游戲編程入門教程,人民郵電出版社,2006.1[19].(美國)莫里森,游戲編程入門,人民郵電出版社,2005.9[20].浦濱,C游戲編程從入門到精通,北京希望電子出版社,2002.1

鳴謝通過這次的畢業(yè)設(shè)計,讓我加深了對VisualC++6.0(MFC)的認(rèn)識,也讓我更進(jìn)一步的理解了C++語言的應(yīng)用,這次的設(shè)計讓我復(fù)習(xí)了幾乎以前所學(xué)到的所有知識,讓我獲益非淺。“Easy,now,”saidTedTonks,placingahandonHarry’sshoulderandpushinghimbackagainstthecushions.“Thatwasanastycrashyoujusthad.Whathappened,anyway?Somethinggowrongwiththebike?ArthurWeasleyoverstretchhimselfagain,himandhisMugglecontraptions?”“No,”saidHarry,ashisscarpulsedlikeanopenwound.“DeathEaters,loadsofthem–wewerechased–”“DeathEaters?”saidTedsharply.“Whatd’youmean,DeathEaters?Ithoughttheydidn’tknowyouwerebeingmovedtonight,Ithought–”“Theyknew,”saidHarry.TedTonkslookedupattheceilingasthoughhecouldseethroughittotheskyabove.“Well,weknowourprotectivecharmshold,then,don’twe?Theyshouldn’tbeabletogetwithinahundredyardsoftheplaceinanydirection.”NowHarryunderstoodwhyVoldemorthadvanished;ithadbeenatthepointwhenthemotorbikecrossedthebarrieroftheOrder’scharms.Heonlyhopedtheywouldcontinuetowork:HeimaginedVoldemort,ahundredyardsabovethemastheyspoke,lookingforawaytopenetratewhatHarryvisualizedasagreattransparentbubble.Heswunghislegsoffthesofa;heneededtoseeHagridwithhisowneyesbeforehewouldbelievethathewasalive.Hehadbarelystoodup,however,whenadooropenedandHagridsqueezedthroughit,hisfacecoveredinmudandblood,limpingalittlebutmiraculouslyalive.“Harry!”Knockingovertwodelicatetablesandanaspidistra,hecoveredthefloorbetweenthemintwostridesandpulledHarryintoahugthatnearlycrackedhisnewlyrepairedribs.“Blimey,Harry,howdidyehgetouto’that?Ithoughtwewerebothgoners.”“Yeah,metoo.Ican’tbelieve–”Harrybrokeoff.HehadjustnoticedthewomanwhohadenteredtheroombehindHagrid.“You!”heshouted,andhethrusthishandintohispocket,butitwasempty.“Yourwand’shere,son,”saidTed,tappingitonHarry’sarm.“Itfellrightbesideyou,Ipickeditup…Andthat’smywifeyou’reshoutingat.”“Oh,I’m–I’msorry.”Asshemovedforwardintotheroom,Mrs.Tonks’sresemblancetohersisterBellatrixbecamemuchlesspronounced:Herhairwasalightsoftbrownandhereyeswerewiderandkinder.Nevertheless,shelookedalittlehaughtyafterHarry’sexclamation.“Whathappenedtoourdaughter?”sheasked.“Hagridsaidyouwereambushed;whereisNymphadora?”“Idon’tknow,”saidHarry.“Wedon’tknowwhathappenedtoanyoneelse.”SheandTedexchangedlooks.AmixtureoffearandguiltgrippedHarryatthesightoftheirexpressions,ifanyoftheothershaddied,itwashisfault,allhisfault.Hehadconsentedtotheplan,giventhemhishair…“ThePortkey,”hesaid,rememberingallofasudden.“We’vegottogetbacktotheBurrowandfindout–thenwe’llbeabletosendyouword,or–orTonkswill,onceshe’s–”“Dora’llbeok,‘Dromeda,”saidTed.“Sheknowsherstuff,she’sbeeninplentyoftightspotswiththeAurors.ThePortkey’sthroughhere,”headdedtoHarry.“It’ssupposedtoleaveinthreeminutes,ifyouwanttotakeit.”“Yeah,wedo,”saidHarry.Heseizedhisrucksack,swungitontohisshoulders.“I–”HelookedatMrs.Tonks,wantingtoapologizeforthestateoffearinwhichheleftherandforwhichhefeltsoterriblyresponsible,butnowordsoccurredtohimthathedidnotseemhollowandinsincere.“I’lltellTonks–Dora–tosendword,whenshe…Thanksforpatchingusup,thanksforeverything,I–”HewasgladtoleavetheroomandfollowTedTonksalongashorthallwayandintoabedroom.Hagridcameafterthem,bendinglowtoavoidhittinghisheadonthedoorlintel.“Thereyougo,son.That’sthePortkey.”Mr.Tonkswaspointingtoasmall,silver-backedhairbrushlyingonthedressingtable.“Thanks,”saidHarry,reachingouttoplaceafingeronit,readytoleave.“Waitamoment,”saidHagrid,lookingaround.“Harry,where’sHedwig?”“She…shegothit,”saidHarry.Therealizationcrashedoverhim:Hefeltashamedofhimselfasthetearsstunghiseyes.Theowlhadbeenhiscompanion,hisonegreatlinkwiththemagicalworldwheneverhehadbeenforcedtoreturntotheDursleys.Hagridreachedoutagreathandandpattedhimpainfullyontheshoulder.“Nevermind,”hesaidgruffly,“Nevermind.Shehadagreatoldlife–”“Hagrid!”saidTedTonkswarningly,asthehairbrushglowedbrightblue,andHagridonlyjustgothisforefingertoitintime.Withajerkbehindthenavelasthoughaninvisiblehookandlinehaddraggedhimforward,Harrywaspulledintonothingness,spinninguncontrollably,hisfingergluedtothePortkeyasheandHagridhurtledawayfromMr.Tonks.Secondlater,Harry’sfeetslammedontohardgroundandhefellontohishandsandkneesintheyardoftheBurrow.Heheardscreams.Throwingasidethenolongerglowinghairbrush,Harrystoodup,swayingslightly,andsawMrs.WeasleyandGinnyrunningdownthestepsbythebackdoorasHagrid,whohadalsocollapsedonlanding,clambered“TheDeathEaterswerewaitingforus,”Harrytoldher,“Weweresurroundedthemomentwetookoff–theyknewitwastonight–Idon’tknowwhathappenedtoanyoneelse,fourofthemchasedus,itwasallwecoulddotogetaway,andthenVoldemortcaughtupwithus–”Hecouldheartheself-justifyingnoteinhisvoice,thepleaforhertounderstandwhyhedidnotknowwhathadhappenedtohersons,but–“Thankgoodnessyou’reallright,”shesaid,pullinghimintoahughedidnotfeelhedeserved.“Haven’tgo’anybrandy,haveyeh,Molly?”askedHagridalittleshakily,“Fermedicinalpurposes?”Shecouldhavesummoneditbymagic,butasshehurriedbacktowardthecrookedhouse,Harryknewthatshewantedtohideherface.HeturnedtoGinnyandsheansweredhisunspokenpleaforinformationatonce.“RonandTonksshouldhavebeenbackfirst,buttheymissedtheirPortkey,itcamebackwithoutthem,”shesaid,pointingatarustyoilcanlyingonthegroundnearby.“Andthatone,”shepointedatanancientsneaker,“shouldhavebeenDadandFred’s,theyweresupposedtobesecond.YouandHagridwerethirdand,”shecheckedherwatch,“iftheymadeit,GeorgeandLupinaughttobebackinaboutaminute.”Mrs.Weasleyreappearedcarryingabottleofbrandy,whichshehandedtoHagrid.Heuncorkeditanddrankitstraightdowninone.Abluelighthadappearedinthedarkness:Itgrewlargerandbrighter,andLupinandGeorgeappeared,spinningandthenfalling.Harryknewimmediatelythattherewassomethingwrong:LupinwassupportingGeorge,whowasunconsciousandwhosefacewascoveredinblood.HarryranforwardandseizedGeorge’slegs.Together,heandLupincarriedGeorgeintothehouseandthroughthekitchentothelivingroom,wheretheylaidhimonthesofa.AsthelamplightfellacrossGeorge’shead,GinnygaspedandHarry’sstomachlurched:OneofGeorge’searswasmissing.Thesideofhisheadandneckweredrenchedinwet,shockinglyscarletblood.NosoonerhadMrs.WeasleybentoverhersonthatLupingrabbedHarrybytheupperarmanddraggedhim,nonetoogently,backintothekitchen,whereHagridwasstillattemptingtoeasehis“Sowhyaren’youc

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論