五子棋游戏程序设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机学院网络工程专业《程序设计综合课程设计》报告(2011/2012学年第一学期)

学生姓名:

学生班级:网络工程

学生学号:

指导教师:

2011年12月30日

双人五子棋

目录

第一章课程设计目的和要求 (1)

1.1课程设计的目的 (1)

1.2课程设计的要求 (1)

第二章课程设计任务内容 (2)

2.1课程设计的主要内容 (2)

2.2系统设计原则 (2)

第三章设计说明 (3)

3.1游戏分析和介绍 (3)

3.1.1游戏分析 (3)

3.1.2游戏介绍 (3)

3.2重点模块说明 (3)

3.2.1棋盘界面Showboard() (3)

3.2.2下棋Play() (4)

3.2.3覆盖棋盘Recoverboard() (7)

3.2.4游戏结束后初始化棋盘Unitboard() (7)

3.2.5保存棋盘CopyB() (8)

3.3函数清单 (8)

3.4接口 (9)

第四章软件使用说明 (10)

4.1测试 (10)

4.2限制条件 (13)

第五章课程设计心得体会 (14)

附录一程序流程图 (15)

附录二程序代码 (16)

附录三参考文献 (26)

第一章课程设计目的和要求

1.1课程设计的目

1,学习综合运用C语言课程和其他相关课程的知识,提高分析解决实际问题的能力,进一步巩固、加深和拓宽所学的知识,进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。

2,全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法,与同学合作设计整套程序,并且独立完成一定工作量的程序设计.

3,掌握程序设计中的常用算法和C语言的程序技巧,培养良好的程序设计风格。

4,运用所学的知识了解五子棋游戏的制作结构,将所学的知识运用于实践中。

1.2课程设计的要求

1,与同学合作设计、编制、调试出一款双人五子棋游戏,并单独完成其中一定量的函数模块。

2,要求该游戏具有趣味性和可操作性,能够正常运行。其中用到C++语言中的各种语句、结构。(如其中需要注意全局变量和局部变量的申明,数组的使用等) 3,双人五子棋要求能够进入欢迎界面,二人对弈,当有五颗同色棋子相连时,判断出输赢等一系列游戏流程。

第二章课程设计任务内容

2.1课程设计的主要内容

任务内容就是设计一款老少皆宜、能够锻炼个人策略谋划能力、较为传统的五子棋。棋盘为16*16,棋子放在交叉点儿上,两人各执一色,轮流下棋,先将横、竖、斜线上的五个同色棋子练成不间断的一排则胜出。

2.2系统设计原则

1,系统性。系统作为统一整体而存在,因此,在设计中,要从系统的角度考虑。系统的代码要统一,传递语言要尽可能一致。

2,可靠性。可靠性是指系统抵御外界干扰的能力及外界干扰时的恢复能力。

3,规范性。游戏的运用以吸引玩家的乐趣为前提,一方面,系统设计应尽量避免不必要的复杂化,另一方面模块应尽量简洁,以缩短处理流程。

第三章设计说明

3.1游戏分析和介绍

3.1.1 游戏分析

该五子棋程序基本上实现了五子棋游戏的功能,有双方下棋之前的欢迎界面及下棋过程中的棋盘界面,还有最终会判断出输赢。同时,该游戏采用了二维坐标实现的,明了易懂,方便玩家在游戏过程中的基本操作,使游戏更加简便。细节方面,该程序有实时储存功能,随时记录。另外考虑到游戏挺简单的,就没有设置悔棋的相关模块。

3.1.2 游戏介绍

该游戏是简单的双人五子棋,所实现的功能是能够显示欢迎界面,选择是否进行游戏,进入游戏界面以后,玩家开始下棋。玩家输入坐标则会在棋盘上显示棋子,(若是输入的坐标超出棋盘或者该位子已经有子则会提示玩家重新输入坐标位子),若输入<0,0>则退出游戏。

3.2重点模块说明

3.2.1 棋盘界面Showboard()

出现棋盘的界面,对棋盘上每一个点进行定位,并在棋盘上显示相关的信息。相关代码如下:

int Showboard()//棋盘界面

{

system("CLS");

cout << " ";

for(int s=1;s<=16;s++)

{

if(s>=10) cout << s-10 << " ";

else cout << s << " ";

}

cout << endl;

for(i=0;i<16;i++)

{

printf("%2d",i+1);

for(j=0;j<16;j++)

cout << map[i][j];

if(i==6) cout << "退出:输入: 0 0 ";

if(i==8) cout << "步数(Step):" << Step;

if(i==12) cout << "制作人:吴忆芸余迎香。";

if(i==14) cout << "请输入棋子的纵坐标、横坐标下子!" ;

cout << endl;

}

return(1);

}

3.2.2下棋Play()

在这个小游戏中,黑方先下棋,然后可以轮流进行。而在Play()这个函数中会调用各个函数,如最初的欢迎界面Interface(),每颗棋子的保存CopyB(),判断棋子的位子是否合法bool legal() bool Overflow(),判断同色五颗棋子是否连成一条线judgewin()

相关代码如下:

int Play()

{

char a0[3]="◇";

char a1[3]="●";

相关文档
最新文档