C语言实现简单三子棋(c语言小白成长史)

        今天我们来通过C语言实现一个简单三子棋小游戏!

在我们开始写代码前,我们需要理清程序设计思路

1.首先,游戏都需要的菜单页,这个非常简单,在主函数里面printf就可以

2.写出一个整体程序框架

如下图,使用do,while循环语句判断用户输入的选项(PS:while(input)就可以很好的实现用户输入非0时的循环效果)

 

3.上图中的game函数就是我们游戏实现的具体过程,接下来开始game函数的设计

(1)写一个row行col列的二维数组并将它初始化

(2)利用for循环嵌套将棋盘打印出来(在五行代码中实现)

 (3)下面就开始游戏了,玩家优先下

这里我们需要注意的几个点:

1.玩家的思维总是从1开始,而我们的数组第一位的下标为0,所以在写的时候出于用户角度考虑,我们(-1)

2.判断坐标是否合理,当用户输入的坐标超出棋盘行列值,则提示坐标非法,并重新输入

3.在坐标合法的前提下,还要判断该位置是否已经被占据

 

(4)接着是电脑下

思路:电脑随机生成一个合法坐标,且快速判断是否被占据,若被占据则重新生成

srand((unsigned int)time(NULL));//此行为生成随机数的提前定义

 (5)最后一步,用户或电脑每下一步都需判断是否三子连摆,我们在这步写上一个Iswin()的函数,在游戏的每个过程后加入判断,判断应为四种结果并分别用函数返回值(玩家赢(*),电脑赢(#),继续下(c),平局(o))

首先判断横竖对角线是否三连 

其次判断是否平局(即棋盘是否下满)

用一次for嵌套循环判断

若判断为不需要继续,直接跳出游戏下棋循环,根据不同返回值分别为三种情况说明

4.由此,我们的三子棋程序思路就完成了

 仅作为初学经验分享给大家,如有需要改进的地方欢迎指正!

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值