连四游戏课程设计报告_第1页
连四游戏课程设计报告_第2页
连四游戏课程设计报告_第3页
连四游戏课程设计报告_第4页
连四游戏课程设计报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

PAGE第1章引言 -1-第2章任务概述 -1-2.1问题概述 -1-2.1.1问题重述 -1-2.1.2设计目的 -1-2.2需求分析 -1-2.2.1基本要求 -1-2.2.2游戏功能介绍 -1-2.3编程语言概述 -1-2.4编程环境概述 -1-第3章概要设计 -2-3.1功能设计 -2-3.2程序结构 -2-3.3基本流程 -2-第4章程序实现 -3-4.1主要变量及函数的说明 -3-4.1.1主要变量 -3-4.1.2主要函数 -4-4.2主要功能的实现 -4-4.2.1落子的功能 -4-4.2.2输出棋盘 -4-4.2.3查看输赢并消去棋子 -4-4.2.4消去棋子后让上面棋子下落的函数 -4-第5章结果与讨论 -5-5.1运行结果截图 -5-5.2程序的讨论与优化 -6-参考文献: -6-VC课程设计报告6-开题报告1-

第1章引言 通过半年的课程学习,对C++语言和Codeblocks编程环境有了一定程度的了解。根据课程要求,利用两周时间对所学知识加以巩固学习,学会独立地编写一些简单的程序,初步接触程序设计与软件实现的思想内涵。 该设计在传统连四游戏的基础上添加了加分计分的功能,增加了游戏的趣味性和难度。 由于作者水品有限,游戏当中依然还有许多不完善的地方,恳请老师和同学们批评指正。第2章任务概述2.1问题概述2.1.1问题重述完成控制台下的连四对弈软件,可评判输赢,棋盘大小为6X62.1.2设计目的 独立地利用所学的C++语言和Codeblocks编程环境编写程序。2.2需求分析2.2.1基本要求能正常实现连四游戏的功能,横竖斜先出现四个以上相同子的加分。当一方的分值先达到开始设置的分值时获胜。2.2.2游戏功能介绍在这里详细介绍一下进入游戏后的选项:(1)首先提示双方输入各自的姓名(2)然后提示输入想要获胜需达到的分数n(3)然后进入对弈界面,提示双方输入1-6来进行对弈(4)当一方分数先达到n时,获胜(5)若一直无人获胜,输出棋盘已满和棋2.3编程语言概述C++这个词在中国大陆的程序员圈子中通常被读作“C加加”,而西方的程序员通常读作“CPlusplus“,”CPP“。它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图表等等泛型程序设计等多种风格。2.4编程环境概述Codeblocks是一个开放源码的全功能的跨平台C/C++集成开发环境。Codeblocks是开放源码软件。Codeblocks有纯粹的C++语言开发完成,它使用著名的图形界面库wxWidget(2.6.2unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。第3章概要设计3.1功能设计在这里详细介绍一下进入游戏后的选项:(1)首先提示双方输入各自的姓名(2)然后提示输入想要获胜需达到的分数n(3)然后进入对弈界面,提示双方输入1-6来进行对弈(4)当一方分数先达到n时,获胜(5)若一直无人获胜,输出棋盘已满和棋3.2程序结构 程序的结构如下图所示:图3-3结构图3.3基本流程 根据游戏规则及其结构图,画出如下程序基本流程图:第4章程序实现4.1主要变量及函数的说明4.1.1主要变量 stringperson1;//第一个人的名字,注意:此人为先手人的名字 stringperson2;//第二个人的名字 intnnn;//先到达nnn分数的人获胜 intjiantoudirect;//控制箭头的指向,用来提升轮到谁下棋intcount[6];//数组中存放6列元素的个数charqipan[6][6];//存放棋盘的数组 intpoint1;//第一个人的分数 intpoint2;//第二个人的分数 boolwin;//判断是否有人获胜4.1.2主要函数 Chess();//Chess类的构造函数voidsetperson1(stringa);//设置玩家1的姓名voidsetperson2(stringb);//设置玩家2的姓名voidsetnnn(intc);//设置先达到nnn分数的人获胜voidsetdown(intc,chara);//落子的函数boolisfull(inta)//查看单独的一列是否为空boolallfull();//查看整个棋盘是否为空的函数friendostream&operator<<(ostream&o,constChess&t);//输出棋盘的函数friendbooljudgefour(Chess&t,intabc,intc);//判断输赢并消去棋子的函数friendvoiddowndown(Chess&t);//消去棋子后让上面棋子下落的函数booljudgewin();//判断是否有人获胜的函数voidplaystart();//开始游戏的函数4.2主要功能的实现4.2.1落子的功能这里面的c为待落子的列号,a为待填入数组中的字符(一共两种字符,分别代表游戏双方)落子后的地方更改为相应的字符a。4.2.2输出棋盘棋盘第一行输出双方玩家的姓名,中间有个箭头来回指向游戏双方,用来提示该轮到谁落子第二行输出比赛双方的比分,之后输出整个棋盘4.2.3查看输赢并消去棋子 根据刚下的棋子搜索其周围是否存在连四现象,一旦发现连四现象先删除除了刚下棋子的那些棋子,然后继续搜索,四个方向全部搜索完毕后再删除刚下棋子。4.2.4消去棋子后让上面棋子下落的函数 分别单独判断每一列,如果发现棋子下面有空格,则上面的棋子下落填充。 实现的原理是:根据字符的大小进行排序,空格字

温馨提示

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

评论

0/150

提交评论