【C语言入门游戏】三子棋的实现———【保姆级教学】

目录

1、何为三子棋,三子棋的规则如何?

2、 游戏的整体框架

2.1 创建游戏菜单 

test.c 

game.h

​编辑

2.2 初始化棋盘 

game.c

2.3 打印棋盘

2.4 玩家下棋 

2.5 电脑下棋 

2.6 判断输赢

game.c

3、整个游戏代码


🌱🌱 到目前为止,初阶C语言已经学了一半,相信大家学完了选择循环,函数,数组,一直想找些题目来练练手,今天就让我们来实现一下三子棋。也当做是复习之前学过的内容。

1、何为三子棋,三子棋的规则如何?

三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利,而对方就算输了,但是三子棋在很多时候会出现和棋的局面。 

2、 游戏的整体框架

该游戏我们采用分模块去实现:

  • test.c  ----  测试游戏
  • game.h  ----  函数的声明
  • game.c  ----  游戏函数的实现

 

2.1 创建游戏菜单 

  • test.c 

首先肯定有main函数,做游戏时,main函数里面的东西尽量要少,因为是分模块写。

回到游戏设计本身,main函数里面包含一个test函数,这个test函数是通过你输入的值来进行菜单的选择,究竟是玩还是不玩,得看玩家自己。这里的选择采用switch。当然了,一个游戏的开始必然离开不了菜单,在此之前,还要打印menu函数。这里的开始整体逻辑与猜数字是一样的。猜数字我在之前的文章里写过,不熟悉的同学可以先去看看猜数字。下面放一下猜数字那篇博客的链接:http://t.csdn.cn/Z9JJD

#include <stdio.h>

void menu()
{
	printf("*********************\n");
	printf("*****  1.play   *****\n");
	printf("*****  0.exit   *****\n");
	printf("*********************\n");
}



void test()
{
	int input = 0;
	do
	{
		menu();
		
		printf("请输入:1/0->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("sanziqi\n");
			break;
		case 0:
			printf("退出游戏!\n");
			break;
		default:
			printf("重新选择!\n");
		}
	} while (input);
}


int main()
{
	test();
	return 0;
}

 接下来测试一下目前游戏代码是否能正常运行:

 我们目前发现游戏代码没有错误,下面只需在switch(1)里面放置game(),来实现游戏的基本逻辑。

接下来我们来到game()函数里面,写三子棋,肯定要先有棋盘,没有棋盘,游戏根本无法进行。这个棋盘(3*3)不就是我们学过的数组嘛。

  • game.h

这里在创建的过程中,数组的行列需要从game.h里面导入,由于后面的game.c也需要从game.h中导入。所以为了避免代码的冗余,我们直接将#include <stdio.h>直接放到game.h里面。这里选用宏定义,其实也是对这个游戏的优化,我们可以将他改成10*10。 

2.2 初始化棋盘 

有了棋盘之后,第一步是清空棋盘,

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值