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

正文內(nèi)容

五子棋人機(jī)對(duì)戰(zhàn)設(shè)計(jì)方案-wenkub.com

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

【正文】 Visual C++編程》,侯俊杰,人民郵電出版社,2004年9月。對(duì)于在課程設(shè)計(jì)中老師的悉心教導(dǎo)以及同學(xué)們對(duì)我的幫助,我衷心的表示感謝。 } }至此,我們已經(jīng)完成了我們的五子棋游戲了。 return。 for(a=0。 } } } }} b5。b++) if(wzq[ib][j+b]==0) { =ib。 } } if(m==3) { for(a=0。 if(b==2) { =ia。k++) if(wzq[ik][j+k]==0) m++。 break。 } } else if(wzq[i+a][j+a]==1) { for(b=0。b5。 =j+a。a++) if(wzq[i+a][j+a]==0) { b=wzq[i+a+1][j+a+1]+wzq[i+a+2][j+a+2]。k5。 =j+b。 break。a++) if(wzq[i][j+a]==1) { for(b=0。 } if(b==2) { =i。a5。 if(n==1) { for(k=0。b++) if(wzq[i+b][j]==0) { =i+b。 =j。a5。 =j。 //如果只有一個(gè)空位置 if(m==1) for(a=0。 //最多有兩個(gè)同色void CMyView::searchcandown2(int i, int j, int n){int k=0,m=0,a=0,b=0。如果最大值是二,也有兩種情況:一種是有兩個(gè)同色和三個(gè)空位置;一種是有三個(gè)同色和一個(gè)異色和一個(gè)空位置,并且只算三個(gè)同色不連在一起的情況(因?yàn)槿绻腥齻€(gè)連續(xù)的情況,重全盤搜索的角度看,必然會(huì)被另外的情況所代替)。 } else if(wzq[ik1][j+k+1]==1) { =ik。 } } ////////////////////////////// num[3] / if(n==3) for(k=0。k++) if(wzq[i+k][j+k]==0) { if(wzq[i+k+1][j+k+1]==1) { =i+k。 } else if(wzq[i][j+k+1]==1) { =i。 } } //////////////////////////// num[1] | if(n==1) for(k=0。k++) //找到位置 if(wzq[i+k][j]==0) { //下一個(gè)是白棋 if(wzq[i+k+1][j]==1) { //下面位置可以下棋,已經(jīng)有三個(gè)白棋 =i+k。void searchcandown3(int i,int j,int n)函數(shù) break。 =j+k。 } else { =i。k5。 } else { =i+k。 break。 =j。 break。 =j+k。 } else { =i。k5。 } //否則第一個(gè)是黑棋 else { =i+k。 break。 =j。 //由于相似,下面代碼只解釋第一個(gè)方向 //有四個(gè)同色棋void CMyView::searchcandown4(int i, int j, int n){ int k。 } return point。 } if(c) { =2。 if(a=b) { =0。 CPoint maxnum(int a,int b,int c,int d)。 //其中i、j表示搜索起點(diǎn),n表示方向 void searchcandown1(int i,int j,int n)。 default: searchcandown1(i,j,)。 case 3: searchcandown3(i,j,)??梢哉f(shuō),這也是一種巧妙的想法,因?yàn)檫@樣你就不用去寫//內(nèi)聯(lián)函數(shù)了CPoint numbig。k++) a=a+wzq[ik][j+k]。 if((i4)amp。k5。 /////////////////////////////// num[2] \ a=0。 if(j15) for(k=0。k5。//檢查四個(gè)方向,各算出五個(gè)棋子的和并賦值void CMyView::bestputdown(int i,int j){ //四個(gè)方向的值 int num[4]。 為什么要用五個(gè)棋子的值相加呢?因?yàn)?,如果幾個(gè)棋子是同色的,無(wú)論黑白,它的絕對(duì)值必然大,而對(duì)于幾個(gè)棋子中有黑棋和白棋的,其值必然相加而抵消變小。 } =*20+30。 pDCBitBlt(*20+32,*20+32,160,160,amp。 CDC Dc。 return。 return。 return。 return。i++) for(int j=0。 wpointcan2=(1,1)。 wpointcan4=(1,1)。全盤搜索完之后,由于上面的變量中至少有一個(gè)已經(jīng)被賦值,即不是(1,1),我們可以采用多數(shù)優(yōu)先的方法,讓已經(jīng)有多個(gè)同色棋子的位置先下棋。我們實(shí)現(xiàn)的方法是:全盤搜索,并把搜索到的位置,保存在變量。接著,我們的主要問(wèn)題就是實(shí)現(xiàn)puterdown()函數(shù),讓計(jì)算機(jī)能夠自動(dòng)下棋! } } } CView::OnLButtonUp(nFlags, point)。Dc,0,0,SRCCOPY)。 over(point)。wzq[px][py]==0) { (m_bmwhite)。410) { int px=()/20。410amp。 //保存白棋位置 vspoint=point。Dc,0,0,SRCCOPY)。 if(colorwhiteamp。30amp。 //顯示棋子 /////////////////////人對(duì)機(jī) if(vsputer==1) { if(30amp。void CMyView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CDC *pDC=GetDC()。下面,我們就必須把游戲雙方中的一方改為計(jì)算機(jī)。其中,我們只是添加一個(gè)變量,而仍然利用原來(lái)的開(kāi)始函數(shù)。}322菜單函數(shù) //在位置point放下棋子 void putdown(CPoint point)。 void searchcandown4(int i,int j,int n)。 //不是以上情況,這個(gè)位置空
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1