三连珠-C++

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

C++课程设计实验报告

姓名郑嵘学号912104210427 班级9121042104任课教师赵琦时间 4月20日 17:01—17:30

题目 2.2三连珠游戏评定难易级别 B

1.实验内容:

1.1 程序功能介绍

该程序是TICTACTOE游戏,棋盘为3×3,3个棋子连起来即为赢。输入参数时,若输入的数字超出边界或在已有的地方再输入,则提示出错,要求重新输入。

1.2 程序设计要求

(1)讲程序改写成类

(2)将棋盘扩充成4×4

(3)统计输赢结果并打印输出

(4)选作:使游戏更生动。(输赢条件相同)

2. 源程序结构流程框图与说明(含新增子函数的结构框图)

3. 基本数据结构

Cgobang 棋子类

包含成员如下:

private :

int FirstPlayer; //第一位玩家赢的次数

int SecongPlaer; //第二位玩家赢的次数

int Draws; //平局的次数

char board[4] //棋盘

public :

void PrintInfo(void) //输出游戏提示信息void Setcoord(int F,int S,int D,char B,int R,int C) void PrintBoard(void) //输出棋盘

void PromptTurnO(int&x, int&y) //选择'O'的玩家下棋

void PromptTurnX(int&x, int&y) //选择'X'的玩家下棋

void IfError(int&x, int&y) //如果玩家输入坐标

出错,则提示错误,重新输入int GetFull(int k) //判断棋盘是否落满棋盘

int Judge(char k) //判断是否连成一线,

是返回1,否返回0

void PrintStats(int F, int S, int D) //输出统计的胜

负信息

void ChoiceOfChar(char&choice) //询问用户是否再玩一局

4. 程序运行结果界面

图 1. 初始界面

图2. O赢棋

5. 课程设计遇到的技术问题与解决思路

问题1:怎样将if 语句改成for 循环语句?

解决办法:将3×3和4×4三子连成一线的各种情况都写出,利用数学归纳法总结出循环语句的条件。

问题2:如何在循环语句中直接用SportsOnBoard?(调试时出现错误)

解决办法:查找书本后知道可以将SportsOnBoard 定义为全局变量,解决了问题。

图3.结果统计

相关文档
最新文档