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

正文內(nèi)容

五子棋游戲程序設(shè)計(jì)—免費(fèi)-文庫(kù)吧資料

2024-12-14 02:41本頁(yè)面
  

【正文】 17].(美國(guó))麥克沙夫瑞,游戲編程全接觸,人民郵電出版社, [18].(美國(guó))道森, C++游戲編程入門教程,人民郵電出版社, [19].(美國(guó))莫里森,游戲編程入門,人民郵電出版社, [20].浦濱, C 游戲編程從入門到精通,北京希望電子出版社, 鳴 謝 通過(guò)這次的畢業(yè)設(shè)計(jì),讓我加深了對(duì) Visual C++ ( MFC)的認(rèn)識(shí),也讓我更進(jìn)一步的理解了 C++語(yǔ)言的應(yīng)用,這次的設(shè)計(jì)讓我復(fù)習(xí)了幾乎以前所學(xué)到的所有知識(shí),讓我獲益非淺。 通過(guò)本次設(shè)計(jì),加深了對(duì) Visual C++ ( MFC)的了解和使用進(jìn)一步掌握了 C++語(yǔ)言,學(xué)會(huì)了面向?qū)ο蟮拈_(kāi)發(fā)技術(shù),提高了自己所學(xué)的基礎(chǔ)知識(shí),增長(zhǎng)了對(duì)游戲設(shè)計(jì)的認(rèn)識(shí)。但是由于畢業(yè)設(shè)計(jì)時(shí)間較短和對(duì) Visual C++ ( MFC)的使用較少,再加上 C++語(yǔ)言的不熟悉,所以該游戲還有許多不足的的地方:首先,游戲界面做的不怎么美觀工整,以后有時(shí)間加以修改,其次,原本想做人 機(jī)對(duì)下,但由于對(duì)代碼的不熟悉,所以無(wú)法實(shí)現(xiàn)人機(jī)對(duì)下,只能完成鼠標(biāo)左右鍵對(duì)下。 第四章 總結(jié) 從收集資料,到確定方案,再到著手制作游戲,歷經(jīng)三個(gè)月的努力,我的畢業(yè)設(shè)計(jì)已經(jīng)基本完成,其功能基本符合要求。 AfxMessageBox(黑方獲勝! )。dc,)。 pDocSetCondition(,people)。 if(pDocGetCondition(,)!=EMPTY) return。 =()/40。 if(next==WHITE) return。 if(mode==WITH_PEOPLE){ if(pDocdecided==TRUE) return。 CTryDoc* pDoc = GetDocument()。 AfxMessageBox(白方獲勝! )。dc,)。 pDocSetCondition(,PEOPLE)。 if(pDocGetCondition(,)!=EMPTY) return。 =()/40。 if(next==BLACK) return。 if( mode==WITH_PEOPLE) { if(pDocdecided==TRUE) return。 CTryDoc* pDoc = GetDocument()。 } } } return FALSE。 } if(countw==5) { return TRUE。m++,n++,ccount) //se { if(condition[m][n]==1) countw++。 } for(m=i,n=j,ccount=5,countw=0,countb=0。 } if(countw==5) { return TRUE。m++,ccount) //e { if(condition[m][n]==1) countw++。 } for(m=i,n=j,ccount=5,countw=0,countb=0。 } if(countw==5) { return TRUE。m++,n,ccount) //ne { if(condition[m][n]==1) countw++。 } for(m=i,n=j,ccount=5,countw=0,countb=0。 } if(countw==5) { return TRUE。n,ccount) //n { if(condition[m][n]==1) countw++。j++) 進(jìn)入選擇是否重新開(kāi)局框 白(黑)子在水平方向是否大于 4 白(黑)方獲勝 白(黑)方下子 白(黑)子在垂直方向是否大于 4 白(黑)子在正對(duì)角線方向是否大于 4 白(黑)方獲勝 白(黑)方獲勝 白(黑)方獲勝 黑(白)方下子 白(黑)子在反對(duì)角線方向是否大于 4 { if(condition[i][j]==1||condition[i][j]==2) { for(m=i,n=j,ccount=5,countw=0,countb=0。i++) for(j=0。 for(i=0。 // TODO: add reinitialization code here // (SDI documents will reuse this document) return TRUE。 第三章 五子棋游戲設(shè)計(jì) 模塊分析 設(shè)計(jì)及編碼 五子棋游戲的總體流程圖( )如下 : 有 是 無(wú) 是 否 否 有 否 無(wú) 是 黑方下子 開(kāi)始 找另一位置 白方下子 找另一位置 判斷該位置是否有棋 選擇是否重新開(kāi)局 判斷該位置是否有棋 跳出白方獲勝框 白方下子 跳出黑方獲勝框 判斷黑方是否勝出 黑方下子 判斷白方是否勝出 游戲結(jié)束 圖 棋盤初始化模塊 開(kāi)始游戲時(shí)游戲界面是沒(méi)有棋子的,也就是棋盤的初始化狀態(tài),如下圖( ) 圖 初始化界面 所以當(dāng)游開(kāi)始時(shí)必須要進(jìn)行棋盤初始化,實(shí)現(xiàn)程序如下: IMPLEMENT_DYNCREATE(CTryDoc, CDocument) BEGIN_MESSAGE_MAP(CTryDoc, CDocument) //{{AFX_MSG_MAP(CTryDoc) // NOTE the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTryDoc construction/destruction CTryDoc::CTryDoc() { // TODO: add onetime construction code here ResetData()。類的成員包括數(shù)據(jù)成員和成員函數(shù)兩部分。 類的 介紹 游戲的設(shè)計(jì)用到了 Viusal C++ 這個(gè)設(shè)計(jì)環(huán)境,在設(shè)計(jì)的過(guò)程中有很 多不同的類構(gòu)成,在 C++中類的定義方式為: class 類名 { private: 私有數(shù)據(jù)及成員函數(shù); protected: 保護(hù)段數(shù)據(jù)及成員函數(shù); public: 公有數(shù)據(jù)及成員函數(shù); }; 其中, class 是類定義符,類名是一種標(biāo)識(shí)符,類名稱的命名規(guī)則與變量名的命名規(guī)則相同。 ( 7)動(dòng)態(tài)聚束 一個(gè)程序經(jīng)過(guò)編譯,連接生成的可執(zhí)行文件代碼,其過(guò)程就是將執(zhí)行代碼聚束在一起,若這一過(guò)程發(fā)生在程序設(shè)計(jì)時(shí),就稱為動(dòng)態(tài)聚束。由于多太性具有可表達(dá)對(duì)象的多個(gè)類的能力。 ( 5)封裝性 所謂封裝是一種信息隱蔽技術(shù),用戶只能看到對(duì)象封裝界面上的信息,而對(duì)象內(nèi)部對(duì)用戶透明,封裝的目的是把對(duì)象的使用者和對(duì)象的設(shè)計(jì)者分開(kāi),使用者只需 設(shè)計(jì)訪問(wèn)對(duì)象的消息。 ( 3)類 在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是程序設(shè)計(jì)的最基本的單位,相似的對(duì)象可以并到一類中去,程序員只需定義一個(gè)類,就可根據(jù)這個(gè)類得到若干個(gè)實(shí)例,其中每個(gè)實(shí)例就是一個(gè)對(duì)象。在面向?qū)ο蟮某绦颦h(huán)境中設(shè)計(jì)的程序,它的執(zhí)行是依靠對(duì)象向消息傳遞來(lái)完成的。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是該系統(tǒng)的基本運(yùn)行實(shí)體,對(duì)于每個(gè)對(duì)象而言,都有與該對(duì)象對(duì)應(yīng)的方法,而與每個(gè)對(duì)象相關(guān)的方法,就是定義了該對(duì)象的操作。下面將從面向?qū)ο蟮姆椒▽W(xué)方面對(duì)有關(guān)概念作簡(jiǎn)要介紹。通過(guò)封裝 (emcapsulation)能將對(duì)象的定義和實(shí)現(xiàn)分開(kāi)。類 (class)和繼承性 (inheritamce)是描述人們思維方式的描述方法。而表現(xiàn)求解問(wèn)題的方法就是人們思維方法的描述 。 面向?qū)ο蟮姆椒▽W(xué)是要求按人們通常的思維方式建立問(wèn)題領(lǐng)域的模型,設(shè)計(jì)出盡可能自然表現(xiàn)求解方法的軟件。例如,在第三章中我們可以看到一組有關(guān)三維曲面分塊的類族,從四條三維空間直線定義的簡(jiǎn)單曲面,到四條復(fù)雜三維空間曲線定義的曲面,呈現(xiàn)復(fù)雜的分層次的多態(tài)性。同時(shí),新的對(duì)象類型又具有某種新特點(diǎn)和新功能。 面向?qū)ο笤O(shè)計(jì)方法的另一個(gè)重要貢獻(xiàn),是關(guān)于繼承與多態(tài)性的處理。我們可以將接口看作是在屏蔽墻上打開(kāi)的一些出入通道,通道過(guò)多了就失去了屏蔽墻存在的意義,通道過(guò)少又由于限制過(guò)強(qiáng)而行動(dòng)不便。第二,對(duì)象的私有性,例如上述示例中,對(duì)象的內(nèi)部數(shù)據(jù)結(jié)構(gòu)在外部是不可見(jiàn)的,其他程序員并不需要了 解這種數(shù)據(jù)結(jié)構(gòu)就可以使用對(duì)象的功能。封裝是與抽象緊密聯(lián)系的概念,它需要兩個(gè)基本前提:首先,對(duì)象必須能夠表現(xiàn)一個(gè)完備的概念,例如可以將一條道路的縱斷面設(shè)計(jì)作為一個(gè)對(duì)象,它與外部的聯(lián)系限于縱斷面地面線、縱斷面設(shè)計(jì)參數(shù)。在程序設(shè)計(jì)過(guò)程中最重要的抽象,也就是說(shuō),從現(xiàn)實(shí)世界中抽象出合理的對(duì)象結(jié)構(gòu)。 面向?qū)ο蠹夹g(shù)特別適合于將某一領(lǐng)域內(nèi)的軟件資源整理成體系化,因?yàn)樗泻芎玫谋憩F(xiàn)能力,能夠容易抓住特定功能領(lǐng)域的本質(zhì)。例如交 通規(guī)劃盡管具有差別,但各城市所需要的軟件基本上是相同的,這就為軟件開(kāi)發(fā)機(jī)構(gòu)提供了一種制作面向交通規(guī)劃的軟件框架(注意這里講的是軟件框架而不是通用性軟件)的機(jī)會(huì)。多態(tài)性意味著存在多種形式,能使人們?cè)诔绦蛑屑せ钊魏螌儆?OD分布類族的類的 Exec成員函數(shù),甚至在編譯可以不必具體知道對(duì)象是屬于增長(zhǎng)系數(shù) OD 類還是重力模型 OD 分布類。正象生態(tài)系統(tǒng)一樣,繼承構(gòu)成了類族。從已有類派生出新類是為了獲得更強(qiáng)的針對(duì)性。通過(guò)對(duì)已有對(duì)象進(jìn)行增加或部分修改的方法建立新的對(duì)象,對(duì)已有對(duì)象可以增加數(shù)據(jù)和過(guò)程,也可以對(duì)其中某些過(guò)程進(jìn)行從新定義。在 C++中,類有私有的( private)、保護(hù)的( protected)和公有的( public)三種訪問(wèn)機(jī)制。對(duì)象必須能夠?qū)ζ鋬?nèi)部的某些元素進(jìn)行保護(hù),是它們只能被內(nèi)部使用,而不受外部干擾。具有面向?qū)ο筇攸c(diǎn)的 C++與 C 語(yǔ)言有很大的兼容性, C 程序員可以比較容易地過(guò)渡到 C++語(yǔ)言開(kāi)發(fā)工作。由于大量代碼來(lái)源于成熟可靠的類庫(kù),因而新開(kāi)發(fā)程序的新增代碼明顯減少,這是程序可靠性提高的一個(gè)重要原因。 可靠性。 面向?qū)ο蠹夹g(shù)給軟件發(fā)展帶來(lái)如下益處: 可重用性。那我們可以定義一個(gè)稱為“ car”的類,具有顏色、幾何尺寸、動(dòng)力特征等參數(shù),以及描述 汽車在外界條件下運(yùn)動(dòng)狀態(tài)的成員函數(shù)。在面向?qū)ο笳Z(yǔ)言中,類是創(chuàng)建對(duì)象的關(guān)鍵,事實(shí)上類描述了一族對(duì)象的公共特征和操作,而對(duì)象則是具體實(shí)現(xiàn)的類。換句話說(shuō),封裝是將對(duì)象封閉保護(hù)起來(lái),是將內(nèi)部細(xì)節(jié)隱蔽起來(lái)的能力。當(dāng)從對(duì)象外部試圖直接對(duì)受保護(hù)的內(nèi)部數(shù)據(jù)進(jìn)行修改時(shí),將被程序拒絕,只有通過(guò)對(duì)象所提供的對(duì)外服 務(wù)函數(shù)才能夠?qū)ζ鋬?nèi)部數(shù)據(jù)進(jìn)行必要的加工,從而保證了數(shù)據(jù)加工的合法性。 從程序語(yǔ)言角度來(lái)看,在一個(gè)對(duì)象中代碼和(或)數(shù)據(jù)可以是這個(gè)對(duì)象私有的,不能被對(duì)象外的部分直接訪問(wèn)。面向?qū)ο蠹夹g(shù)給軟件設(shè)計(jì)領(lǐng)域帶來(lái)極大的變化 ,它利用軟件對(duì)象來(lái)進(jìn)行程序開(kāi)發(fā),所謂對(duì)象是包含數(shù)據(jù)和對(duì)數(shù)據(jù)操作的代碼實(shí)體,或者說(shuō)是在傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中加入一些被稱為成員函數(shù)的過(guò)程,因而賦予對(duì)象以動(dòng)作。目前有一種對(duì) Microsoft 所取得的成功進(jìn)行誹謗的氣
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1