三子棋或多子棋的代码编写
  5QIoR59Obp8L 2023年11月02日 56 0

三子棋或多子棋代码的编写一般是c语言入门的基础练习,而实现这个代码,大致可分为以下几个模块。

1.游戏逻辑的测试

2.游戏代码的实现

3.代码的声明

将代码分成几个模块可以更好的管理代码,不至于显得过于臃肿。

游戏的逻辑为玩家选择开始游戏,游戏开始运行,此时玩家或电脑选择下棋,当下完5步及以上时,需要判断是否游戏结束,游戏结束有2种可能,一方获胜或者是平局。

棋盘的实现为这个代码的难点:

可以通过用二维数组来进行棋盘的实现,数组需要用空格来初始化,来达到棋盘的效果,再用嵌套循环进行打印,代码如下:

void InitBoard(char board[ROW][COL], int row, int col)//初始化
{
	int i = 0;
	int j = 0;
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < col; j++)
		{
			board[i][j] = ' ';
		}
	}
}
oid DisplayBoard(char board[ROW][COL],int row, int col)//棋盘实现
{
	int i = 0;
	
	for (i = 0; i < row; i++)
	{
		//打印分割行
		//"   |   |   "
		int j = 0;
		for (j = 0; j < col; j++)
		{
			printf(" %c ", board[i][j]);
			if (j < col - 1)
				printf("|");
		}
		printf("\n");

		//"---|---|---"
		if (i < row - 1)//打印分割
		{
			int j = 0;
			for (j = 0; j < col ; j++)
			{
				printf("---");
				if (j < col - 1)
					printf("|");
			}
			printf("\n");
		}
	}
}

胜负判断:若是3*3的棋盘,无非3种结果——3条横连成一组,3条竖连成一组,两条对角线。

只需判断数组相应元素是否相等即可,同理,多子棋也是用此方法可实现。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论