本次,将使用数组,函数等实现三子棋的游戏实现。
第一步:由棋盘的结构来看:
用来实现棋盘的数组是个二维数组,并且初始化数组的时候,里面存放的是空格。
第二步,创建棋盘。
从棋盘的结构来看,棋盘有两行三列的“---”和三行两列的"|",因此,在打印这些边界的时候,要注意好哪里不能打印,哪里需要打印。
第三步:开始下棋
使用' # '来代表玩家的棋子,使用’ * ‘来代表电脑的棋子。
1.首先是玩家下棋:由于对于玩家来说,玩家不一定能知道数组的下标是如何指定特定位置的,因此,输入的位置都是从1开始,所以在下棋子的时候,赋值时,需要减去一个一。
在下棋的时候,需要判断玩家输入的坐标,是否合法。
2.电脑下棋:对于电脑来说,需要找到一个空格,其次是随机下棋;
随机下棋,需要用到time的头文件以及rand的函数,这里的rand()%row,余上row后,就能保证位置都是在0到2,就好比如问你25点是几点?你会毫不犹豫地回答到1点,因为你下意识地将25余上24,这里也如此。
第四步:判断输赢:
判断输赢有四种情况:
①玩家赢 ②电脑赢 ③平局 ④谁都还没赢,继续。
而判断输赢,对于井字棋游戏来说,赢的方式是打横全是某方的棋子,打竖,对角线是某一方的棋子。因此,在这里,通过返回一个字符(玩家的 # 号 或者 电脑的 * 号 来判断谁赢)
其实这里有不少地方写死了,只能用于三子棋,不能四字伍字等等,但我会抓紧时间把它写出来,到时就不仅仅是三子棋,而是多字棋了。
完整代码如下:
gitee:https://gitee.com/jiejiejieming/tic-tac-toe-/tree/master