//
// 09_homework_扫雷.c
// day07
//
// Created by tarena on 15/9/9.
// Copyright (c) 2015年 Bana. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void SL(int x,int y);
int main(){
printf("请输入两个数(行,列)\n");
int x,y;
scanf("%d",&x);
scanf("%d",&y);
SL(x,y);//扫雷地图生成函数
return 0;
}
void SL(int x,int y){
srand((unsigned)time(0));
int tab[x][y];
//随机生成雷区
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
int num = rand()%((x+y)/2)-1;
if(num == -1)
tab[i][j] =num;
else
tab[i][j] = 0;
}
}
//遍历周围是否有雷区,是就加一
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
if(tab[i][j] == -1)
continue;
for(int m=i-1;m<=i+1;m++){
if( m<0 )
continue;
if(m >= x )
break;
for(int n = j-1;n<=j+1;n++){
if(m ==i && n == j)
continue;
if( n < 0)
continue;
if( n >= y)
break;
if(tab[m][n] == -1)
tab[i][j]++;
}
}
}
}
//打印地图
printf("扫雷地图:\n");
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
printf("%d\t",tab[i][j]);
}
printf("\n");
}
return;
}
最简单C语言的扫雷地图(不是游戏)
最新推荐文章于 2022-09-29 08:51:04 发布