計算機科學(xué)系網(wǎng)絡(luò)工程畢業(yè)論文_第1頁
計算機科學(xué)系網(wǎng)絡(luò)工程畢業(yè)論文_第2頁
計算機科學(xué)系網(wǎng)絡(luò)工程畢業(yè)論文_第3頁
計算機科學(xué)系網(wǎng)絡(luò)工程畢業(yè)論文_第4頁
計算機科學(xué)系網(wǎng)絡(luò)工程畢業(yè)論文_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 屆 別 2012屆 學(xué) 號 200814160237 畢業(yè)設(shè)計(論文)基于vc的成三棋游戲程序的設(shè)計與實現(xiàn) 姓 名 楊 劍 系 別、 專 業(yè) 計算機科學(xué)系網(wǎng)絡(luò)工程 導(dǎo) 師 姓 名、職 稱 曹 清 華(副 教 授) 完 成 時 間 2012-3-5 摘 要隨著科學(xué)技術(shù)(特別是計算機網(wǎng)絡(luò)技術(shù))日新月異的發(fā)展人們的生活也發(fā)生了空前的變化?,F(xiàn)在生活在大都市的人們總免不了想體驗兒時那鄉(xiāng)村樂趣,只是苦恨沒有途徑;從小在城市長大的孩子也想多一些趣味游戲,并且他們父母也希望孩子可以多了解了解農(nóng)村生活以助于孩子的成長。成三棋,一款鄉(xiāng)村兒時游戲,將我們彼此拉近了距離,結(jié)合計算機網(wǎng)絡(luò)技術(shù)使得城鄉(xiāng)娛樂簡易可行。該游

2、戲以vc+為基礎(chǔ)平臺,借鑒五子棋、象棋、圍棋等多種棋種核心算法,采用網(wǎng)絡(luò)套接字(socket)技術(shù),引用mfc類庫及win api函數(shù);實現(xiàn)友好的人機界面,網(wǎng)內(nèi)對弈、單機對弈等多項功能。擁有濃濃的鄉(xiāng)村風(fēng)味、簡易操作、強烈的娛樂性與趣味性。關(guān)鍵字:vc/vc+,網(wǎng)絡(luò)游戲,成三棋,鄉(xiāng)村風(fēng)味,計算機網(wǎng)絡(luò)技術(shù)abstractwith the dramatic development of science and technology especially the computer networking technology.our life has an unprecedented change. p

3、eople who live in the metropolis cant help to thinking of experiencing the fun of childhood again,but bitterly to find that time past and never find again. the children burn in the city also want to have more funny games,and to their parent,its very helpful for the childrengrowth to learn more about

4、 rural lives. three chess, a rural game played in childhood,puts us together,as well as makes rural entertainment more simple and practical with combining computer networking technology. the game,based on vc+,has not only realized many functions,such as a comfortable interface between human beings a

5、nd machine, a network competition and single-machine competition ,etc. but owned a thick rurals flavors simple and easy operation,strong entertainment and interesting,which mainly are achieved by virtue of refering the core algorithm of gobang ,etc,adopting network socket technology,quoting mfc clas

6、s library and win api functions. key words:vc/vc+,network game,three-in-a low,rural flavors, network technology.目錄1.緒論1.1課題背景.12 系統(tǒng)實現(xiàn)技術(shù)與開發(fā)環(huán)境. 22.1 c/c+簡介.22.2 vc開發(fā)環(huán)境32.2.1 gdi繪圖32.2.2對話框42.2.3消息響應(yīng)5 2.2.4游戲編程思想.62.3 mfc總述7 2.3.1mfc中類的結(jié)構(gòu)及聯(lián)系.82.3.2 mfc中類的作用.93 需求分析103.1游戲用戶分析103.2游戲功能分析103.3游戲的功能模塊主要功能

7、 10 3.3.1登錄模塊.10 3.3.2下棋模塊.10 3.3.3英雄榜模塊.104 系統(tǒng)概要設(shè)計114.1模塊結(jié)構(gòu)設(shè)計114.1.1游戲者登錄管理模塊114.1.2游戲者下棋實現(xiàn)模塊114.1.3數(shù)據(jù)流網(wǎng)絡(luò)傳輸模塊124.2英雄榜設(shè)計134.2.1英雄榜數(shù)據(jù)需求分析134.2.2邏輯結(jié)構(gòu)設(shè)計13 4.3游戲規(guī)則說明.13 4.3.1 下棋階段.13 4.3.2 行棋階段.135 系統(tǒng)詳細設(shè)計與實現(xiàn)145.1游戲者登錄管理模塊145.1.1 游戲者登錄友好界面的實現(xiàn).145.1.2 游戲幫助文檔及基本規(guī)則的說明 .155.2 游戲者下棋模塊的實現(xiàn)155.2.1下子及打子階段的實現(xiàn)155.2

8、.2行子階段的實現(xiàn)155.2.3輸贏判斷的實現(xiàn)155.2.4英雄榜的數(shù)據(jù)更新156 游戲測試 166.1 登錄的測試166.2 下棋的測試166.3 英雄榜的測試16結(jié)束語參考文獻致謝1 緒論1.1課題背景 游戲軟件是當(dāng)世界發(fā)展最迅速,最有影響力,最有潛力與活力的領(lǐng)域之一游戲軟件深受廣大青年人喜愛,而且在發(fā)達國家中老年人也有大部分喜歡游戲的,因此游戲軟件在很大程度上給予絕大部分人精神上的娛樂第二次世界大戰(zhàn)以后,電子計算機技術(shù)得到了突飛猛進的發(fā)展先是由晶體管代替了笨重的真空管,后來出現(xiàn)了集成電路和大規(guī)模集成電路,使電子子計算機一代一代實現(xiàn)更新,同時軟件技術(shù)也發(fā)展迅速在美國,集中了許多計算機軟件的

9、設(shè)計人才,他們工作之余,時常喜愛編一種能與人斗智的“游戲”,以此來鍛煉編程的能力這種“游戲”花樣繁多,但其特點都是利用計算機軟件事先設(shè)計好的“分析”“判斷”能力反過來與人較量由于不斷修改更新,使計算機的“智力”水平與人難分高低到了90年代,游戲軟件已經(jīng)為世界各國的人使用,blackisland和blizzard.這兩個強大的游戲制作組起到了巨大的帶動作用,還有中國的洛河工作室在國內(nèi)也起到了巨大作用,他們讓很多很多人喜歡上了游戲軟件,打開了這個市場。如今游戲軟件產(chǎn)業(yè)已經(jīng)受到了廣泛的關(guān)注,它年輕有潛力而且吸引人,讓人們?nèi)找尕S富的生活需求得以滿足。成三棋,規(guī)則較簡單,易學(xué)易懂,也是一款傳統(tǒng)的棋類游戲

10、,她的歷史也非常悠久,在公元前500多年就在我國出現(xiàn)了,是一種老少皆宜的棋類活動。特別是在農(nóng)村,不會玩這個游戲的很少的,當(dāng)然,隨著人們的物質(zhì)文化生活的不斷豐富,現(xiàn)在下成三棋的人越來越少。她沒有圍棋、象棋這樣繁復(fù),與五子棋有些相似,但又有其自身獨特的魅力,方寸之間,便能突顯弈者的奇思妙想。 成三棋游戲,旨在為游戲愛好者提供一種新的娛樂途徑,讓大家在娛樂的同時鍛煉思維,增長智慧,也將成三棋這一傳統(tǒng)的棋類游戲利用網(wǎng)絡(luò)進行推廣發(fā)揚,使之廣為流傳。2 系統(tǒng)實現(xiàn)技術(shù)與開發(fā)環(huán)境2.1 c/c+簡介c語言的特點:c語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。c語言的表現(xiàn)能力和處

11、理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進行位(bit)一級的操作。由于c語言實現(xiàn)了對硬件的編程操作,因此c語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,c語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的c語言。 c+簡介:在c的基礎(chǔ)上,一九八三年又由貝爾實驗室的bjarne strou-strup推出了c+。 c+進一步擴充和完善了c語言,成為一種面向 對象的程序設(shè)計語言。c+目前流行的最新版本是borland c+4.5,symante

12、c c+6.1,和microsoft visualc+ 2.0。c+提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓栴}空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計不同的思維方式和編程方法。因而也增加了整個語言的復(fù)雜性,掌握起來有一定難度。 c和c+關(guān)系c是c+的基礎(chǔ),c+語言和c語言在很多方面是兼容的。2.2 vc開發(fā)環(huán)境microsoft visual c+,(簡稱visual c+、msvc、vc+或vc)微軟公司的c+開發(fā)工具,具有集成開發(fā)環(huán)境,可提供編輯c語言,c+以及c+/cli等編程語言。vc+整合了便利的除錯工具,特別是整合了微軟視窗程式設(shè)計(wi

13、ndows api)、三維動畫directx api,microsoft .net框架。目前最新的版本是microsoft visual c+ 2010。2.2.1 gdi繪圖 gdi(graphics device interface,圖形設(shè)備接口)是windows操作系統(tǒng)的傳統(tǒng)圖形子系統(tǒng),負責(zé)與設(shè)備無關(guān)的圖形繪制,win32 api為應(yīng)用程序提供了豐富的繪圖函數(shù)和功能,mfc對它們進行了c+類封裝,參見下圖。windows應(yīng)用程序mfcwin32 api執(zhí)行程序用戶界面(user)gdi+圖形子系統(tǒng)(gdi)設(shè)備驅(qū)動程序內(nèi)核(kernel)圖形驅(qū)動程序硬件抽象層(hal)計算機硬件gdi與

14、windows操作系統(tǒng)(其中彩色部分為操作系統(tǒng))傳統(tǒng)gdi是隨windows 1.0于1985年11月推出的,新式gdi+則是隨windows xp于2001年10月推出的gdi的改進版,增加了混色、漸變畫刷、樣條曲線、矩陣變換、圖像處理、持久路徑等新功能。隨windows vista及.net框架3.0微軟于2006年11月又推出了基于directx和.net框架的全新圖形子系統(tǒng)wpf(windows presentation foundation,視窗顯示/展現(xiàn)基礎(chǔ)),它統(tǒng)一了桌面和瀏覽器等客戶端應(yīng)用程序的圖形界面,采用xaml聲明式編程,將用戶界面的設(shè)計和編程徹底分離開來,是window

15、s的下一代gui顯示系統(tǒng)。2.2.2對話框 對話框是一種次要窗口,包含按鈕和各種選項,通過它們可以完成特定命令或任務(wù)。 查找和替換對話框 對話框與窗口有區(qū)別,它沒有最大化按鈕、沒有最小化按鈕、大都不能改變形狀大小。(“打開文件”對話框是可以改變大小的) 對話框:是人機交流的一種方式,用戶對對話框進行設(shè)置,計算機就會執(zhí)行相應(yīng)的命令。對話框中有單選框、復(fù)選框等。對話框可以分為模式對話框和無模式對話框兩種類型。 cdialog 為了能夠方便的操作對話框,mfc為用戶提供了cdialog類。它是在屏幕上顯示對話框的基類,與對話框資源緊密相關(guān),提供了管理對話框的接口,封裝了一些對話框的相關(guān)操作。 從cd

16、ialog的定義代碼可以看出,cdialog提供了兩套構(gòu)建cdialog對象的系統(tǒng),分別用于模式對話框和無模式對話框。 無模式對話框?qū)ο蟮臉?gòu)建過程,它首先調(diào)用缺省的構(gòu)造函數(shù)生成對話框?qū)ο?,然后調(diào)用create函數(shù)創(chuàng)建和初始化對話框。cdialog類中的create函數(shù)有兩種函數(shù)原型: bool create( lpctstr lpsztemplatename, cwnd* pparentwnd = null ); bool create( uint nidtemplate, cwnd* pparentwnd = null );2.2.3消息響應(yīng) vc+的mfc類庫實際上是windows下 c+

17、編程的一套最為流行的類庫。mfc的框架結(jié)構(gòu)大大方便了程序員的編程工作,但是為了更加有效、靈活的使用mfc編程,了解mfc的體系結(jié)構(gòu)往往可以 使編程工作事半功倍。它合理的封裝了win32 api函數(shù),并設(shè)計了一套方便的消息映射機制。由于視類窗口始終覆蓋在框架類窗口之上,因此所有操作,包括鼠標(biāo)單擊、鼠標(biāo)移動等操作都只能由視類窗口捕獲。一個mfc消息響應(yīng)函數(shù)在程序中有三處相關(guān)信息:函數(shù)原型、函數(shù)實現(xiàn)和以及用來關(guān)聯(lián)消息和消息響應(yīng)函數(shù)的宏。(1)在消息響應(yīng)函數(shù)的原型代碼中,函數(shù)聲明的前部有一個afx_msg限定符,也是一個宏,該宏表明這個函數(shù)是一個消息響應(yīng)函數(shù)的聲明。(2)消息映射宏:在視圖類的源文件中

18、,begin_message_map()end_massage_map()這兩個宏之間定義了消息映射表,例如對于畫線,其中有一on_wm_lbuttondown()消息映射宏,這個宏的作用就是把鼠標(biāo)左鍵按下消息(wm_lbuttondown)與一個消息響應(yīng)函數(shù)關(guān)聯(lián)起來,通過這種機制,一旦有消息產(chǎn)生,程序就會調(diào)用相應(yīng)的消息響應(yīng)函數(shù)來進行處理。(3)消息響應(yīng)函數(shù)的定義:在視圖類的源文件中,可以看到onlbuttondown函數(shù)的定義。頭文件中在兩個afx_msg注釋宏之間是消息響應(yīng)函數(shù)原型的聲明。源文件中有兩處:一處是在兩個afx_msg_map注釋宏之間的消息映射宏,通過這個宏把消息與消息響應(yīng)函

19、數(shù)關(guān)聯(lián)起來;另一處是源文件中的消息響應(yīng)函數(shù)的實現(xiàn)代碼。 在win32應(yīng)用程序中,當(dāng)有消息產(chǎn)生時,操作系統(tǒng)會把這條消息放到應(yīng)用程序的消息隊列中,應(yīng)用程序通過getmessage函數(shù)從這個隊列中取出一條具體的消息,并通過dispatchmessage 函數(shù)把消息交給操作系統(tǒng),調(diào)用的是應(yīng)用程序的窗口過程,即窗口過程函數(shù)wndproc進行處理,然而在mfc程序中,并不是按這種途徑進行處理的, 只要定義了與消息有關(guān)的三處信息后,便可實現(xiàn)消息的響應(yīng)處理.mfc中采用的這種消息處理機制稱為mfc消息映射機制. mfc消息映射機制的具體實現(xiàn)方法是:在每個能接收和處理消息的類中,定義一個消息和消息函數(shù)靜態(tài)對照表

20、,即消息映射表.在消息映射表中,消息與對應(yīng)的消息處理函數(shù)指針是成對出現(xiàn)的.某個類能處理的所有消息及其對應(yīng)的消息處理函數(shù)的地址都列在這個類所對應(yīng)的靜態(tài)表中.當(dāng)有消息需要處理時,程序只要搜索該消息靜態(tài)表,查看表中是否含有該消息,就可知道該類能否處理此消息.如果能處理此消息,則同樣依照靜態(tài)表能很容易找到并調(diào)用對應(yīng)的消息處理函數(shù). mfc消息映射機制的實際實現(xiàn)過程:mfc在后臺維護了一個窗口句柄與對應(yīng)的c+對象指針的對照表,以例中的cdrawview類為例,與cdrawview對象相關(guān)的有一個窗口,窗口當(dāng)然有它的窗口句柄,該句柄與cdrawview對象的一個指針(即cdrawview*)存在一一對應(yīng)關(guān)

21、系,在窗口句柄與c+對象對照表中就維護了這種對應(yīng)關(guān)系.當(dāng)收到某一個消息時,消息的第一個參數(shù)就指明了該消息與哪個窗口句柄相關(guān),通過對照表,就可以找到與之相關(guān)的c+對象指針.然后把這個指針傳遞給應(yīng)用程序框架窗口類的基類,后者會調(diào)用一個名為windowproc函數(shù),該函數(shù)定義位于wincore.cpp中.cwnd:windowproc函數(shù)內(nèi)部調(diào)用了一個onwndmsg函數(shù),真正的消息路由,也就是消息映射是由此函數(shù)完成的.onwndmsg函數(shù)的處理過程:首先判斷消息是否有消息響應(yīng)函數(shù).判斷方法是在相應(yīng)窗口類中查找所需的消息響應(yīng)函數(shù).因為傳遞給windowproc的是窗口子類指針,onwndmsg會到相

22、應(yīng)的子類頭文件中查找,看看declare_message_map()宏之上,兩個afx_msg注釋宏之間是否有相應(yīng)的消息響應(yīng)函數(shù)原型的聲明;再到子類的源文件中看看,begin_message_map()和end_message_map()兩個宏之間是否有相應(yīng)的消息映射宏.如果通過上述步驟,找到了消息響應(yīng)函數(shù),接著就調(diào)用該響應(yīng)函數(shù),對消息進行處理.如果在子類中沒有找到,那么就交由基類進行處理.通過以上步驟,mfc就實現(xiàn)了具體的消息映射,從而完成對消息的響應(yīng) 2.2.4游戲編程思想游戲架構(gòu)參考示意圖launcher功能:1、 windows主函數(shù),創(chuàng)建窗口,以及處理消息2、 創(chuàng)建游戲,調(diào)用游戲的初

23、始化、運行、銷毀函數(shù)。建議:模板式的框架,準(zhǔn)備好一個合適自己使用的,主要是對消息處理過程的編寫,直接影響游戲之外窗口的響應(yīng)情況。game功能1、 初始化游戲,創(chuàng)建model、view和timer2、 運行游戲,通過timer來控制刷新幀率,然后獲取操作,調(diào)用model執(zhí)行游戲邏輯,然后使用調(diào)用view畫出畫面。3、 銷毀,將model、view和timer銷毀。model功能1、 游戲邏輯,游戲需要執(zhí)行的運算都放在這里,可以通過創(chuàng)建其它的類來完成。2、 提供操作接口,運行游戲時根據(jù)用戶操作來調(diào)用。3、 存儲游戲的繪制信息,view將使用這些信息繪制畫面。view功能繪制畫面timer功能定時器

24、,給需要時間控制的類提供定時的功能。建議1、 最主要的部分是model,所有的游戲邏輯都在這里實現(xiàn),設(shè)計到model的應(yīng)該只使用標(biāo)準(zhǔn)c+元素,方便移植。2、 單人游戲和多人游戲,都應(yīng)通過model提供的接口來實現(xiàn)。3、 view中,應(yīng)該只使用model提供的信息,繪制畫面4、 如果需要增加gui,應(yīng)該再單獨創(chuàng)建類,然后加入到game中。例如:俄羅斯方塊添加block類,實現(xiàn)各種方塊。在model中實現(xiàn)方塊的下落與清除,提供出操作的接口。實現(xiàn)雙人對戰(zhàn),創(chuàng)建兩個model就可以了。2.3 mfc總述mfc是win api與c+的結(jié)合,api,即微軟提供的windows下應(yīng)用程序的編程語言接口,是一

25、種軟件編程的規(guī)范,用于在c+環(huán)境下編寫應(yīng)用程序的一個框架和引擎,vc+是windows下開發(fā)人員使用的專業(yè)c+ sdk(sdk,standard software develop kit,專業(yè)軟件開發(fā)平臺),mfc就是掛在它之上的一個輔助軟件開發(fā)包,mfc作為與vc+血肉相連的部分同bc+集成的vcl一樣是一個非外掛式的軟件包,類庫,只不過mfc類是微軟為vc+專配的 2.3.1mfc中類的結(jié)構(gòu)及聯(lián)系圖2.1 應(yīng)用層結(jié)構(gòu)圖2.2 windows支持層結(jié)構(gòu)圖 3.3 繼承自cobject2.3.2mfc中類的作用 caboutdlg類是用來建立對話框的,與對話框有關(guān)的問題都有這個類來處理。 cx

26、xxapp類是自己建的類xxx代表自己的項目名稱,是實現(xiàn)自己內(nèi)容的主要類。 cxxxdoc類是用來處理文檔的類。 cxxxview類是用來處理界面的類。cmainframe類是主框架類。3 需求分析3.1游戲用戶分析 游戲主體人群及其社會特點: 本游戲主要針對的是年齡在10至15歲的未成年人,這階段年齡的孩子正處于好奇心特別重之時。對世界的認(rèn)知也正處于高峰期,了解社會了解貧苦人群體驗鄉(xiāng)村生活對他們形成完整的世界觀有莫大的促進作用。3.2游戲功能分析通過軟件功能的分析,根據(jù)五子棋愛好者的需求,得出以下需求信息:1. 具有重新開始功能;2. 具有認(rèn)輸功能;3. 具有提示該輪到哪一方下棋的功能;4.

27、 退出游戲功能;5. 判斷勝負功能;6. 悔棋功能。還有用戶對游戲界面的要求,通過上述的用戶需求,我們可以得出一個總體的設(shè)計方案。由上述的用戶需要,可以對程序的基本功能進行一個有效的分析,規(guī)定下游戲的基本功能。3.3游戲的功能模塊主要功能 3.3.1 登錄模塊:登錄模塊是解決登錄及注冊問題的模塊,為用戶建立個人信息方便用戶與其他用戶的聯(lián)系。也有利于本游戲的推廣。 3.3.2 下棋模塊:主要實現(xiàn)下棋功能,分階段的游戲不僅有利于管理,也有利于游戲者的發(fā)揮。 3.3.3 英雄排行榜模塊:有利于用戶了解對手,也為用戶提升自己的能力尋找合適的對手提供了方便。4 系統(tǒng)概要設(shè)計4.1模塊結(jié)構(gòu)設(shè)計4.1.1游

28、戲者登錄管理模塊 1.注冊或登錄界面設(shè)計 1)昵稱 2)密碼3)確認(rèn) 4)取消 5)重新填寫 2. 游戲界面設(shè)計 圖4.1 界面結(jié)構(gòu)設(shè)計 圖4.2 棋子石子、棍子4.1.2游戲者下棋實現(xiàn)模塊游戲開始輪流投子投子是否有效是否后手方已下第9子否u是是雙方開始挪子恢復(fù)被打子的位置某方棋子數(shù)目小于3是否u棋局結(jié)束改變相關(guān)記錄是否成三是否沒有可打子是否是否u選擇拿調(diào)對方非成三子 在該位置上貼上一張圖片表示該位置不能投子改變相關(guān)記錄否u換手點擊的棋子是否有效該棋開始閃爍 準(zhǔn)備下一步的落子位置移動是否合法消除原來顯示新位置相關(guān)記錄改變是否成三選擇拿調(diào)對方 非成三子相關(guān)記錄改變是是否否是否換手4.1.3數(shù)據(jù)流

29、網(wǎng)絡(luò)傳輸模塊4.2英雄榜設(shè)計4.2.1英雄榜數(shù)據(jù)需求分析4.2.2邏輯結(jié)構(gòu)設(shè)計4.3 游戲規(guī)則說明 4.3.1 下棋階段 1 首先雙方在棋盤上輪流投子。 2 在投子期間,如果有某一方的某一行或一列或斜列,都為該方棋子(也就是成三)該方選擇打子(打掉必須是對方的非成三子,如果對方的棋子都是成三子,便換手)。該打子位置被貼上一張大小與棋子一樣大小的圖片(表示該位置不能投子。在挪子部分的時候,該位置被撤銷)。4.3.2 行棋階段3 當(dāng)后手方投下第九子,開始由先手方移動棋子,進入挪子部分,開始輪流挪子。 4 挪子期間的規(guī)則是:當(dāng)需要點擊想移動某一棋子時,該棋子便閃動。再點擊它將去的位置時,原來的位置棋

30、子消失新位置出現(xiàn)該方棋子。當(dāng)點擊某棋子使其閃動時,但此時覺得點錯子了,便可以將閃動棋子再點擊一下。棋子便不閃動,便可以選擇新的棋子了。該期間的打子規(guī)則與投子期間幾乎一樣,就是被打子位置不會被貼圖,而會直接消失。5 當(dāng)一方棋子數(shù)少于3或該方走棋時發(fā)現(xiàn)無棋可移動(也就該方是沒氣),則該方為輸了,棋局結(jié)束。5 系統(tǒng)詳細設(shè)計與實現(xiàn)5.1游戲者登錄管理模塊 5.1.1 游戲者登錄友好界面的實現(xiàn)圖5.1 登錄及注冊對話框bool cmainframe:precreatewindow(createstruct& cs)/界面初始化函數(shù)if( !cframewnd:precreatewindow(cs) )r

31、eturn false;int ui_device_width=800,ui_device_height=600;/設(shè)置界面寬與高 cs.x=10;/界面在屏幕的左上角坐標(biāo) cs.y=10; cs.cx=ui_device_width; cs.cy=ui_device_height;return true;void cfiveinalineview:ondraw(cdc* pdc)/該函數(shù)是在界面建立后在棋盤上畫棋盤等的/函數(shù)cfiveinalinedoc* pdoc = getdocument();assert_valid(pdoc);static int i=0;if(i=0)bitmap

32、.loadbitmap(idb_boardmap);/引入圖片begin.createcompatibledc(pdc);/創(chuàng)建畫筆begin.selectobject(bitmap);/選中圖片 pdc-bitblt(10,70,426,375,&begin,0,0,srccopy);/在設(shè)定位置畫圖stonepen_change.loadbitmap(idb_stone);stonepen.createcompatibledc(pdc);stonepen.selectobject(stonepen_change); pdc-bitblt(12,70,40,37,&stonepen,0,0,

33、srccopy);stick_change.loadbitmap(idb_stone);stickpen.createcompatibledc(pdc);stickpen.selectobject(stick_change);pdc-bitblt(100,400,36,12,&stickpen,0,0,srccopy);i=1;5.1.2 游戲幫助文檔及基本規(guī)則的說明 5.2 游戲者下棋模塊的實現(xiàn)圖5.2 下棋階段的圖片id5.2.1下子及打子階段的實現(xiàn)5.2.2行子階段的實現(xiàn)5.2.3輸贏判斷的實現(xiàn)5.2.4英雄榜的數(shù)據(jù)更新6 游戲測試 6.1 登錄的測試 6.2 下棋的測試 6.3 英雄榜的測試結(jié)束語經(jīng)過幾個月的奮戰(zhàn)成三棋項目大體上竣工了,基本上實現(xiàn)了原定計劃。人性化的交互界面,靈活的下棋過程,合情合理的英雄排行榜為廣大游戲者提供了較為滿意的答復(fù)。在這次畢業(yè)論文的制作過程中我經(jīng)歷了很多,也收獲很多。從確定題目,到找資料分析,從規(guī)劃設(shè)計,到著手寫代碼一步步讓我對一個項目的制作流程有了個較為全面的了解。從和老師一起商量題目,一起找資料,到老師敦促學(xué)習(xí)檢查進度,提供意見、建議無不感受到帶班老師曹清華老師的認(rèn)真負責(zé)。曹老師為我們設(shè)計了提綱和基本要求,在這個學(xué)期中,我們隨時都能與他取得聯(lián)系詢問相關(guān)問題,他總是耐

溫馨提示

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

評論

0/150

提交評論