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

正文內(nèi)容

五子棋人機(jī)對(duì)戰(zhàn)設(shè)計(jì)方案-展示頁(yè)

2025-05-24 00:21本頁(yè)面
  

【正文】 tonUp(UINT nFlags, CPoint point)函數(shù)中,我們把它改為如下:我們把黑棋改為計(jì)算機(jī),因?yàn)橐话闱闆r計(jì)算機(jī)比人強(qiáng),應(yīng)讓人先下。323人變成計(jì)算機(jī)雖然我們的菜單項(xiàng)已經(jīng)刪除了,但它的函數(shù)還在,我們應(yīng)該加以利用。}void CMyView::OnCpmputer() { // TODO: Add your mand handler code here vsputer=1。 OnStart()。添加了菜單項(xiàng),我們必須添加一個(gè)變量vsputer,賦值為1,并約定://vsputer:2表示人對(duì)人,1表示人對(duì)機(jī) //人對(duì)人菜單 afx_msg void OnPlayer()。 //計(jì)算機(jī)下棋 void puterdown()。 //計(jì)算最大值及方向 CPoint maxnum(int a,int b,int c,int d)。 void searchcandown3(int i,int j,int n)。 //在得到最大值和方向上尋找落棋點(diǎn)(具體見(jiàn)后面介紹)//其中i、j表示搜索起點(diǎn),n表示方向 void searchcandown1(int i,int j,int n)。 CPoint bpointcan4, //這個(gè)位置空,它旁邊有四個(gè)黑棋 wpointcan4, //這個(gè)位置空,它旁邊有四個(gè)白棋 bpointcan3, //這個(gè)位置空,它的旁邊有三個(gè)黑棋 wpointcan3, //這個(gè)位置空,它的旁邊有三個(gè)白棋 bpointcan2, //這個(gè)位置空,它的旁邊有兩個(gè)黑棋 wpointcan2, //這個(gè)位置空,它的旁邊有兩個(gè)白棋 bpointcan1。 //是人與人游戲?是人與機(jī)游戲? int vsputer。在view類中添加變量函數(shù)如下:32關(guān)鍵模塊介紹321 刪除原來(lái)的按扭 對(duì)應(yīng)ID:ID_START 添加兩個(gè)新按扭 對(duì)應(yīng)ID:ID_PLAYER ID_CPMPUTER 刪除菜單項(xiàng) 開(kāi)始:ID_START添加菜單項(xiàng) 人對(duì)人游戲:ID_PLAYER人對(duì)機(jī)游戲:ID_CPMPUTER它們的修改如下:圖31 游戲菜單從上面圖中,我們可以看到,工具欄變了。但是,因?yàn)閯偛艑?duì)方下棋的對(duì)方必定有一定的危險(xiǎn),我們只需要在剛剛下棋的附近找一個(gè)空位置下棋就可以了。注意:此時(shí)沒(méi)有空位置,可以不考慮。4: 表示五個(gè)棋子中有一個(gè)空位置和四個(gè)同色的棋子。它關(guān)系到我們這個(gè)程序的幾乎全部的算法。前面說(shuō)了,五個(gè)連續(xù)棋子的值相加,如果絕對(duì)值是五,則不是五個(gè)棋子同色,應(yīng)該結(jié)束游戲。計(jì)算機(jī)的會(huì)是依賴于它的速度,人所不能及的速度。這正是計(jì)算機(jī)能夠在我們這個(gè)社會(huì)迅速發(fā)展的一個(gè)重要原因。計(jì)算機(jī)要下的那個(gè)位置,必定是它認(rèn)為最好的!當(dāng)然,這里的最好是程序員給予計(jì)算機(jī)的,是計(jì)算機(jī)算法的體現(xiàn)。那么,它該怎么辦呢?我們必須自己編程序,“教”計(jì)算機(jī)下棋。而計(jì)算機(jī)下棋的算法,正是一個(gè)程序的重點(diǎn)和難點(diǎn)。)那么,我們?cè)撊绾螌?shí)現(xiàn)?其實(shí),只是在原來(lái)的基礎(chǔ)上,把其中一個(gè)人用計(jì)算機(jī)代替而已。游戲結(jié)束22人機(jī)對(duì)戰(zhàn)設(shè)計(jì)思想圖21 游戲的實(shí)現(xiàn)目前國(guó)際上廣泛流行的計(jì)算機(jī)高級(jí)語(yǔ)言,既可用來(lái)寫(xiě)系統(tǒng)軟件,也可用來(lái)寫(xiě)應(yīng)用軟件。C++語(yǔ)言的特點(diǎn)是效率高、功能強(qiáng)、簡(jiǎn)潔靈活。C++語(yǔ)言是70年代出現(xiàn)的一種非常卓越的程度設(shè)計(jì)語(yǔ)言,是由貝爾實(shí)驗(yàn)室的Dennis Ritchie 設(shè)計(jì)的一個(gè)通用的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。進(jìn)入20世紀(jì)80年代,出現(xiàn)了一種新的程序設(shè)計(jì)方法——面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object Oriented Progamming),簡(jiǎn)稱OOP。第一章 概述11 系統(tǒng)要求簡(jiǎn)述本系統(tǒng)主要為游戲者提供了娛樂(lè),有益于為人們的日常生活帶來(lái)快樂(lè),為人們適當(dāng)?shù)臏p壓,另外還可以提高游戲者的反應(yīng)能力,和動(dòng)手能力。五子棋既有現(xiàn)代休閑的明顯特征“短、平、快”,又有古典哲學(xué)的高深學(xué)問(wèn)“陰陽(yáng)易理”;它既有簡(jiǎn)單易學(xué)的特性,為人民群眾所喜聞樂(lè)見(jiàn),又有深?yuàn)W的技巧和高水平的國(guó)際性比賽;它的棋文化源淵流長(zhǎng),具有東方的神秘和西方的直觀;既有“場(chǎng)”的概念,亦有“點(diǎn)”的連接。五子棋游戲方法簡(jiǎn)單,即在棋盤(pán)上走黑白棋子,可選擇人機(jī)對(duì)戰(zhàn)的一人游戲,也可選擇人人對(duì)戰(zhàn)的,兩人游戲,先將五個(gè)棋子連成一串者獲勝。五子棋人機(jī)對(duì)戰(zhàn)設(shè)計(jì)方案五子棋游戲介紹五子棋起源于中國(guó)古代的傳統(tǒng)黑白棋種之一。現(xiàn)代五子棋日文稱之為“連珠”,英譯為“Renju”,英文稱之為“Gobang”或“FIR”(Five in a Row的縮寫(xiě)),亦有“連五子”、“五子連”、“串珠”、“五目”、“五目碰”、“五格”等多種稱謂。五子棋不僅能增強(qiáng)思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。它是中西文化的交流點(diǎn),是古今哲理的結(jié)晶。12應(yīng)用語(yǔ)言概述自從計(jì)算機(jī)問(wèn)世以來(lái),程序設(shè)計(jì)有了很大的進(jìn)展。面向?qū)ο蟮某绦蛟O(shè)計(jì)的特性,為程序設(shè)計(jì)人員提供了分析和解決問(wèn)題的一種全新的方法。C++語(yǔ)言具有豐富的數(shù)據(jù)類型和結(jié)構(gòu)化設(shè)計(jì)所需要的語(yǔ)句。C++語(yǔ)言所具有的地址操作和位操作,是它在一定程度上具有了低級(jí)語(yǔ)言的特性,因而可以在相當(dāng)大的程度上,代替設(shè)計(jì)難度較大的匯編語(yǔ)言。13 開(kāi)發(fā)工具本項(xiàng)目所用的開(kāi)發(fā)工具如表11所示表 11開(kāi)發(fā)工具表開(kāi)發(fā)語(yǔ)言C++開(kāi)發(fā)環(huán)境Windows xp pro+ Microsoft Visual Studio 2006開(kāi)發(fā)工具M(jìn)icrosoft Visual Studio 2006 第二章 功能與設(shè)計(jì)思想21人機(jī)對(duì)戰(zhàn)程序功能五子棋是一個(gè)經(jīng)典的小游戲,游戲者打開(kāi)游戲后將會(huì)看到一張棋盤(pán),這時(shí)游戲者可選擇人對(duì)戰(zhàn)或者人機(jī)對(duì)戰(zhàn),本程序主要功能來(lái)實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn),游戲者通過(guò)鼠標(biāo)的移動(dòng)來(lái)移動(dòng)棋子,通過(guò)單擊鼠標(biāo)來(lái)確定棋子的最終位置,先將棋子排成五子一線者為最終獲勝者。先看上圖,玩過(guò)五子棋的人一眼就能看出這才是一場(chǎng)真正的戰(zhàn)斗!(至少它不允許你隨便下棋。也就是說(shuō),我們只要在原來(lái)的基礎(chǔ)上,加上計(jì)算機(jī)的下棋算法就好了。這里先介紹一下:計(jì)算機(jī)是沒(méi)有頭腦的,但是,計(jì)算機(jī)必須下棋。然而,我們是否只是讓計(jì)算機(jī)隨便在棋盤(pán)上面放一顆棋子呢?事情并不是這么簡(jiǎn)單。最好的位置,人都難以保證!但是,計(jì)算機(jī)可以。當(dāng)然,計(jì)算機(jī)的可以是建立在人的程序的基礎(chǔ)上的。上面說(shuō)過(guò),為什么要把數(shù)組的值賦值為1和1,而不是0,1或者其它的數(shù)字呢?這里就涉及到數(shù)字的妙用。那么,如果絕對(duì)值不是五呢?它就沒(méi)有意義了嗎?不是!不但不是,而是它有著更重要的意義。下面細(xì)說(shuō)(數(shù)字是表示絕對(duì)值的):3: 表示五個(gè)棋子中有兩個(gè)空位置和三個(gè)同色的棋子;也表示五個(gè)棋子中有四個(gè)同色棋子和一個(gè)異色棋子。2: 表示五個(gè)棋子中有三個(gè)空位置和兩個(gè)同色棋子; 也表示五個(gè)棋子中一個(gè)空位置和三個(gè)同色棋子和一個(gè)異色棋子;0: 由于出現(xiàn)1和0的機(jī)會(huì)太少(除了開(kāi)始的時(shí)候),我們不必多加考慮。第三章 五子棋人機(jī)對(duì)戰(zhàn)程序設(shè)計(jì)31主菜單設(shè)置對(duì)菜單進(jìn)行設(shè)置,游戲中分別添加開(kāi)始,打開(kāi),退出和保存,其中開(kāi)始中又包括人對(duì)人和人對(duì)機(jī)兩項(xiàng),并且對(duì)他們分別關(guān)聯(lián)和做相應(yīng)的消息映射。因此我們也可以想到菜單也應(yīng)該變了。修改菜單: 修改工具欄: 變量和函數(shù) //保存vsputer時(shí)白棋位置 CPoint vspoint。 //不是以上情況,這個(gè)位置空 void searchcandown2(int i,int j,int n)。 void searchcandown4(int i,int j,int n)。 //最好落棋點(diǎn) void bestputdown(int i,int j)。 //在位置point放下棋子 void putdown(CPoint point)。 //人對(duì)機(jī)菜單 afx_msg void OnCpmputer()。322菜
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1