C语言五子棋游戏程序课程设计.docx
- 文档编号:10685457
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:12
- 大小:126.44KB
C语言五子棋游戏程序课程设计.docx
《C语言五子棋游戏程序课程设计.docx》由会员分享,可在线阅读,更多相关《C语言五子棋游戏程序课程设计.docx(12页珍藏版)》请在冰点文库上搜索。
C语言五子棋游戏程序课程设计
C++五子棋游戏程序设计
一、课设内容
1.掌握C++基本编程风格。
2.编写程序代码,实现各个模块的功能。
3.完成小型游戏应用系统的设计开发.
4.关键语句写注释。
5.测试程序,写出测试报告。
6.在实验报告写出综合设计心得。
二、实验内容
在此次大作业中,我学习设计一个五子棋游戏的程序,源代码及分析如下:
#include
#include
voidshuchu(chara[15][15])
{
intx,y,i;
cout<<"";
for(i=0;i<15;i++)
cout< cout< for(x=0;x<15;x++) { cout< (2)< for(y=0;y<15;y++) cout< cout< } } boolosheng(chara[15][15]) { intx,y; for(x=0;x<15;x++) for(y=0;y<11;y++) if(a[x][y]=='o'&&a[x][y+1]=='o'&&a[x][y+2]=='o'&&a[x][y+3]=='o'&&a[x][y+4]=='o') return1; for(x=0;x<11;x++) for(y=0;y<15;y++) if(a[x][y]=='o'&&a[x+1][y]=='o'&&a[x+2][y]=='o'&&a[x+3][y]=='o'&&a[x+4][y]=='o') return1; for(x=0;x<11;x++) for(y=0;y<11;y++) if(a[x][y]=='o'&&a[x+1][y+1]=='o'&&a[x+2][y+2]=='o'&&a[x+3][y+3]=='o'&&a[x+4][y+4]=='o') return1; for(x=15;x>4;x--) return0; } boolxsheng(chara[15][15]) { intx,y; for(x=0;x<15;x++) for(y=0;y<11;y++) if(a[x][y]=='x'&&a[x][y+1]=='x'&&a[x][y+2]=='x'&&a[x][y+3]=='x'&&a[x][y+4]=='x') return1; for(x=0;x<11;x++) for(y=0;y<15;y++) if(a[x][y]=='x'&&a[x+1][y]=='x'&&a[x+2][y]=='x'&&a[x+3][y]=='x'&&a[x+4][y]=='x') return1; for(x=0;x<11;x++) for(y=0;y<11;y++) if(a[x][y]=='x'&&a[x+1][y+1]=='x'&&a[x+2][y+2]=='x'&&a[x+3][y+3]=='x'&&a[x+4][y+4]=='x') return1; for(x=15;x>4;x--) for(y=15;y>4;y--) if(a[x][y]=='x'&&a[x+1][y-1]=='x'&&a[x+2][y-2]=='x'&&a[x+3][y-3]=='x'&&a[x-4][y+4]=='x') return1; return0; } boolhe(chara[15][15]) { intx,y; for(x=0;x<15;x++) for(y=0;y<15;y++) if(a[x][y]=='-') return0; return1; } voidmain() { intx,y,s,q; chara[15][15]; for(x=0;x<15;x++) for(y=0;y<15;y++) cin>>q; if(q==1) gototwo; /*else gotoone;*/ two: cout<<"请选择是否进入悔棋模式: 1.是;2.否\n"; cin>>q; if(q==2) gotothree; shuchu(a); while (1) { s: while (1) { cout<<"请玩家1输入下子的坐标"< cin>>x>>y; if(a[x][y]=='o'||a[x][y]=='x') cout<<"此处已经有字,请重下"< else { a[x][y]='o'; break; } } shuchu(a); cout<<"是否需要悔棋? 是请输入: 1;否请输入: 0"< cin>>s; switch(s) { case1: a[x][y]='-'; gotos; break; case0: gotos1; break; } s1: if(osheng(a)) { cout<<"玩家1胜"; break; } s2: while (1) { cout<<"请玩家2输入下子的坐标"< cin>>x>>y; if(a[x][y]=='o'||a[x][y]=='x') cout<<"此处已经有字,请重下"< else { a[x][y]='x'; break; } } shuchu(a); cout<<"是否需要悔棋? 是请输入: 1;否请输入: 0"< cin>>s; switch(s) { case1: a[x][y]='-'; gotos2; break; case0: gotos3; break; } s3: if(xsheng(a)) { cout<<"玩家2胜"; if(he(a)) { cout<<"平局"; break; } } three: shuchu(a); while (1) { while (1) { cout<<"请玩家1输入下子的坐标"< cin>>x>>y; if(a[x][y]=='o'||a[x][y]=='x') cout<<"此处已经有字,请重下"< else { a[x][y]='o'; break; } } shuchu(a); if(osheng(a)) { cout<<"玩家1胜"; break; } } shuchu(a); if(xsheng(a)) { cout<<"玩家2胜"; break; } if(he(a)) { cout<<"平局"; break; } } } 三、感想体会 本实验是用C++来设计完成了五子棋游戏。 在起初学习C++语言时我认为它就是在C语言基础上的延伸,一直用C语言的编程思想和设计理念来学习C++,这种错误的思想也让我在学习C++时走了不少的弯路,转变思想后我更认真的学习了C++语言的语法、程序结构、各类语句、函数格式和调用方式、作用域及存储类等内容。 在仅一遍学习的基础上来学习设计游戏程序让我遇到了第一个难题,就是对知识点的掌握不够扎实,在用C++语言所支持的面向对象程序设计方法的内容时让我很被动,尤其是类和对象的复制和运算、集成性和派生类、多态性和虚函数等内容。 在这次做大作业时让我系统的复习了所学的知识,让我认识到利用类和对象可以将程序中很复杂和重复的内容省掉,同时可以将用以前所学语言设计的程序变的更简单。 当然在程序学习过程中遇到的一些复杂程序仅靠书本上的知识是不够解决的,因此通过在网上查找资料,跟同学交流心得过程中也学到了很多。 在这次做大作业学习编写五子棋游戏的过程中让我领略到了C++语言的魅力和精髓,在以后的编程过程中会更熟练的运用C++语言,吸取了这次的经验后,在下次运用C++时会更全面的考虑问题,使用更正确的方法来解决问题,这次学习C++让我受益匪浅,最后感谢老师的悉心教导,老师辛苦了!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 五子棋 游戏 程序 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)