欢迎来到天天文库
浏览记录
ID:11739417
大小:109.00 KB
页数:0页
时间:2018-07-13
《c++五子棋游戏程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、新疆农业大学计算机与信息工程学院班级名称:计科102指导老师:李萍实验名称:五子棋游戏设计实验成绩:实验日期:5月30日—6月24日学号:实验学时:8学时姓名:一、实验目的1、综合全书,理论联系实际,利用所学习的C++知识,完成小型游戏系统的设计开发。2、掌握一个游戏系统开发的整个过程(包括游戏系统需求分析、游戏系统功能模块设计、各功能模块编码实现、游戏系统集成)之中,游戏系统开发之初系统需求分析的过程。3、综合运用所学知识解决问题,提高处理问题的能力。4、利用所学习的C++知识,完成小型游戏应用系统的设计开发,并在设计过程中更深
2、刻地体会C++面向对象的特点,从而对这门课程更全面的掌握。二、准备内容1.掌握C++基本编程风格。2.编写程序代码,实现各个模块的功能。3.完成小型游戏应用系统的设计开发.4.关键语句写注释。5.测试程序,写出测试报告。6.在实验报告写出综合设计心得。三、实验内容在此次大作业中,我学习设计一个五子棋游戏的程序,源代码及分析如下:#includeusingnamespacestd;intosheng(chara[][10]);//判断o子是否获胜的函数intxsheng(chara[][10]);//判断x子是否
3、获胜的函数inthe(chara[][10]);//判断是否平局(也就是棋盘下满了)的函数voidqipan(chara[10][10])//执行输出棋盘命令{for(inti=0;i<10;i++){for(intj=0;j<10;j++)cout<4、循环语句执行o,x交替下子,这些while语句看起来似乎是个死循环~实际上都会经过break结束{inta1=1;while(1){for(;a1;){cout<<"请输入o子下的位置:";cin>>x>>y;if(a[x][y]=='o'5、6、a[x][y]=='x')//判断是否已有子{cout<<"已有子请重下"<<",";continue;}elseif(x>=107、8、y>=10){cout<<"输入错误请重输"<<",";continue;}else{a[x][y]='o';a1=0;}}break;}qipan(a);/9、/下好o子后将棋盘显示if(osheng(a))//判断o子是否已经获胜{cout<<"o子获胜"<>x>>y;if(a[x][y]=='o'10、11、a[x][y]=='x'12、13、x>=1014、15、y>=10){for(;a[x][y]=='o'16、17、a[x][y]=='x';){cout<<"已有子请重下";cout<<"请输入x子下的位置:";cin>>x>>y;continue;}for(;x>=1018、19、y>=1020、21、x;){cout<<22、"输入错误请重输"<<",";cout<<"请输入x子下的位置:";cin>>x>>y;continue;}a[x][y]='x';break;}else24新疆农业大学计算机与信息工程学院{a[x][y]='x';break;}}qipan(a);//再一次输出棋盘if(xsheng(a))//判断x子是否已经获胜{cout<<"x子获胜"<23、多就吓到了,实际上想法很简单{inti,j;//判断横着的5个是否都相等for(i=0;i<10;i++)for(j=0;j<6;j++)if(a[i][j]=='o'&&a[i][j+1]=='o'&&a[i][j+2]=='o'&&a[i][j+3]=='o'&&a[i][j+4]=='o')return1;for(j=0;j<10;j++)//判断竖着的5个是否都相等for(i=0;i<6;i++)if(a[i][j]=='o'&&a[i+1][j]=='o'&&a[i+2][j]=='o'&&a[i+3][j]=='o'&24、&a[i+4][j]=='o')return1;for(i=0;i<6;i++)//判断左斜5个for(j=0;j<6;j++)if(a[i][j]=='o'&&a[i+1][j+1]=='o'&&a[i+2][j+2]=='o'&&a[i+3][
4、循环语句执行o,x交替下子,这些while语句看起来似乎是个死循环~实际上都会经过break结束{inta1=1;while(1){for(;a1;){cout<<"请输入o子下的位置:";cin>>x>>y;if(a[x][y]=='o'
5、
6、a[x][y]=='x')//判断是否已有子{cout<<"已有子请重下"<<",";continue;}elseif(x>=10
7、
8、y>=10){cout<<"输入错误请重输"<<",";continue;}else{a[x][y]='o';a1=0;}}break;}qipan(a);/
9、/下好o子后将棋盘显示if(osheng(a))//判断o子是否已经获胜{cout<<"o子获胜"<>x>>y;if(a[x][y]=='o'
10、
11、a[x][y]=='x'
12、
13、x>=10
14、
15、y>=10){for(;a[x][y]=='o'
16、
17、a[x][y]=='x';){cout<<"已有子请重下";cout<<"请输入x子下的位置:";cin>>x>>y;continue;}for(;x>=10
18、
19、y>=10
20、
21、x;){cout<<
22、"输入错误请重输"<<",";cout<<"请输入x子下的位置:";cin>>x>>y;continue;}a[x][y]='x';break;}else24新疆农业大学计算机与信息工程学院{a[x][y]='x';break;}}qipan(a);//再一次输出棋盘if(xsheng(a))//判断x子是否已经获胜{cout<<"x子获胜"<23、多就吓到了,实际上想法很简单{inti,j;//判断横着的5个是否都相等for(i=0;i<10;i++)for(j=0;j<6;j++)if(a[i][j]=='o'&&a[i][j+1]=='o'&&a[i][j+2]=='o'&&a[i][j+3]=='o'&&a[i][j+4]=='o')return1;for(j=0;j<10;j++)//判断竖着的5个是否都相等for(i=0;i<6;i++)if(a[i][j]=='o'&&a[i+1][j]=='o'&&a[i+2][j]=='o'&&a[i+3][j]=='o'&24、&a[i+4][j]=='o')return1;for(i=0;i<6;i++)//判断左斜5个for(j=0;j<6;j++)if(a[i][j]=='o'&&a[i+1][j+1]=='o'&&a[i+2][j+2]=='o'&&a[i+3][
23、多就吓到了,实际上想法很简单{inti,j;//判断横着的5个是否都相等for(i=0;i<10;i++)for(j=0;j<6;j++)if(a[i][j]=='o'&&a[i][j+1]=='o'&&a[i][j+2]=='o'&&a[i][j+3]=='o'&&a[i][j+4]=='o')return1;for(j=0;j<10;j++)//判断竖着的5个是否都相等for(i=0;i<6;i++)if(a[i][j]=='o'&&a[i+1][j]=='o'&&a[i+2][j]=='o'&&a[i+3][j]=='o'&
24、&a[i+4][j]=='o')return1;for(i=0;i<6;i++)//判断左斜5个for(j=0;j<6;j++)if(a[i][j]=='o'&&a[i+1][j+1]=='o'&&a[i+2][j+2]=='o'&&a[i+3][
此文档下载收益归作者所有