【C语言】三子棋游戏实现代码

小明 2025-05-03 08:39:55 6

���录

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
微信