C语言函数编写三子棋

 如果我们想要编写这样一个三子棋的小程序,那么我们就得首先在脑海中构建一个大概的框架。

目录

1.设计菜单选项,供用户选择。

2.创建二维数组,并且初始化。

3.打印棋盘。

4玩家和电脑博弈。

5.判断输赢。


1.设计菜单选项,供用户选择。

首先我们至少要让选项出现一次,而且玩家玩完了一次可以继续选择,那么最好的选择就是

do-while语句

while(i)//当输入结果为0,表达式为假,则退出循环,当非0,为真,再次进入循环。

 执行结果:

 

2.创建二维数组,并且初始化。

三子棋是3*3的格子,故创建三行三列的二维数组,并且全部初始化成空格,以便确定好位置,可供后续的下棋操作执行。并且分装在game()函数中,否则全放在主函数就显得太满。

#define定义常量

初始化在函数进行(函数可供嵌套调用)

3.打印棋盘。

我们知道三子棋的棋盘也就是井字:

如果暴力操作也是可以的,但不提倡,我们知道二维数组的打印是要用到两个循环,这里是否给到你提示呢,同样也是三行三列的棋盘,也可以按照行循环和列循环进行咯。 

 

4玩家和电脑博弈。

下棋肯定是一方下一次,直到有人赢了就停止嘛,所以就可以循环进行。

并且一方落完子肯定是再打印一下棋盘好观看棋子的落处,所以每一方下完棋就要打印棋盘。

 那么接下来就看看玩家是如何下棋的,提醒一点:玩家不一定是程序员,可不知道数组,更不知道数组从第0行开始的。

 电脑下棋就比较随意了,此时调用随机数:

 

 

5.判断输赢。

每一方下完棋子还得判断输赢的,所以判断结果对于玩家来说肯定是赢,输,平局三种结果:

 

 不知道你是否疑问,为什么我设置的返回值是玩家棋子的样式?

:因为这样设置可以很大的减轻代码量,例如赢是一种情况同时也分为两种1.玩家赢2.电脑        赢。所以直接设置返回值的样式就可以省略这一点。

所以从这我们应该可以学到,函数可以实现将一个难的问题封装成一个个小的问题,并逐一实现。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高居沉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值