MFC程序五子棋实验报告.doc
《MFC程序五子棋实验报告.doc》由会员分享,可在线阅读,更多相关《MFC程序五子棋实验报告.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、MFC程序五子棋实验报告1.实验目的:通过学习MFC应用程序开发,编译一个简单的五子棋人人对战游戏。2. 实验过程:(1) 实验分工该实验是由小组人员共同合作完成,算法设计有*负责,编码以及函数实现由*负责,调试运行和结果测试分别有*和*负责,实验报告的书写由*负责。(2) 算法设计五子棋的游戏规则对我们大家来说都很很清楚的。只要某一方的棋子在一条直线上,棋子数先达到五或以上,则该方为胜者。根据游戏规则,算法设计分以下几个方面:A. 棋盘设计:棋盘设计可以用一个对话框实现,B. 棋子设计C. 开始函数D. 结束函数E. 下棋子函数F. 选择哪种棋子先下函数G. 判断输赢函数五子棋胜利的条件是一
2、方的五个棋子连成一条直线,包括纵,横,左斜,右斜四种,可以用二维数组来保存每个位置棋子的值,分别用0,1,2来表示无棋,黑棋,白棋,每当下一个棋子后,用值保存其颜色,当白棋或者黑棋有一者符合上述四种情况之一时,就可以判断出哪方胜利。H. 重新开始棋局函数(3) 编码以及函数实现void CTestDlg:OnButton11() if(ToStart=1&Q00=0)/Tostart为1时,棋局开始 x=0;y=0;/表示棋子所在坐标 if(Qi=0)MessageBox(请选择开局棋色);z=0; /Qi表示棋子是黑色还是白色,若为0,则棋盘;1表示黑色棋子,2表示白色棋子 else if(
3、Qi=1)/Qi为1,表示此棋子上一个棋子为黑色,此次单击放白棋 m_cBmp00.DeleteObject();/ m_cBmp00.LoadBitmap(IDB_BITMAP2); m_ctrBmp11.SetBitmap(HBITMAP(m_cBmp00); Qi+;/表示下一棋子需要放黑棋子 z=1;/棋子颜色 else if(Qi=2) m_cBmp00.DeleteObject(); m_cBmp00.LoadBitmap(IDB_BITMAP3);/ m_ctrBmp11.SetBitmap(HBITMAP(m_cBmp00); Qi-; z=2; Q00=z;/IsOver(x
4、,y,z);/判断谁赢 SetBmp();/再次加载所有位图void CTestDlg:IsOver(int x,int y,int z)/胜负判断函数 / SetBmp(); bool flag1=false,flag2=false;int n,m,count=0;n=m=x; while(n=0)/判断纵轴是否五子相连 n-;if(Qny!=z)break; else count+;while(m=4)flag1=true;if(z=2&count=4)flag2=true;count=0;n=m=y; /判断横轴是否五子相连while(n-&n-1) if(Qxn!=z)break; e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 程序 五子棋 实验 报告
限制150内