【C语言】三子棋游戏实现代码
���录
1.三子棋代码功能介绍
2.三子棋游戏实现步骤
①打印菜单栏
②判断是否进入三子棋游戏
③三子棋游戏基本函数实现
(1)清空(初始化)棋盘函数实现
(2)打印棋盘函数实现
(3)玩家下棋函数实现
(4)电脑下棋函数实现
(5)判断输赢函数
(6)判断平局函数
④整个游戏算法实现(实现逻辑)
3.三子棋游戏完整代码实现
①game.h头文件
②progress.c源文件
③game.c源文件
4.结语
1.三子棋代码功能介绍
①用坐标代替点位来下棋
②与电脑进行对局
③输赢的判断
2.三子棋游戏实现步骤
①打印菜单栏
void menu()//打印三子棋菜单栏 { printf("*************************\n"); printf("*******THREECHESS********\n"); printf("#####1.PLAY 0.EXIT#####\n"); printf("*************************\n"); }
②判断是否进入三子棋游戏
通过scanf函数来获取用户输入;
再使用switch语句来判断是否进入或退出三子棋游戏;
void progress()//判断是否进入游戏 { int input = 0; do { menu(); printf("请输入>:"); scanf_s("%d", &input); switch (input) { case 1://如果用户输入1就进入游戏 printf("进入游戏\n"); game();//三子棋游戏实现函数 printf("\n\n\n");//打印空行使得排版更好看 break; case 0: printf("退出游戏\n"); break; default://输入不为1或0的情况处理 printf("输入错误\n"); break; } } while (input);//如果input不为0则一直进入循环判断是否进入三子棋 }
如图所示:
③三子棋游戏基本函数实现
注:首先要知道我们用二维字符数组(char board[ROW][COL])来抽象实现三子棋;
ROW,COL宏定义为3;
col,rol传给函数的内容也是3;
(1)清空(初始化)棋盘函数实现
初始化棋盘实际就是将二维数组的各个元素全都初始化为空格,用嵌套for循环来实现
void InitBoard(char board[ROW][COL], int row, int col)//初始化棋盘,这里ROW,COL是宏定义值是3 { int i = 0; int j = 0; for (i = 0; i(2)打印棋盘函数实现
类似于初始化棋盘函数打印棋盘函数也使用嵌套的for循环语句;
并借用键盘上的字符‘|’和‘-’来分割棋盘形状
void DisPlayBoard(char board[ROW][COL], int row, int col)//打印棋盘,ROW,COL宏定义为3,col, //rol传的内容也是3 { int i = 0; int j = 0; for (i = 0; i运行结果如下:
(3)玩家下棋函数实现
注:玩家下棋用‘*’, 电脑下棋用‘#’;
要用if语句判断玩家输入的坐标是否在3*3棋盘内;
还要用if语句判断玩家输入的坐标是否被占用(是否已经下过);
void PlayerMove(char board[ROW][COL], int row, int col)//玩家下棋 { int x = 0; int y = 0; printf("\n玩家下棋>>");//提示玩家下棋 while (1)//如果输入坐标不正确就多次输入 { printf("\n请输入坐标:\n"); scanf("%d%d", &x, &y); if (x > 0 && x 0 && y = 0,i 0 && x 0 && y = 0,i
The End