栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言番外1】三子棋的实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言番外1】三子棋的实现

本篇文章主要以C语言中的二维数组为核心实现简单的三字棋。

 

一.游戏界面的实现

根据上次猜数字游戏的经验,我们可以继续采用switch case语句与do while语句联动来实现基本的游戏界面。

我们先引入menu()函数,来实现游戏画面。

 这里有一个细节,建议把play 设为数字1 exit设为数字0,具体为什么我到后面详细说

接着我们使用do while语句 结合switch语句嵌套

这里解释几个点

①input变量的设置,在这里我一开始引入的变量是x,这就是自己根深蒂固的不良习惯,设置变量要优先考虑有意义,像input就明显指示“哦,这是我要输入的值”

②switch(input) while(input) 

 ③switch语句外部有一个printf这个地方起到一个换行的作用防止出现重叠

 

 二.棋盘与棋子的实现

 为了便于模块化处理以及后续可能多次打印棋盘的考虑,我们先初始化数组接着再调用函数。

思考:此处为什么不直接char board[Wedth][Length]=" ";???

 这里批注一下:①Length Wedth 的解释

 ②这其实就是通过循环‘ ’装进数组里,记住是空格,而不是‘‘我们看一下如果是的情况

 1.棋子

棋子我们可以考虑用# *来充当棋子,这些字符可以储存在数组当中

2.棋盘

这是一个设计好的棋盘

黑圈圈的位置就是棋子的位置

现在我们开始实现这个设想

a.行的实现

从每行观察

 其实 1 2 3 完全可以通过循环实现

只不过在处理3的时候加入if语句,不打出“|” 接着换行。

 这样棋盘就实现了

三.游戏机制的实现

1. 玩家下棋(单独调用函数)

a.玩家输入坐标

 b.检查坐标是否合法

合法(是否出现数组越界?是否出现该位置已被占用?)

 c.合法之后进行落子

2.电脑下棋(单独调用函数)

a.电脑随机生成坐标(迫于水平原因,比较瑕疵的地方就是在于这里并没有实现智能)

b.检查坐标是否合法

c.落子

 3.多回合实现

 加入while循环,实现 玩家-->电脑-->玩家-->电脑...... 

4.每回合结束后添加检验机制(单独调用函数)

*-->玩家赢

#-->电脑赢

Q-->平局

C-->继续游戏

根据ret的结果来判定最后的结果

 

 

a.判断双方中的任意一方三个连成一条线后结束游戏

或者9个格子都被占满后结束游戏

4.最后呈现最终棋局

 

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1037059.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号