三连珠-C++

  • 格式:doc
  • 大小:125.00 KB
  • 文档页数:4

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.结果统计