三字棋的实现

基本要求

0.显示一个游戏选择

1.游戏玩完一把要再玩一把。

2.我们去实现一个gameplay的一个函数去整合我们的游戏函数内容.

3.棋盘需要被初始化。

4.初始化之后要打印展示出来,并以空格的形式。

5.进行人机交互的互相下棋。

6.人或者机器下完之后显示下棋的这个结果.

7.判断此时人或者机器是否获胜,并且是谁获胜,或者平局,再或者没有获胜和平局的情况继续下棋.

0.显示一个游戏选择

三字棋的实现_第1张图片

 1.游戏玩完一把要再玩一把。

三字棋的实现_第2张图片

首先定义一个字符型的二维数组.不初始化.二维数组的行和列通过实现一个game.h去定义并实现相关的游戏函数.

1.游戏一定要进入一次,使用do while  循环  ,并且通过输入数字去选择是否玩游戏,通过switch开关语句去实现.

2.我们去实现一个gameplay的一个函数去整合我们的游戏函数内容.

三字棋的实现_第3张图片

三字棋的实现_第4张图片

 这些函数会在下面一一解释!

3.棋盘需要被初始化

如何进行初始化?初始化成什么样的内容才便利于去展示我们棋盘的内容?

这是我们的game.h的这个文件,这是一个声明部分.

三字棋的实现_第5张图片

如何进行初始化?

通过两个for循环去初始化我们的二维数组

初始化成什么样的内容才便利于去展示我们棋盘的内容?

初始化成空格有利于去展示我们的初始化之后的棋盘.

三字棋的实现_第6张图片

 4.初始化之后要打印展示出来。

三字棋的实现_第7张图片

 打印棋盘这一功能使用的是比较多的为什么呢?

1.展示初始化棋盘之后什么都没有的样子.有利于玩家去输入坐标的.

2,每次机器和玩家输入过下棋的位置之后去展示我们棋盘的一个现在的状态有利于我们的观察的.

三字棋的实现_第8张图片

我们想要一种这样的状态

 %c | %c | %c 

   ---|------|-----

这样的三个数据和分割线,去拼接实现键盘的一个展示!

结果如图所示!

三字棋的实现_第9张图片

注意这里有一些问题会出现比如说||这个东西不会对齐,有可能是因为你的数组初始化的不完全!

 下图的这个地方出现了问题,可以自己看一看!三字棋的实现_第10张图片

5.进行人机交互的互相下棋   and6 人或者机器下完之后显示下棋的这个结果.

首先需要清楚的是每一次下棋玩家和电脑,玩家先下棋,电脑再下棋,并且这样的一个过程应该是一个循环的过程,只有这样才能够保证一个回和制.并且每次下完棋之后就去判断这个是否输赢之后介绍

三字棋的实现_第11张图片

 三字棋的实现_第12张图片

三字棋的实现_第13张图片

三字棋的实现_第14张图片

三字棋的实现_第15张图片

 三字棋的实现_第16张图片

 三字棋的实现_第17张图片

 7.判断此时人或者机器是否获胜,并且是谁获胜,或者平局,再或者没有获胜和平局的情况继续下棋.

三字棋的实现_第18张图片

 这个是iswin中判断是否平局和继续的一个函数!

三字棋的实现_第19张图片

这个函数如果返回的是1,说明在二维数组中所有的位置都不是空格了且没有玩家或者电脑获胜和没有继续的情况.return 0   是继续的一个情况!

三字棋的实现_第20张图片

 就是说ISFull这个函数返回不是1的数值就不会在iswin中返回Q,也就会在iswin   中返回   'C'  

因为

三字棋的实现_第21张图片

玩家赢或者电脑赢我们都返回对应电脑或者人的下棋的一个字符!

三字棋的实现_第22张图片

三字棋的实现_第23张图片

三字棋的实现_第24张图片

 三字棋的实现_第25张图片

你可能感兴趣的:(算法,html,前端)