C语言*三子棋

您所在的位置:网站首页 在一个c程序中main函数必须出现在所有函数之前 C语言*三子棋

C语言*三子棋

2023-05-19 07:44| 来源: 网络整理| 查看: 265

前言 设计一个c语言写的三子棋代码编译环境:VS2022 的编译软件代码的存放:ghl.h(头文件存放游戏代码中涉及到的函数声明)、test.c(存放该游戏的主体运行代码)、t(存放游戏代码中函数涉及到的函数定义)游戏代码的组成部分: 游戏菜单棋盘打印玩家下棋电脑下棋判断输、赢、平局、继续 * 游戏菜单 先设计一个简单的游戏菜单页面代码如下: void input(void)//游戏菜单页面 { printf("*********************************\n"); printf("*********************************\n"); printf("********1.Play 0.Qult********\n"); printf("*********************************\n"); printf("*********************************\n"); } 运行结果:

这是一个很简单的菜单页面,但也达到了我的要求 * 棋盘的打印 我们需要设计一个3 x 3的棋盘,理想模型:  | | ---|---|--- | | ---|---|--- | |

首先讲一下他的组成部分主要有俩个

//第一个组成部分 | | //第二个组成部分 ---|---|--- 到这里我们可以看到,其实在这个棋盘的组成部分里面第一部分是出现了三次,而第二部分是出现了二次,所有在后面的的代码的编写的时候一定要注意这个小地方接下来就要写代码了,在这之前,我想带大家先捋一下思绪,

第一部分打印三次,第二部分打印二次,那么是不是就可以吧第二部分加在第一部分的循环打印里面,只要在次数上减一就好了

下棋,那肯定要落子,所以我们就把棋子的位置选在了,"---"中间上方的位置,所以也就是说,要在打印"   |   |   "时在其中加上棋子的位置,也就是" %c | %c | %c "为什么是"%c"呢?因为我选的玩家棋子是' * ',电脑棋子是'#'

可能到这里有人又要问了,那那那打印" %c | %c | %c "这个的话,那是不是还得有一个数组来存放那些字符,而且这个数组还必须是一个二维数组,不然他就不能一下子存下三行的字符,并且他存放的还必须是是空格

首先需要一个二维数组add[3][3]来存放三行的字符,并且还得给该数组初始化所有的元素都是空格,这里我们可以给Q W 定义一个值为3

#define Q 3 #define W 3 char add[Q][W]; //函数定义 shushisz (add, Q, W); //初始化数组 void chushisz (char add[Q][W], int x, int y) { int i; for (i = 0; i < y; i++) { int a; for (a = 0; a < x; a++) { add[i][a] = ' '; } } }  接下里看棋盘打印的代码: void dayingqp (add[Q][W], int x, int y) { int i; for (i = 3; i < 1; i--) { printf(" %c | %c | %c ", add[x - i][x - i], add[x - i][x - i + 1], add[x - i][x - i + 2]); if (i "); scanf("%d %d", &a, &b); //限制用户输入的值在合理的范围内 if (a >= 1 && a = 1 && b = 1 && a = 1 && b


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3