扫雷游戏

#include <stdio.h>
#define N 101 //最大格数
char arr[N][N];
char brr[N][N];
int x[9] = {0, 0, 1, 1, 1, 0, -1, -1, -1}; //从一开始的八个方向
int y[9] = {0, 1, 1, 0, -1, -1, -1, 0, 1};
int main()
{int n, m;int sum = 0; //统计八个方向的地雷数字scanf("%d%d", &n, &m);for (int i = 0; i < n; i++){scanf("%s", arr[i]);getchar(); //接收换行符}for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if (arr[i][j] == '?'){for (int z = 1; z <= 8; z++){if (i + x[z] >= 0 && i + x[z] < n && j + y[z] >= 0 && j + y[z] < m) //判断是否出界{if (arr[i + x[z]][j + y[z]] == '*'){sum++; //如果此时为地雷时}}}brr[i][j] = sum + '0';  //此处的?改为次数的地雷数sum = 0;}else{brr[i][j] = arr[i][j];}}puts(brr[i]);}return 0;
}

此题主要就是会用以二维数组为核心进行的周围遍历。就是设x、y的一维数组下标。还有就是如何把十进制的数码改为字符型sum + '0'。三重循环复杂度有点高。。。。所以总体还是待优化。

热身赛—H - 扫雷?踩雷!!相关推荐

  1. 蓝桥杯 - 试题 H: 扫雷(思维)

    题目大意:给出 nnn 个地雷和 mmm 个炸弹,都以 (x,y,r)(x,y,r)(x,y,r) 的形式给出,意义分别如下: 对于每个地雷,位于点 (x,y)(x,y)(x,y),爆炸后会波及半径为 ...

  2. 扫雷游戏是一款十分经典的单机小游戏。 问题 H: 扫雷游戏

    题目描述 扫雷游戏是一款十分经典的单机小游戏.在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格).玩家翻开一个非地雷格时,该格将会出现一个数字--提示周围格子中有 ...

  3. 扫雷游戏的设计与实现

    扫雷游戏的设计与实现 扫雷游戏的介绍与规则 扫雷游戏的具体实现 1.打印游戏菜单 2.创建置雷图与展示图 3.初始化两张地图 4.布置地雷 5.打印展示图(置雷图) 6.排查雷 7.统计周围雷数 8. ...

  4. C语言实现扫雷完整算法详解~(附完整代码~)

    扫雷是一个常见小游戏,那么如何用C语言实现扫雷呢?学习了二维数组之后,我们可将扫雷的网格区域存储为二维数组,从而使用C语言实现扫雷. 目录 1.算法基本思路 2.算法详解 1.初始化数组与打印数组 2 ...

  5. C语言编写扫雷游戏【W5+字详细教学版,包教包会】

    目录 前言 一.扫雷游戏 二.整体分析 三.游戏的实现 1.实现test文件 2.实现game.h文件 3.实现game.c文件 3.1 初始化棋盘 3.2 打印棋盘 3.3 埋放地雷 3.4 判断行 ...

  6. 扫雷游戏(利用最基础的C语言实现)

    扫雷 扫雷游戏 1.菜单 2.初始化棋盘 3.打印棋盘 4.布置雷 5.排查雷 6.整体效果展示 7.代码分享 7.1 test.c 7.2 game.c 7.3 game.h 扫雷游戏 今天我们就要 ...

  7. 扫雷游戏(C语言实现)

    目录 一.扫雷游戏规则简介 二.扫雷实现过程分析 三.流程图 四.分模板实现游戏 1.创建二维数组并将其初始化 2.布置雷 3.打印棋盘 4.开始排雷 5.获取雷的数量 6.胜利条件判断 五.代码总览 ...

  8. C语言实现扫雷完整代码讲解

    扫雷是一款初学者能用C语言实现的益智小游戏,只需要用二维数组操作雷区即可. 算法详讲 : 游戏思路如下:点击雷区中的任一格子,如果该格子有雷,则游戏结束:如果该格子周围9个格子都不是雷,那么直接展开其 ...

  9. 第十三届蓝桥杯大赛软件赛省赛(b组c语言)

    试题 A: 九进制转十进制 本题总分:5 分 [问题描述] 九进制正整数 (2022)9 转换成十进制等于多少? 这道题没什么说的,2*9*9*9+0*9*9+2*9+2*1=1478: 试题 B: ...

最新文章

  1. Mac 从Makefile 编译 Rocksdb 源码的一些注意事项
  2. 日志服务Flink Connector《支持Exactly Once》
  3. SQL Server 一些重要视图3
  4. java ase 加密_java实现ase加密解密
  5. 遍历Arraylist的方法:
  6. Debian下Cannot set LC_CTYPE to default locale: No such file or directory解决方法
  7. 存储过程 insert
  8. 底部导航栏使用BottomNavigationBar
  9. 我的前端笔记之 meta 篇
  10. 【滤波器】7. 带通滤波器
  11. 笔记本键盘失灵的修复方法
  12. php调用nexmo发送短信,在 Laravel 中 “规范” 的开发短信验证码发送功能
  13. Linux系统安全和应用
  14. 《国家中长期教育改革和发展规划纲要(2010-2020年)》读后感
  15. [乐意黎原创]OFO小黄车提示你有未完成订单/未知错误的解决方法
  16. 小小的纳豆居然有这么多好处,难怪岛国人为它疯狂
  17. 【情态动词练习题】Can / Could you
  18. 晨钟暮鼓----用青春,做这份爱情的血色葬礼
  19. 常见的网络故障以及解决方法
  20. 如何让administrator不出现在windows7系统登录界面

热门文章

  1. 小白都看得懂的使用Python生成随机验证码图片,以及后续优化方案
  2. 由内功心法到武功秘籍,重心会有所转变 - 能上能下,才是终极
  3. Eclipse php快捷键大全
  4. 卓越和悦施工缓慢求助
  5. Mongoose aggregate
  6. 解决centos中vim粘贴yml代码时缩进错乱的问题
  7. FreeType2 获取中文字体名称
  8. 【Python爬虫】:爬取干货集中营上的全部美女妹子(翻页处理)
  9. 一文搞懂 React ref
  10. java随机生成6位数