最简单C语言的扫雷地图(不是游戏)

来源:互联网 发布:网络高清图片大全 编辑:程序博客网 时间:2024/05/16 06:25
////  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;}

1 0
原创粉丝点击