最简单C语言的扫雷地图(不是游戏)
2015-09-09 20:04
507 查看
// // 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] == -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++用法及学习心得
- Ubuntu Eclipse for C++ 11
- 【C++学习笔记】const的用法
- 深入学习C++中的函数概念
- 求集合/字符串中的所有组合 (C语言)
- C++条件及循环语句的综合运用实例
- 重新认识二级指针(Pointers to Pointers)
- C++用法的学习心得
- 简单举例说明C++中break和continue语句的用法
- c++运算符重载
- C语言(11)--回文日、确定等式、fflush(stdin)、将十进制数转换成n进制数、二分法解方程
- C++ Coding Standard
- 全排列 (C语言实现)
- libtc++ lib
- C++面向对象高级开发课程(第二周)
- 如何用C++函数实现类似三目运算符的功能
- c++ 析构函数和构造函数
- c++11 输出时间
- C++中引用(&)的用法和应用实例
- C/C++ 指针数组、二维数组