三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。但是,有很多时候会出现和棋的情况。

使用C语言代码来完成三子棋首先我们需要建立三个文件,分别是两个源文件test.c、game.c,和一个头文件game.h。

然后我们需要在test.c里面建立游戏需要的目录。

菜单建立完,我们需要建立主函数,来让游戏的选项可以运行起来。

还需要建立棋盘。

需要在game.c里面建立棋盘和打印棋盘。

打印分割信息里面之所以使用row-1,和col-1是因为这样子打印棋盘底下不会多一行出来,而且以后打印其他格式的棋盘都没有影响,不会导致棋盘错乱。

在game.h里面把test.c和game.c需要引用的函数声明也创建,这样test.c和game.h需要使用的时候直接引用game.h就可以了。

行使用row,列使用col是为了方便以后修改棋盘大小方便而创立的。

棋盘打印完成需要让玩家和电脑可以下棋,并且可以判断输赢。在test.c里面创建下图函数。

使用while循环是因为下棋是一个循环的过程。

同时game.h需要创建下图函数。

game.c里面对上图两个函数进行补充内容。

下棋需要保证落子不重复以及没有落到棋盘外面。

规定玩家下的棋是“*”

电脑下棋是“#”

现在需要判断输赢以及棋盘下满出现平局。

下图是判断棋子是否下满了棋盘。

我们需要进行规定如何判断输赢,下棋无非四种结果:
1.玩家赢 - '*'
2.电脑赢 - '#'
3.平局 - 'Q'
4.继续 - 'c'

我们需要在game.c里面判断三子棋的输赢,三子棋的赢就是竖着三行连成一条线,横着三行连成一条线,斜着两条线连成一条。

char Iswin(char board[ROW][COL], int row, int col)
{int i = 0;for (i = 0; i < row; i++){if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][1] != ' '){return board[i][1];}}//行int j = 0;for (j = 0; j < col; j++){if (board[0][j] == board[1][j] && board[1][j] == board[2][j] && board[1][j] != ' '){return board[1][j];}}//列if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[1][1] != ' '){return board[1][1];}if (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[1][1] != ' '){return board[1][1];}//对角线if (IsFull(board, row, col)){return 'Q';}//没人赢,平局return 'C';//继续
}
//判断输赢

game.h里面也要创建函数。

test.c里面补完最后一点函数。

最后就可以得到三子棋了。

感谢各位大佬的观看。

最后夹杂一点个人私货,这是我个人在gitee的仓库,里面有三子棋的完整代码。

accumulation: 不积跬步,无以至千里。不积小流,无以成江海。

C语言新手入门练习之三子棋相关推荐

  1. java三子棋人机游戏_C语言编程入门游戏《三子棋》

    经过C语言初级阶段的系统学习,对基本C语言的知识有了一定的了解和认识,能够通过C语言编程解决一些简单的问题.本次完成一个简单的游戏<三子棋>. 游戏简介:常见的3x3棋盘,有两名游戏玩家, ...

  2. C语言自制小游戏:三子棋(井字棋)智能下棋补充

    目录 一.前期准备 二.逻辑与程序实现 1.连珠 ①横向连珠 ②纵向连珠 ③斜向连珠 ④函数完善 2.堵棋 ①横向堵棋 ②纵向堵棋 ③斜向堵棋 3.整理函数 ①整理AI_Computer函数 ②修改C ...

  3. 【C语言入门游戏】三子棋的实现———【保姆级教学】

    目录 1.何为三子棋,三子棋的规则如何? 2. 游戏的整体框架 2.1 创建游戏菜单 test.c game.h ​编辑 2.2 初始化棋盘 game.c 2.3 打印棋盘 2.4 玩家下棋 2.5 ...

  4. 【C语言】小游戏系列——三子棋(保姆级教程)

    我相信三子棋大家并不陌生,小时候经常玩,深受大家的喜欢.今天我们用c语言来编写一个简单的三子棋小游戏,在C语言的学习中,就应该用一些有趣的代码来激励我们,增加我们对编程的热爱.下面我来讲述如何去实现一 ...

  5. C语言人机大战之决战三子棋之巅

    文章目录 C语言人机大战之三子棋 一.游戏规则 二.游戏实现 (1)游戏界面 (2)游戏ing 初始化棋盘 打印棋盘 玩家落子 电脑落子 判断输赢 棋盘满否 三.代码总结 (1)game.h (2)t ...

  6. 利用C语言巧妙实现棋类游戏——三子棋

    小游戏:三子棋用C语言实现 你是否学完了C语言的函数.数组.选择结构.循环结构苦于没有实战小项目巩固自己所学的知识呢,今天小程序猿就给大家带来了一个游戏的小游戏--三子棋,利用C语言实现的,希望对大家 ...

  7. C语言实现“人工智障”三子棋

    文章目录 前言 一.成品展示 主界面展示: 二.实现步骤 1.初始化棋盘 2.打印棋盘 3.玩家电脑落子 4. 判断胜负 5.游戏逻辑实现 总结 前言 相信不少小伙伴在学校上的时候肯定都玩过三子棋吧, ...

  8. C语言一个小时实现简易三子棋,看看你能不能让愚蠢的电脑获胜,还不快上手试试吗(无AI算法)

    今天利用空余时间,便写一写三子棋的实现,可能很多人第一次看到这些东西,心里就会有一点害怕,可能会说:天呐,这得多难啊,我真的能写吗?那么回答是肯定的:能写,并且还很简单.那就让我们来看一看吧! 我们首 ...

  9. 《c语言小游戏》入门级三子棋游戏(机器人加强版)

    目录 打印界面 初始化数组的值 玩家下棋 判断是否胜利 电脑下棋 今天为大家带来的是一款非常简单的小游戏"三子棋" 首先规则很简单,一行或者一列或者正负对角线都为同子就赢了,管你听 ...

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

    本篇文章主要以C语言中的二维数组为核心实现简单的三字棋. 一.游戏界面的实现 根据上次猜数字游戏的经验,我们可以继续采用switch case语句与do while语句联动来实现基本的游戏界面. 我们 ...

最新文章

  1. Java线程详解(8)-线程的同步
  2. 三面腾讯,竟然挂在了JVM上…
  3. nyoj1121周期串
  4. [NOTE] SQL与sqlmap
  5. 使用手机测试、访问本地环境方法
  6. SAP Success factor自定义launchpad
  7. 基于javaEE技术的课程设计管理系统设计与实现
  8. 接口进阶 java 1614956772
  9. python uuid
  10. 以后装个云集群和云节点啥的太简单了(ubuntu)
  11. 2021-09-18
  12. 知识变现海哥:如何利用自己的时间和知识获得财富自由
  13. 跨域及处理跨域的三种方式
  14. bugkuCTF 乌云邀请码 write up【橘小白】
  15. python虚拟环境是什么意思_python的虚拟环境详解
  16. python的输入函数是什么意思_在Python中,用于获取用户输入的函数是
  17. 火山PC自绘高级表格及超级列表框
  18. 欧拉回路(混合图的欧拉回路)
  19. SAP应用在华登陆Windows Azure公有云
  20. 怎么给win10电脑设置每个月16号定时提醒

热门文章

  1. Python 词云图:wordcloud库的使用
  2. 看我七十二变-TC还能改包名哦
  3. 三菱PLC 定时器
  4. ENVI裁剪遥感图像
  5. EmmyLua Unity断点调试
  6. ENVI5.3 FLAASH大气校正报错
  7. windows下发文件到linux中文名乱码解决办法
  8. PHOTOSHOP中常用的四种抠图方法
  9. Semantic UI 之 下拉菜单 dropdown
  10. 7805和78l05可以代换吗_7805引脚图稳压