写个扫雷自己儿童节玩。

#include<stdio.h> 
#include<stdlib.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
#define rows 11 //行数
#define cols 11 //列数
#define leicount 10 //雷数 

int dir[8][2]={-1,-1,0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0};
int menu();//菜单函数
void display(char show[rows][cols]);//打印下棋完了显示的界面  
int Game(char mine[rows][cols],char show[rows][cols]);//游戏
void set_mine(char mine[rows][cols]);//设置雷的位置
int Sweep(char mine[rows][cols], char show[rows][cols]);//开始扫雷
int get_num(char mine[rows][cols], int x, int y);//计算雷的个数

int main()
{
 system("title 扫雷");
 system("color f0");
 system("mode con cols=35 lines=25");
 system("CLS");
 int input = 0;
 char mine[rows][cols];
 char show[rows][cols];
 int i = 0;
 int j = 0;
 for (i = 0; i < rows - 1; i++)
 {
 for (j = 0; j < cols - 1; j++)
 {
 mine[i][j] = '0';
 show[i][j] = '*';
 }
 }
 menu();
 while (1)
 {
 scanf("%d", &input);
 if (input == 1)
 {
 system("CLS");
 printf("\n 进入游戏\n");
 Game(mine,show);
 break;
 }
 else if (input == 0)
 {
 printf("\n 退出游戏!\n");
 exit(0);
 break;
 }
 else
 printf("\n输入有误!请重新输入:");
 }
 return 0;
}

//起始菜单 
int menu()
{
 printf("\n\n\n\n\n\t输入0结束游戏\n\n\n\n\n\t输入1开始游戏\n\n\n\n\n\t请输入一个数字: ");
 return 0;
}

//设置雷的位置  
void set_mine(char mine[rows][cols])
{
 int count = leicount;
 int x = 0;
 int y = 0;
 srand((unsigned)time(NULL));
 while (count)
 {
 x = rand() % (rows-2) + 1;
 y = rand() % (cols-2) + 1;
 if (mine[x][y] == '0')
 {
 mine[x][y] = '1';
 count--;
 }
 }
 //下面两行是脚本,哈哈哈。 
 //display(mine);
 //system("pause");
}

//打印下棋完了显示的界面  
void display(char show[rows][cols])
{
 system("CLS");
 int i = 0;
 int j = 0;
 printf(" ");
 for (i = 1; i < cols - 1; i++)
 printf(" %d ", i);
 printf("\n\n");
 for (i = 1; i < rows - 1; i++)
 {
 printf(" %d ", i);
 for (j = 1; j < cols - 1; j++)
 printf(" %c ", show[i][j]);
 printf("\n\n");
 }
}

//计算雷的个数
int get_num(char mine[rows][cols], int x, int y)
{
 int count = 0;
 for (int k=0;k<8;k++)
 {
 if (mine[x+dir[k][0]][y+dir[k][1]]=='1')
 count++;
 }
 return count;
}

//开始扫雷
int Sweep(char mine[rows][cols], char show[rows][cols])
{
 int count = 0;
 int x = 0;
 int y = 0;
 while (count!=((rows-2)*(cols-2)-leicount))
 {
 printf(" 地图如下,请输入坐标:\n\n ");
 scanf("%d%d", &x, &y);
 if (mine[x][y] == '1')
 {
 display(mine);
 printf(" 你踩到雷了!");
 return 0;
 }
 else
 {
 int ret = get_num(mine, x, y);
 show[x][y] = ret + '0';
 display(show);
 count++;
 }
 }
 display(mine);
 printf(" 恭喜你赢了!\n");
 return 0;
}

//游戏
int Game(char mine[rows][cols],char show[rows][cols])
{ 
 set_mine(mine);//设置雷的位置 
 display(show);
 Sweep(mine,show);
 return 0;
}