三子棋思路分析

棋盘样式为 :

  

根据之前做的猜数字游戏,可以知道用 do.while循环

标题2:main函数:

最基本的思路如下:

 

标题2:game函数

 接下来完成game那块

1.要下哪一块,它的横纵坐标可知用二维数组 

2.令人下的棋子为字符*,电脑下的为字符#,数组类型为字符型

 

 test.c,game.c引用头文件的话,那么直接在game.h内引用#include<stdio.h>,如下

 

 

标题3:打印和初始化棋盘

 然后是对棋盘的打印

从行看:   |   |   三个空格,一个竖线循环 ,除了最后一列没有竖线

---|---|---  三个---,一个竖线循环,除了最后一列没有竖线

我们发现,第一行竖杠前又三个空格,有人说\0打印出来也看不见,我们来试一下

代码如下:

 

 注意,我们发现第一行竖杠前就两个空格的距离

原因是我们这里初始化为0,没有占用位置

最简单的方法就是遍历数组,把它初始化为空格

 

 我们发现,最后一行不需要---|---|---

 

 如果把棋盘改成10*10的

 原因是我们的列没有改,一直为3列

 

标题4:玩家下棋

 接下来就是玩家下棋 为了更简单,我们把它改成3*3

我们要考虑几点:

1.玩家选的坐标超出了范围,若超出范围,重新输入,即需要用到while循环

2.玩家选的坐标已经被占用

3.玩家输入的坐标是从1开始的

 

 

 标题5:电脑下棋

因为是随机性,就要用到rand,srand函数(不理解可看1-100猜数字游戏,里面详细介绍了它们)

 

 标题6:判断输赢

 结局有以下可能性:

1.玩家赢 返回 *

2.电脑赢 返回 #

3.平局 返回 Q

4.继续游戏  返回  C

 

 

 

 

 

当前函数写死了 不能动态判断三个元素是否相等。。目前没有拓展 

标题7:结果

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值