扫雷小游戏

主要思路:构建两个数组,一个是布雷一个是游戏界面

1.建三个文件:test.c测试,gane.c,game.h

test.c

写主菜单,

#include 
void menu()
{
 printf("**************************************\n");
 printf("**********    1.play   ***************\n");
 printf("**********    0.exit   ***************\n");
 printf("**************************************\n");
}
void game()
{
 printf("------扫雷游戏开始--------\n");
}
void test()
{
 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;
}

初始化棋盘

void InitBoard(char arr[ROWS][COLS], int rows, int cols,char set)
{
	int i,j;
	for (i = 0; i < rows; i++)
	{
		for (j = 0; j < cols; j++)
		{
			arr[i][j] = set;
		}
	}

}

打印棋盘

void DisplayBoard(char arr[ROWS][COLS], int rows, int cols)
{
	int i = 0;
	int j = 0;
	//控制列号
	for (j = 0; j <= cols; j++)
	{
		printf("%d  ", j);
	}
	printf("\n");
	for (i = 1; i <= rows; i++)
	{
		printf("%d  ", i);
		for (j = 1; j <= cols; j++)
		{
			printf("%c  ", arr[i][j]);
		}
		printf("\n");
	}
}

布雷

void SetMine(char mine[ROWS][COLS], int row, int col)
{
	int count = Easy_Count;
	while (count)
	{
		//生成随机数
		int x = rand() % row + 1;
		int y = rand() % col + 1;
		if (mine[x][y] == '0')
		{
			mine[x][y] ='1';
			count--;
		}

	}
}

排雷

void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{
	
	while (1)
	{
        printf("请输入你要排查的坐标:\n");
		int x = 0;
		int y = 0;
		scanf("%d %d", &x, &y);
		if (x >= 1 && x <= row && y >= 1 && y <= col)
		{
			if (mine[x][y] == '1')
			{
				printf("很遗憾你已经被炸死了!!!!\n");
				DisplayBoard(mine, ROW, COL);
                   return 0;
			}
			else
			{
				int sum = mine[x - 1][y - 1] + mine[x - 1][y + 1] + mine[x - 1][y] + mine[x][y - 1] + mine[x][y + 1] + mine[x + 1][y - 1] + mine[x + 1][y] + mine[x + 1][y + 1] - 8 * '0';
				show[x][y] = sum + '0';
				DisplayBoard(show, ROW, COL);
                win++
			}

		}
		else
		{
			printf("输入有误请重新输入->");
		}
	}

}

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