




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三字连珠实验要求:模仿五子棋的形式,编写有一方三子或五子连成一线即获胜的程序,具体要求:1、 玩家可以设置棋盘的大小,即在游戏开始时输入一变量n(n=39),使棋盘的大小为nn。2、 本程序用if-else选择语句来判断获胜者,如果棋盘变大这将非常频繁,现要求将这一功能用循环语句实现,且适用于任意大小的棋盘。3、 加入可以悔棋的功能,要求任意方可以在对方下棋后悔改一步,即将对方当前步和本方上一步删除,本方重新下棋。程序代码(本页不足请附页)类的定义:class Gamepublic:Game(int M);void print(); /输出棋盘(1)void print2(); /输出棋盘(2)void two_people(); /双人对战int judge1(int a,int b); /判断玩家1胜利int judge2(int a,int b); /判断玩家2胜利void regret(int a,int b); /悔棋private:int N;char game1010;类的实现:#include#include1.hvoid Game:print() /输出棋盘(1)int i,j;cout ;for(i=1;iN+1;i+)cout i;coutendl;for(i=0;iN;i+)for(j=0;j=N;j+)if(j=0)couti+1 ;elsecout. ;coutendl;void Game:print2() /输出棋盘(2)int i,j;cout ;for(i=1;iN+1;i+)cout i;coutendl;for(i=1;iN+1;i+)for(j=0;j=N;j+)if(j=0)couti ;else if(gameij=O)coutO ;else if(gameij=X)coutX ;elsecout. ;coutendl;void Game:regret(int a,int b) /悔棋gameab=0;void Game:two_people()int flag=0; /判断玩家int p1,p2; /下棋位置print();for(;)if(flag=0)cout请玩家一输入下棋位置(玩家二要悔棋请输入两个0)p1p2;if(p1=0&p2=0)cout请输入要悔棋的坐标p1p2;if(gamep1p2!=X)cout输入有误endl;continue;regret(p1,p2);else if(gamep1p2!=0)cout输入有误=1&p1=1&p2=9)gamep1p2=O;elsecout输入位置有误,请重输endl;continue;if(judge1(p1,p2)=1)print2();cout玩家一胜利!endlendl;break;flag=1;print2();else if(flag=1)cout请玩家二输入下棋位置(玩家一要悔棋请输入两个0)p1p2;if(p1=0&p2=0)cout请输入要悔棋的坐标p1p2;if(gamep1p2!=O)cout输入有误endl;continue;regret(p1,p2);else if(gamep1p2!=0)cout输入有误=1&p1=1&p2=9)gamep1p2=X;elsecout输入位置有误,请重输endl;continue;if(judge2(p1,p2)=1)print2();cout玩家二胜利!endlendl;break;flag=0;print2();elsecout输入有误,请重输endl;int Game:judge1(int a,int b) /判断玩家1胜利if(gameab-1=O&gameab+1=O)|(gameab-1=O&gameab-2=O)|(gameab+1=O&gameab+2=O)return 1;else if(gamea+1b=O&gamea-1b=O)|(gamea+1b=O&gamea+2b=O)|(gamea-1b=O&gamea-2b=O)return 1;else if(gamea+1b+1=O&gamea-1b-1=O)|(gamea+1b+1=O&gamea+2b+2=O)|(gamea-2b-2=O&gamea-1b-1=O)return 1;else if(gamea+1b-1=O&gamea-1b+1=O)|(gamea+1b-1=O&gamea+2b-2=O)|(gamea-2b+2=O&gamea-1b+1=O) return 1;elsereturn 0;int Game:judge2(int a,int b) /判断玩家2胜利 if(gameab-1=X&gameab+1=X)|(gameab-1=X&gameab-2=X)|(gameab+1=X&gameab+2=X)return 1;else if(gamea+1b=X&gamea-1b=X)|(gamea+1b=X&gamea+2b=X)|(gamea-1b=X&gamea-2b=X)return 1;else if(gamea+1b+1=X&gamea-1b-1=X)|(gamea+1b+1=X&gamea+2b+2=X)|(gamea-2b-2=X&gamea-1b-1=X)return 1;else if(gamea+1b-1=X&gamea-1b+1=X)|(gamea+1b-1=X&gamea+2b-2=X)|(gamea-2b+2=X&gamea-1b+1=X) return 1;elsereturn 0;Game:Game(int M) /构造函数N=M;int i,j;for(i=0;i=N;i+)for(j=0;j=N;j+)gameij=0;类的使用:#include#include1.hvoid main() /主函数int i=0,N=0; for(;)cout游戏 三字连珠n=endl;cout请输入选项:endl;cout1.双人对战n2.游戏说明n3.退出游戏i;if(i=1)cout请输入棋盘大小:(39)N;if(N9&N3)cout输入棋盘大小超过限制,请重新输入endl;continue;Ga
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省兰州大学土木工程与力学学院聘用制(B岗)人员招聘模拟试卷及答案详解(网校专用)
- 中国移动山南市2025秋招写作案例分析万能模板直接套用
- 2025年4月四川护理职业学院编外人员招聘14人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年福建省南平市光泽县招聘医疗人才10人模拟试卷附答案详解(典型题)
- 2025年枣庄山亭区人民医院公开招聘备案制专业技术人员(15人)模拟试卷完整参考答案详解
- 2025年温岭市公开选调公务员32人考前自测高频考点模拟试题有完整答案详解
- 关于电渡厂环保排量转让合同5篇
- 2025年在线教育平台用户增长与留存策略在线教育行业竞争态势分析报告
- 2025年文旅地产融合模式创新及重点项目投资风险评估报告
- 2025年工业互联网平台漏洞扫描技术风险管理策略报告
- AIGC基础与应用第6章-AIGC造就绘画大师
- 《炼油与化工装置机泵 在线监测系统技术规范》
- 羽毛球竞赛编排知识与方法
- 2023数据标准管理实践
- 非洲水坝施工方案
- Unit 3 Understanding ideas The Road to Success课件 2023-2024学年高中英语外研版选择性必修第一册
- 项目需求分析文档(模板)
- 长阳清江画廊
- 四川2023年专业技术人员公需科目“数字经济与驱动发展”参考答案(通用版)
- 液压泵站使用说明书
- 职工三级安全教育卡模版
评论
0/150
提交评论