第一范文网 - 专业文章范例文档资料分享平台

黑白棋课程设计

来源:用户分享 时间:2025/7/3 23:01:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5odug4b97m7wp9920t13_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top