C++五子棋游戏程序_第1页
C++五子棋游戏程序_第2页
C++五子棋游戏程序_第3页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新疆农业大学计算机与信息工程学院班级名称: 计科081 指导老师:李萍 实验名称: 五子棋游戏设计 实验成绩: 实验日期:5月30日—6月24日学号: 084632125 实验学时:8学时 姓名:玛丽娜·乌尔列吾 一、实验目的1、综合全书,理论联系实际,利用所学习的C++知识,完成小型游戏系统的设计开发。2、掌握一个游戏系统开发的整个过程(包括游戏系统需求分析、游戏系统功能模块设计、各功能模块编码实现、游戏系统集成)之中,游戏系统开发之初系统需求分析的过程。3、综合运用所学知识解决问题,提高处理问题的能力。4、利用所学习的C++知识,完成小型游戏应用系统的设计开发,并在设计过程中更深刻地体会C++面向对象的特点,从而对这门课程更全面的掌握。二、准备内容C++基本编程风格。编写程序代码,实现各个模块的功能。完成小型游戏应用系统的设计开发.关键语句写注释。测试程序,写出测试报告。在实验报告写出综合设计心得。三、实验内容在此次大作业中,我学习设计一个五子棋游戏的程序,源代码及分析如下:#include<iostream>usingnamespacestd;intosheng(chara[][10]);//判断o子是否获胜的函数intxsheng(chara[][10]);//判断x子是否获胜的函数inthe(chara[][10]);//判断是否平局(也就是棋盘下满了)voidqipan(chara[10][10])//执行输出棋盘命令{for(inti=0;i<10;i++){for(intj=0;j<10;j++)cout<<a[i][j];cout<<endl;}1新疆农业大学计算机与信息工程学院}intmain(){chara[10][10];intx,y;for(inti=0;i<10;i++)for(intj=0;j<10;j++)a[i][j]='';qipan(a);while(1)//用循环语句执行o,x交替下子,这些while语句看起来似乎是个死循环~break结束{inta1=1;while(1){for(;a1;){cout<<"请输入o子下的位置:";cin>>x>>y;if(a[x][y]=='o'||a[x][y]=='x')//判断是否已有子{cout<<"已有子请重下"<<",";continue;}elseif(x>=10||y>=10){cout<<"输入错误请重输"<<",";continue;}else{a[x][y]='o';a1=0;}}break;}qipan(a);//下好o子后将棋盘显示if(osheng(a))//判断o子是否已经获胜{cout<<"o子获胜"<<endl;break;}while(1)//下x子{cout<<"请输入x子下的位置:";cin>>x>>y;if(a[x][y]=='o'||a[x][y]=='x'||x>=10||y>=10){for(;a[x][y]=='o'||a[x][y]=='x';){cout<<"已有子请重下";cout<<"请输入x子下的位置:";cin>>x>>y;continue;}for(;x>=10||y>=10||x;){cout<<"输入错误请重输"<<",";cout<<"x子下的位置:";cin>>x>>y;continue;}a[x][y]='x';break;}else2新疆农业大学计算机与信息工程学院{a[x][y]='x';break;}}qipan(a);//再一次输出棋盘if(xsheng(a))//判断x子是否已经获胜{cout<<"x子获胜"<<endl;break;}if(he(a))//判断是否平局{cout<<"平局"<<endl;break;}}return0;}intosheng(chara[][10])//别看起来这么多就吓到了,实际上想法很简单{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'&&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][j+3]=='o'&&a[i+4][j+4]=='o')return1;for(i=0;i<6;i++)//右斜5个for(j=9;j>3;j--)if(a[i][j]=='o'&&a[i+1][j-1]=='o'&&a[i+2][j-2]=='o'&&a[i+3][j-3]=='o'&&a[i+4][j-4]=='o')return1;return0;}3新疆农业大学计算机与信息工程学院intxsheng(chara[][10])//同o,只是改字符{inti,j;for(i=0;i<10;i++)for(j=0;j<6;j++)if(a[i][j]=='x'&&a[i][j+1]=='x'&&a[i][j+2]=='x'&&a[i][j+3]=='x'&&a[i][j+4]=='x')return1;for(j=0;j<10;j++)for(i=0;i<6;i++)if(a[i][j]=='x'&&a[i+1][j]=='x'&&a[i+2][j]=='x'&&a[i+3][j]=='x'&&a[i+4][j]=='x')return1;for(i=0;i<6;i++)for(j=0;j<6;j++)if(a[i][j]=='x'&&a[i+1][j+1]=='x'&&a[i+2][j+2]=='x'&&a[i+3][j+3]=='x'&&a[i+4][j+4]=='x')return1;for(i=0;i<6;i++)for(j=9;j>3;j--)if(a[i][j]=='x'&&a[i+1][j-1]=='x'&&a[i+2][j-2]=='x'&&a[i+3][j-3]=='x'&&a[i+4][j-4]=='x')return1;return0;}inthe(chara[][10]){for(inti=0;i<10;i++)for(intj=0;j<10;j++){if(a[i][j]=='')//''时才能return1return0;}return1;}4新疆农业大学计算机与信息工程学院四、实验结论C++C++语言时我认为它就是在CC语言的编程思想和设计理念来学习C++C++时走了不少的弯路,转变思想后我更认真的学习了C++格式和调用方式、作用域及存储类等内容。在仅一遍学习的基础上来学习设计游戏程序让我遇到了第一个难题,就是对知识点的掌握不够扎实,在用C++当然在程序学习过程中遇到的一些复杂程序仅靠书本上的知识是不够解决的,因此通过在C++语言的魅力和精髓,在以后的编程过程中会更熟练的运用C++语言,吸取了这次的经验后,在下次运用C++C++让我受益匪浅,最后感谢老师的悉心教导,老师辛苦了!5新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 6新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 7新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 8新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 9新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 10新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 11新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 12新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 13新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 14新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 15新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 16新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 17新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 18新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 19新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 20新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日 学 号: 实验学时:8学时 姓 名: 21新疆农业大学计算机与信息工程学院班级名称: 指导老师:李萍 实验名称: 实验成绩: 实验日期:5月30日—6月24日

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论