五子棋初级阶段

下面是我学习一个月C语言写的五子棋代码,恭请大佬有错纠正,无错优化,谢谢!

 

相信五子棋大家都会玩,规则大家懂得都懂,那么怎么用代码实现呢,其实也不是很难,下面我用我认为比较简单的说一下。

首先我们些一个简易的界面:

如下图:1a65c9f220ac4710ae46b0128f230a3c.png

 然后就是五子棋简单的逻辑:

  ①选择菜单里面序号;

  ②选择后,就是功能写入,功能主要有棋盘设置,玩家下棋,电脑下棋和输赢判断,这几个主要流程。

看一下主体框架:

ee1137f6b0954ea0b94c7ec475d6dc32.png

其实这个不是很复杂 。

 

棋盘我们就打印简单点:

5741969807f2403c906c004a96623333.png

 本来想把竖行的坐标打印了多少,好像忘了😓

具体代码详细过程:

126606b54062456eb84fed84002035c3.png

在上面这个主体里其实最重要的是 game这个函数

实现了棋盘打印,玩家和电脑的下棋操作。

91fb0dd1a46245f8b05ea76c70df018e.png

 然后让我们看一下我们玩家怎么下棋吧!

就是通过输入坐标(x,y)来下,有点慢有点原始

但是就这点实力呀😭

178025fb34a844379324efb8c83efb81.png

 这个首先打印一下棋盘,然后玩家下完,判断一下玩家是否胜利,其实我感觉可以加一个条件,别人下棋的次数小于🖐🏻五不用判断,因为是五子棋。好了然后电脑下,再重复前面的判断。然后这里我设了ret主要想用它的返回值判断玩家还是电脑胜利。

 

电脑🖥️下棋就更简单了,随机下。

用srand生成的随机种子来下。(你玩了以后感觉电脑想**)所以想请大佬改一改电脑这一块。🤩

cbdb06949f654c9b95785cffb6bf28f5.png

 

好了,我们来看一下我感觉最复杂的判断胜利的代码:

316ac81e74d74aa5bf9eae5dbc863710.png

 然后这个我本来感觉应该先判断一下棋盘的格子是否被下↓了,所以➕了循环🔁,因为我后面➕了arr!=空格。然后就是横向判断遍历数组,纵向判断,再遍历,再左斜,右斜(要注意防止出界)

如果进入了一个if,那么就返回这个符号,判断谁Win,然后还需要判断棋盘是否满了。

9c7e0192e050465c823ad14e3e88033f.png

 到这里其实基本就完了。

我感觉把头文件放到这里比较方便

37be6c36c71b4638b47092a776fc9578.png

然后如果想改变棋盘大小可以该define后面数字🔢

6c9e12be7a69441e9e870885d08da5b7.png 

然后想让界面更好看可以用easyX美化:

https://easyx.cn/

8f91e3561eb4486a8dbbacf3850f5515.png

 

 到这里就是我✍🏻写这个五子棋的所有了。

仅供参考,勿喷,谢谢

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值