超详细C语言三子棋游戏代码操作详解,看完一定能懂

大家好, 相信大家小时候都和同桌下过三子棋,在一个九宫格内有一方如果横三、竖三、斜三有一个满足都是自己的旗子的话就获胜,今天,树哥教大家用代码的形式,写出属于自己的三子棋游戏,与自己的电脑来玩一把三子棋。

 

目录

“游戏的整体思路”

“游戏的整个算法实现”

             1、打印菜单

             2、初始化棋盘

             3、打印棋盘

             4、玩家下棋

             5、电脑下棋

             6、判断输赢

“最终的代码实现”

“总结”’


“游戏的整体思路”

首先,我们要创造三个文件,一个test.c文件用来测试我们的游戏内容,一个game.c文件用来存放我们写入的自定义函数,一个game.h用来给我们写的自定义函数进行声明。

test.c   ----   测试游戏内容

game.c -----  存放自定义函数

game.h -------- 对自定义函数进行声明


“游戏的整个算法实现”

1、打印菜单

当我们进入游戏的时候,首先应该打印我们的菜单界面,让玩家选择下棋或是不下,选择下棋则进入游戏,否则退出游戏

代码实现:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//游戏整个算法实现
void game()
{
	printf("玩游戏.\n");
}
//菜单函数
void menu()
{
	printf("************************\n");
	printf("** 1.play     0.exit  **\n");
	printf("************************\n");
}
void test()
{
	int input = 0;
	do
	{
		menu();
		printf("请输入:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			//输入1,进入游戏
			game();
			break;
			//输入0,退出游戏
		case 0:
			printf("退出游戏。\n");
			break;
			//输入其他值,输入非法,请重新输入
		default:
			printf("输入非法,请重新输入。\n");
			break;
		}
	} while (input);
}
int main()
{
	test();
	return 0;
}

 结果展示:


2、初始化棋盘

此时,我们 已经将菜单打印好了,现在,我们要定义一个二维数组(board [ROW] [COL]),用来表示 我们九宫格内每个棋子的落子位置,ROW代表棋盘的行数,COL代表棋盘的列数,由于后面我们会重复用到棋盘的行数和列数,不妨直接定义

#define ROW 3

#define COL  3  之后需要行和列时直接用ROW于COL来表示即可。注意:定义放在game.h中,这样避免重复定义,需要用到行、列是在头文件中引用“game.h”即可。

定义InitBoard(board, ROW, COL)函数来实现棋盘数组的初始化。

代码实现:

game.h中的代码:

#define _CRT_SECURE_NO_WARNINGS 1
#define ROW 3
#define COL 3



//函数声明
void InitBoard(char board[ROW][COL], int row, int col);

game.c中的代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include "game.h"

//初始化棋盘数组
void InitBoard(char board[ROW][COL], int row, int col)
{
	int i = 0;
	int j = 0;
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < col; j++)
		{
			board[i][j] = ' ';
		}
	}
}

test.c中的代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include "game.h"
//游戏整个算法实现
void game()
{
	//数组存放走出的棋盘信息
	char board[ROW][COL] = { 0 };
	//初始化棋盘
	InitBoard(board, ROW, COL);
}
//菜单函数
void menu()
{
	printf("************************\n");
	printf("** 1.play     0.exit  **\n");
	printf("************************\n");
}
void test()
{
	int input = 0;
	do
	{
		menu();
		printf("请输入:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			//输入1,进入游戏
			game();
			break;
			//输入0,退出游戏
		case 0:
			printf("退出游戏。\n");
			break;
			//输入其他值,输入非法,请重新输入
		default:
			printf("输入非法,请重新输入。\n");
			break;
		}
	} while (input);
}
int main()
{
	test();
	return 0;
}

3、打印棋盘

现在,棋盘数组的初始化已经完成了,接下来,我们需要玩家在输入1也就是选择玩游戏是,将我们的棋盘打印在屏幕上,让玩家看见。

定义DisplayBoard(board, ROW, COL)来打印棋盘。

代码实现:

game.h中的代码:

#define _CRT_SECURE_NO_WARNINGS 1
#define ROW 3
#define COL 3



//函数声明
void InitBoard(char board[ROW][COL], int row, int col);
void DisplayBoard(char board[ROW][COL], int row, int col);

game.c中的代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include "game.h"

//初始化棋盘数组
void InitBoard(char
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值