打印一个三子棋盘,玩家和电脑下棋,连城三个就算胜利。
创建test.c用来测试三子棋的逻辑
写一个menu()函数用来提示玩还是退出
写一个test()函数用来执行退出或是执行.,在选择执行的菜单下面创建游戏函数 用一个3*3大小的数组char board存放数据,用空格初始化数组内容, 创建一个函数专门初始化数组. InitBoard().
函数的参数声明和定义应该写成这样 InitBoard( char board[ROW][COL],int row, int col);有引号
函数在主函数里的样子 Initboard(board, ROW, COL);
创建game.c 完成对游戏的实现, 创建game.h存放函数的声明,符号的头文件等.
game.h放函数的声明,例如test.c中有一个函数叫 InitBoard(),那么在game.h中就可以声明 void Initboard(char board[3][3], int fow, int col); 在game.c中直接使用这个函数,使用循环将board的3个空间都初始化为空格.
在头文件game.h中直接定义ROW为3,COL也为3,这样今后只需要更改这两个定义的数字就可以改变棋盘.#define ROW 3,若test.c想要用game.h的声明和定义,需要在开始写出#include "game.h"
测试棋盘打印效果,在game()中写入打印棋盘的函数DisplayBoard(board, ROW, COL); 函数声明放在game.h, 函数本身放在game.c 用循环打印出这个3*3的数组.如果报错说少头文件,那么在game.h 中写入 #include<stdio.h>, game.c引用头文件#include "game.h" ,game.c 就可以使用头文件game.h中所有东西.
此时打印出来的是九个空格,我们要设计棋盘,一行数据要打印竖着的分割线和下面发分割行,最后一行不需要打印下面的分割行 ,假如我们想只修改ROW和COL就改变格子数量,就把每个小格子作为最小单位按行用循环打印出来,分行的---也用循环写出.
此时棋盘已经规划好.
开始下棋
玩家先下的函数player_move(board,ROW,COL);在提示玩家下棋后,要求玩家输入坐标,坐标的范围应该是1到3. 假如要下的格子是空格,则下棋,否则提示重新输入
现在是电脑下棋随机落子,