三子棋(C语言版)

简介: 三子棋(C语言版)

前言

三子棋是C语言里较为简单并且可以拿来练手的小项目,它的执行流程如下:

编写代码前的思考

在编写代码前,我们需要思考如何实现三子棋,大致的步骤是:

1.打印菜单栏,并使玩家选择开始游戏或者退出游戏

2.如若玩家选择开始游戏,实现棋盘的打印与数据的存储

3.玩家下棋位置的存储

4.电脑下棋位置的存储

5.判断游戏的输赢

了解了基本的操作流程,接下来就是代码的编写(将会按照思考的步骤编写代码)

三子棋代码的编写

1.菜单栏的打印与游戏前的准备

大致代码如下:

大致实现使玩家了解自己和电脑的棋子类型,并通过输入相应数字来操作

2.如若玩家选择开始游戏,实现棋盘的打印与数据的存储

大致代码如下:

我们需要创建一个二维数组来存储棋子的数据,并通过两个函数来实现初始化创建的二维数组和棋盘的打印。

注:ROW = 3 , COL = 3.(读者可先了解记住,下文会做解释)

二维数组的初始化

我们将其初始化为空格,简洁且美观。

打印棋盘

大致了解一下棋盘的样子

当然你也可以创建自己喜欢样子的棋盘,但暂且先以此为例

打印棋盘的代码实现

自此我们就实现了棋盘的打印与数据的存储

3.玩家下棋位置的存储

代码实现如下:

我们对玩家下棋的位置需要进行判断,并且需要判断是否可以存储棋子位置数据。

4.电脑下棋位置的存储

与玩家下棋代码实现思路类似,只不过电脑下棋不需要判断下棋位置是否可行,因为我们会将电脑的下棋位置控制在可放棋子的位置。

5.判断游戏的输赢

在每一步棋子被放置后都需进行判断游戏的继续进行或者结束,即是否已产生输赢或者平局

代码实现如下:

注:其中的PINGJU为判断是否为平局的函数,P / C继续看下文就可以了解

我们进行每一行的检索,每一列的检索,斜对角线的检索,如若有满足条件的情况则返回中间的值,并以中间的值来判断谁输谁赢,又判断了是否为平局。

最终我们会以返回的值来判断游戏最终的输赢

简单来讲就是通过返回的值最终判断游戏的输赢,而不是在函数中直接返回输赢的数据。(望读者了解)

总体的判断流程:

我们每一次落子后都需进行判断,并且落子为一个循环过程。

游戏实现过程的补充:

在上边的实现过程中我们可以发现代码的编写比较长,所以我们可以用一个.h文件来存放我们的所需头文件,用另一个.c文件来定义我们函数。

函数定义.c文件即上面三子棋实现过程中所写(此不在展示),这样将会使代码的编写更加的有条理。

总结

三子棋的实现流程用一句话概括即为:先准备,再下子,后判断。

相关文章
|
7月前
|
C语言
以c语言为基础实现的简易三子棋
以c语言为基础实现的简易三子棋
43 1
|
7月前
|
C语言
c语言简单三子棋
c语言简单三子棋
|
7月前
|
算法 C语言 C++
【C语言实战项目】三子棋游戏
【C语言实战项目】三子棋游戏
62 1
|
7月前
|
C语言
C语言之三子棋小游戏
C语言之三子棋小游戏
|
7月前
|
C语言
用c语言实现三子棋
用c语言实现三子棋
37 0
|
6月前
|
C语言
【海贼王编程冒险 - C语言海上篇】C语言如何实现简单的三子棋游戏?
【海贼王编程冒险 - C语言海上篇】C语言如何实现简单的三子棋游戏?
32 1
|
7月前
|
C语言
万字详解:C语言三子棋进阶 + N子棋递归动态判断输赢(二)
我们可以通过创建并定义符号常量NUMBER,来作为判断是否胜利的标准。如三子棋中,令NUMBER为3,则这八个方向中有任意一个方向达成3子连珠,则连珠的这个棋子所代表的玩家获胜。
84 1
|
7月前
|
算法 C语言 C++
万字详解:C语言三子棋进阶 + N子棋递归动态判断输赢(一)
三子棋游戏设计的核心是对二维数组的把握和运用。
99 1
|
7月前
|
编译器 C语言
【C语言入门小游戏】三子棋
【C语言入门小游戏】三子棋
59 0
【C语言入门小游戏】三子棋
|
7月前
|
C语言
【用C语言轻松搞定】三子棋(超详细教程)
【用C语言轻松搞定】三子棋(超详细教程)