一个经典的小游戏
由圆圈和叉叉来决定胜负
直接干货走起
首先
创造一个可以供玩家选择的画面
此代码只需要用到打印关键词就可以实现,并且将其打包成一个函数。方便后续使用
由图中可以看出,给了玩家两个选择,1或者0,但也许还有第三种选择。
所以我们创造者也是需要考虑到的,所以根据选择需求,我们需要用到do..while循环来接收(input)玩家的选项,下图可参考
以上问题解决之后,就是游戏的完成了。
也就是完成 game() 这个函数
玩家由一进入game()
首先需要一个棋盘,这个棋盘需要用一个二维数组来进行制作
面积3x3 在game()添加以下代码
如果每一次都这样规定来使用,会显得非常的麻烦。何不直接将其统一规定
所以便可以另开一页来进行统一定义
创建game.h头文件
在里面进行添加 行ROW和列COL 并且全部定义3
创建棋盘 并将其放置在game.h文件进行声明
创建game.c源文件。
完善棋盘函数并将其放置在新建的game.c源文件里,记得将game.h头文件用include”game.h"包含
这样便完成了
完善玩家下棋
以坐标形式来进行下棋,例如 1 1 下在第一行第一个位置 2 2 则在第二行第二个位置。
依旧先在game.h先进行声明
后在game.c进行完善
这里的X-1和Y-1的原因是,一般来说,平常人的认知里,自然数是从1开始的
而C语言里都是从0开始的,所以想要正确的得到这个坐标,必须站在正常人的理解内去思考。
不然的话,这个游戏的坐标就是从0开始了
我们看看完善后的显示结果 玩家的下棋位置显示为 * 符号
接着完善电脑下棋,按照刚刚的逻辑,也是在game.h里进行声明,然后在game.c里进行函数的完善
这里运用了rand关键词,指的是随机选择一个数字,而不是根据玩家的选择进行对弈。
rand的头文件
以及通常使用随机数时会用到的time关键词以及头文件
将其写入到主函数里
srand((unsigned int)time(NULL))
观察显示结果 电脑下棋位置为 # 符号
判断输赢的规则 形成 横线 竖线 斜线 均可连城一条线的规则
就是在数组里下功夫,判断每一个位置是否存在完成这其中条件的玩家或者是电脑
并且对完成条件的给予反馈 玩家赢了就是返回 * 电脑则是 # 平局则是Q 否则游戏继续
最后整体归纳到主文件里
接着尝试游戏
至此,游戏完成,并没有涉及到很多的关键词,不过比较考研对所学习过的知识点的掌握
对于初学者来说,制作完成已是不易。
大家和我一起加油吧