井字棋游戏设计需求

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

C语言复习

●输入函数scanf,注意在scanf之前要调用fflush(stdin);函数

●输出函数printf以及打印格式

●循环语句for while

●判断分支语句if-else

●断点调试

井字棋游戏设计需求

1.建立一个控制台程序实现游戏;

2.建立如下的变量

char ChessBoard[3][3] = {0};

int nCurrentPlayer = 0; // 1代表1#玩家。2代表2#玩家

int nCurrentRow = -1; //当前输入的行

int nCurrentCol = -1; //当前输入的列

int nOneWin = 0; //1#玩家胜利数

int nTwoWin = 0; //2#玩家胜利数

int nDrawGame = 0; //和局

3.游戏一开始,输出“xxx班xx同学(学号xxxxxxxx)欢迎您使用井字棋游戏”。

4.新开始一局游戏,把棋盘的9个棋子全部清空为0.

5.屏幕提示当前是1#玩家或者2#玩家,两个玩家(分别定义为1#和2#)分别轮流通过键

盘输入放置棋子;

6.对键盘输入的正确错误进行判断,包括:

●输入的坐标是否越界?

●输入的坐标是否已经有棋子了?

●是否有一个玩家放置棋子后就连成一线而胜利?

●是否放满了9个棋子仍然没有玩家获胜?本局平局则为平局。

是否输入了退出游戏的命令?如果是,则再次询问确定是否要退出。

7.每一次轮到一个玩家输入前,先输出显示现在的棋盘上的棋子。

8.对胜局、平局进行统计。

9.胜利一局后,显示1#胜局数、2#胜局数,平局数。

10.胜利一局后,询问是否要继续开始新的一局。

11.AI预测。每轮到一个玩家落子,在显示完当前棋盘状态后且输入坐标前,预测该玩家

在(m,n)位置落子即可获胜。(选作)

12.程序注释,要求:

每一个变量的注释

每一个函数注释

每一个循环注释

每一个if-else分支语句注释

注释可以采用/* */ 或者// 来注释

13.不允许

不允许使用汉语拼音

不允许使用中文作为工程名、变量名、函数名

考核内容:

1.源代码,要求能运行出结果,有详细注释,逻辑清晰。工程名称以MyChessxxxx命名,

其中xxxx是自己的学号。

2.源代码程序第一行以注释的形式写上自己的学号、姓名、班级。

3.答辩成绩,最后一次课逐个答辩。

char ChessBoard[3][3] = {0};

int nCurrentPlayer = 1; // 1代表1#玩家。2代表2#玩家

int nCurrentRow = -1;

int nCurrentCol = -1;

int nOneWin = 0;

int nTwoWin = 0;

int nDrawGame = 0; //和局

//UINT nOne

void ClearChessBoard(); //把棋盘的9个棋子全部清空为0. void ShowChessBoard(); //显示9个棋子

void DoInput(); //获取键盘输入//bool可以改为int; bool IsOutRange( ); //检测是否越界

bool IsHasChess(); //检查当前位置是否已经有棋子了int WhoWin(); //检查谁获胜

bool IsFull(); //是否棋盘满了

bool IsExitCmd(); //是否是退出命令

void Statistics(int win); //统计胜败和

void SetNextPlayer(); //设置为下一个玩家

void Predict(); //预测

相关文档
最新文档