一种简单判断五子棋胜负的方式

我们将五子棋的棋盘用二维字符数组来进行表示,如何在其中一方下完棋之后判断场上的胜负呢?

五子棋盘用空格表示空位置,用字符*和#表示玩家,判断模块使用函数:

char if_win(char board[ROW][COL], int row, int col, int WIN);

这里提供了一种简单的遍历算法:

这是一个棋盘

 判断胜负的方式有两种情况:

1,判断方式

这个棋盘是一个14*14的正方形,将棋盘数据用宏定义常量来存储,同时存下胜利需要的连珠个数

#define ROW 14
#define COL 14
#define WIN 5

以从左向右判断为例:定义一个变量flag=1

如果这个位置和右侧的子相同且不为空,就把flag的值加1。如果不符合上面的条件,就将flag设为1;flag值到了胜利条件:检测到连珠成立,则返回这个位置的字符,表明胜方,结束判断过程。不符合,一行检测完之后,换到下一行,继续检测,遍历所有的行。

flag1 = 1;
		for (int b = 0; b < row-1; b++)
		{
			if ((board[b][a] == boar
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值