前言
想必大家小的时候一定喜欢在纸上玩三子棋的游戏,随着我们的长大,我们可以通过自己的知识写一个程序来与电脑进行游戏!想学习嘛!往下来看看吧!
编程的方式
1.该部分的内容涵盖程序较多,如果把所有的游戏函数和源代码全放在test.c里面,会很难组织我们的代码,以及当代码出现问题的时候我们很难去发现或者去进行改正。
2.当覆盖较广,我的建议是进行模块化编程,有利于代码的实现和代码的可关性。
游戏准备阶段的思路
1.进入游戏选择菜单进行游戏或者退出游戏,玩完一把游戏不够接着再玩一把。
2.初始化棋盘
3.打印棋盘
4.玩家下棋(玩家输入行和列落子,还要打印棋盘!)
5.电脑下棋(与玩家下棋的方式一样,也要打印棋盘!)
6.判断胜负(分别是玩家赢,电脑赢,平局)
游戏的实现
1.写程序打印菜单页面
2.用while循环实现玩一把不够想接着玩,当不想玩的时候退出游戏
详解:初始化input,输入input=1时进入游戏直到不想玩游戏输入0退出游戏
3.初始化棋盘
当我们做游戏代码的时候,运用多模块代码,创建一个game.c文件,把游戏的源代码放入game.c文件里Ⅰ棋盘由数组开始实现,我们可以将行和列用#define定义,这样提高了我们写程序的效率,通过改变宏定义实现多子棋
Ⅱ 初始化棋盘里面放的是空格 在我们写程序的过程是也应该输入 “ ”
4.打印棋盘
最终打印出如下图
由此我们的游戏已经完成了三分之一了,打印了菜单,初始化打印棋盘,如下图
5.我们编写代码实现玩家输入行和列进行落子“*”,在编写玩家操作的时候我们也应该要有个思路
Ⅰ.玩家落子,当多次下棋后,坐标被占用怎么办!
Ⅱ .玩三子棋游戏,玩家肯定不是只下一次棋,我们是否需要用到循环来实现多次落子
当我们有这个思路的时候我们就有足够的把握完成这次代码了!
6.电脑操作
电脑开始操作,电脑实现的是随机落子,我们可以使用srand((unsigned)time(NULL))函数实现电脑随机下棋,并在主函数中写一次即可,但要注意包含头文件***#include<time.h>***
7.判断游戏的胜负
玩家赢了 —— ‘*’
电脑赢了 —— ‘#’
平局的话 —— ‘C’
继续的话——‘ Q’
这里调用了Isfull函数来判断是否是平局
这样我们的游戏代码大部分都成功啦
模块化代码如下
test.c
game.h
game.c
结尾
希望这篇博客能够帮助到你理解,如果您通过本文更好的了解了三子棋的实现,请给博主一个一键三连吧!谢谢各位!