黑白棋课程设计

loading 分享 2026-8-10 下载文档

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()//判断游戏是否结束 {


黑白棋课程设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 黑白棋课程设计 的文档
相关推荐
相关阅读