C语言基础:三子棋

目录

一、总体思路

二、程序设计

1、菜单设计

效果展示

2、创建棋盘并初始化

3、打印棋盘

4、玩家落子

5、电脑落子

6、判断胜负判断游戏输赢:

三、结果演示

四、附录


一、总体思路

1.菜单界面选择开始或者退出游戏

2.创建棋盘并初始化

3.打印棋盘

4.玩家落子

5.判定胜负(输,赢,平局)

6.电脑落子(随机位置落子)

7.判定胜负

二、程序设计

1、菜单设计

开始游戏 1     退出游戏 0

效果展示

2、创建棋盘并初始化

棋盘创建

棋盘由3行3列的二维数组表示,类型为char

使用宏定义的原因:便于将来修改棋盘尺寸

棋盘初始化

用‘ ’表示棋盘空白区域

3、打印棋盘

 效果展示:

4、玩家落子

玩家通过输入坐标落子,玩家落子用’*’表示

落子条件:

1.棋盘范围内

2.空的地方

3.输入坐标不在棋盘范围内重新输入

5、电脑落子

电脑随机生成行列坐标,电脑落子用’#’表示

注意事项:

1.使用时间作为随机数种子,需要在主函数引用srand((unsigned int)time(NULL))确保是真的随机

2.随机坐标在棋盘范围内

6、判断胜负
判断游戏输赢:

        返回4种不同的状态

        玩家赢 - '*'

        电脑赢 - '#'

        平局 - 'Q'

        继续 - 'C'

判定胜利:

判定所有的行

判定所有的列

判定两条对角线

判断和棋

调用isFull函数。如果数组中有元素为’ ‘,棋盘还有空位置,返回0。如果全不为’ ',1,此时棋盘上没有空位置。如果棋盘满了但未分胜负,结果为和棋。

(由于初学C语言,设计了3*3的棋盘,所以用最简单的方式判断胜利)
 

三、结果演示

玩家胜利

平局

电脑胜利

四、附录

game.h

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值