c语言-五子棋实现

一.游戏简介

五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。
棋具与围棋通用,起源于中国上古时代的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区,是世界上最古老的棋。

容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。已在各个游戏平台有应用。
c语言-五子棋实现_第1张图片

二.游戏的实现

实现本游戏有3个文件。test.c进行游戏逻辑的测试。game.h自定义头文件。
game.c游戏功能的实现。

三.玩法详解

1.最基本逻辑的实现

void test()
{
   
	 srand((unsigned int)time(NULL));
	int input = 0;
	
	
	do
	{
   
		menu();
		printf("请输入你想选择的选项\n");
		
		
		scanf("%d", &input);
		switch (input)
		{
   
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("输入错误请重新输入\n");
			break;
		}

	} while (input);
}
int main()
{
    
	
	test();
	
	
	return 0;
}

2.打印菜单

void menu()
{
   
	printf("*********************************\n");
	printf("*****  1.play    ****************\n");
	printf("*****  0.exit    ****************\n");
	printf("*********************************\n");
}

3.棋盘初始化

void Initialize(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] = ' ';
			}
		}
	
}

4.棋盘的打印

void PrintBoard(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");
		}
	}

}

5.玩家下棋

void Play_move(char board[ROW][COL], int row, int col)
{
   
	printf("玩家下棋\n");
	
	while (1)
	{
   
		printf("请输入坐标:");
		int x = 0;
		int y = 0;
		scanf("%d %d", &x, &y);
		if (x >= 1 && x <=

你可能感兴趣的:(c语言,c++,算法)