兄弟们,昨天是小年,相信大家都吃好喝好准备迎接新年了,我在这里先提前祝大家新的一年开开心心,健健康康,心有所想,事有所成。也希望自己在新的一年里能够不忘初心,脚踏实地的走下去,学下去,把编程进行到底。另外再许点实质性的心愿吧,哈哈。虽然我是个二次元码仔,但我也向往美好明天的风和自由。明年咱高低得整上一辆哈,缓解我作为骑手的尴尬。KTM天下第一!!!!!!
开始完成今天的学习吧!!!
一 :问题描述 用C语言来写一个简易的三子棋游戏。
二:实现流程
1.基本逻辑
向上一次实现猜数字游戏一样,先写一个基本游戏逻辑,开始游戏,退出游戏,重新开始
文章图片
从主函数 main() 开始
调用 test() 函数
用 test() 函数实现简易游戏逻辑
test() 函数内部调用 menu() 函数打印菜单
dowhile() 循环和 switc() 语句来实现简单的游戏逻辑
2.创建并初始化棋盘(初始化棋盘为空格)
把棋盘看成一个数组,创建数组char board[ROW][COL] = { 0 };
#define 定义数组的行和列为常变量,方便可随时更改棋盘大小
文章图片
包含的头文件
文章图片
文章图片
函数的声明和函数的定义分别在不同的源文件中实现,方便查找问题和看懂代码。
初始化棋盘
文章图片
打印棋盘
文章图片
我们看一下效果:
文章图片
3.玩家下棋(玩家落子用*表示)
棋盘有了,那我们就开始下棋把,有一点需要注意,我们看到的数组坐标是从零开始的,但是玩家只会觉得是从一开始的。如果坐标等于空格,那就证明这里没落子,我们可以下在这里。
文章图片
4.电脑下棋(电脑落子用 # 表示)
电脑下棋的话让他随机下,方法和猜数字游戏一样
文章图片
生成随机坐标,电脑就可以随机下了
文章图片
5.判断输赢
什么情况游戏结束
假设玩家赢了返回 * ,
假设电脑赢了返回 #
某一方只要三行三列都一样,两个对角线都一样就是赢了
平局返回 Q
棋盘上只要发现没有空格了,但是还是没有一方赢就是平局
继续返回 c
棋盘上只要还是有空格就继续下
文章图片
后面的话只需要把玩家下棋和电脑下棋写在while循环里,这样就可以你一步我一步的下棋了,只要达成某一方赢或者平局就跳出,这样就可以完成我们的三子棋游戏啦。
我们看一下最终的效果:
文章图片
【c语言|C语言初阶(用C语言来写简易三子棋)】
推荐阅读
- 大厂面试题|【2021Java后端面试题整理】JVM面试题+面经答案
- Matlab|matlab从无到有系列(三)(数值计算基础)
- 经典回溯算法(集合划分问题)
- 归并排序详解及应用
- leetcode|leetcode2068. 检查两个字符串是否几乎相等
- leetcode|leetcode242. 有效的字母异位词
- leetcode|leetcode1704. 判断字符串的两半是否相似
- Java面试|68道Redis面试题,20000字宝藏,赶紧收藏起来备用,2022年最新版
- Java基础总结|Java期末复习速成(四)