else { }
////////////加按键音
Image[px][py]=11; IsFirst_White=TRUE; for(int i=0;i for(int j=0;j if(Record[px][py][i][j]==6) {CopyImage[i][j]=6;Image[i][j]=1;} TurnCom=TRUE; res=FindResource(::AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDR_PUTST ONE),\ } else { ////////////若没有在能落子点点击,叫error音 hSound1=LoadResource(::AfxGetApp()->m_hInstance,res); lpSound1=(LPSTR)LockResource(hSound1); sndPlaySound(lpSound1,SND_ASYNC|SND_MEMORY); // IsFirst_White=!IsFirst_White; res3=FindResource(::AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDR_ERRO R),\ } for(int i=0;i for(int j=0;j for(int k=0;k hSound4=LoadResource(::AfxGetApp()->m_hInstance,res3); lpSound4=(LPSTR)LockResource(hSound4); sndPlaySound(lpSound4,SND_ASYNC|SND_MEMORY); } for(int g=0;g for(i=0;i for(int j=0;j if(Image[i][j]==2) { Image[i][j]=0; // Pass=TRUE; } Invalidate(FALSE); IsGameOver(); //落子后,判断游戏是否结束 Pass=TRUE; Search_EnablePoint(); //显示另一方能落子点 for(int i=0;i for(int j=0;j for(int k=0;k for(int g=0;g if(record[i][j][k][g]==5) { Image[i][j]=2; Pass=FALSE; } } } CView::OnLButtonDown(nFlags, point); record[i][j][k][g]=0; } (9)悔棋 void CMyView::OnUpdatePreStep(CCmdUI* pCmdUI) //悔棋灰显 { } void CMyView::OnComputerShow() { } // TODO: Add your command handler code here ComShow=TRUE; OnStart(); if(IsStart) //若开始后点击才能落子 { } SetTimer(1,1500,NULL); // TODO: Add your command update UI handler code here int blacknum=0,whitenum=0; for(int i=0;i for(int j=0;j if(Image[i][j]==1||Image[i][j]==11) blacknum++; else if(Image[i][j]==-1||Image[i][j]==-11) whitenum++; if(blacknum>2||whitenum>2) pCmdUI->Enable(m_bEnable2); else pCmdUI->Enable(m_bEnable1); (10)重新初始化 void CMyView::ReInit() //重新初始化(以便再来一局) { } IsFirst_White=FALSE; for(int i=0;i for(int j=0;j {Image[i][j]=0;CopyImage[i][j]=0;} int m=X/2; int n=Y/2; Image[m-1][n-1]=1;Image[m][n]=1; Image[m-1][n]=-1;Image[m][n-1]=-1; for(i=0;i<10;i++) for(int j=0;j<10;j++) for(int k=0;k<10;k++) for(int d=0;d<10;d++) {Record[i][j][k][d]=0;record[i][j][k][d]=0;} if(Rank==1||Rank==2) for(i=0;i<10;i++) for(int j=0;j<10;j++) MaxNum[i][j]=0; Invalidate(FALSE); (11)判断游戏是否结束 此模块写在IsGameOver()函数中,黑白棋判断游戏结束为:当棋盘摆满棋子时,哪一方的棋子多,则那一方获胜,棋子一样多为平局,或是中途以防被全部吃掉,则另一方胜。 void CMyView::IsGameOver()//判断游戏是否结束 {
相关推荐: