用c语言实现简单的三子棋游戏

这是我的第一个超过两百行的代码,虽然其中的知识都是最基本的函数调用和选择循环结构,但是对于我一个大一刚刚接触c语言的菜鸟来说的确值得纪念。

整体的结构被分为菜单和游戏主体,其中菜单就是控制游戏开始的结束的,这里主要讲解游戏主体

游戏主体由“棋盘的初始化打印”、“玩家下棋”、“电脑下棋”、“判断输赢”、“判断平局”这几部分组成。

函数主体是一个死循环,不断进行着“玩家下棋---判断输赢或平局---打印棋盘---电脑下棋---判断输赢或平局---打印棋盘”的循环,直到通过判断函数里的break来跳出循环。

棋盘初始化打印利用了二维数组,循环和选择结构,通过控制宏定义的大小来规定棋盘的大小。

2.玩家下棋,重点在于坐标选择是否与已下棋子坐标冲突,若发生冲突则需要重新输入坐标。

3.电脑下棋,我们需要用到电脑来产生随机数,再利用和之前一样的判断来确定棋子是否冲突,若冲突,则需要重新下棋。

 4.判断输赢和平局,这是没有任何技术含量的东西了,只能写出所有的情况来判断输赢,再根据函数的返回值来确定玩家是否获胜,连循环都没有用到。

注意事项:

1.在电脑下棋里面如果电脑下的棋被占用了需要重新下棋,则需要一个循环来进行,这个循环最好不要将随机数的初始化包含进去,否则电脑将会下的很慢。

2.记得在棋盘打印的函数里面加上system("cls"),这样可以避免多次的棋盘打印充斥着整个界面。

不足:电脑下棋是随机的,没有通过算法使其变得更加智能,下一步智能化还需要更多的代码来进行。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值