搜索
查看: 237|回复: 1
打印 上一主题 下一主题

扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之...

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2020-3-9 18:22:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. int main(){
  5.     int m, n, s=0;
  6.     char a[105][105];
  7.     cin >> m >> n;
  8.     for(int i=1; i <= m; i++){
  9.         for(int j=1; j <= n; j++){
  10.             cin >> a[i][j];
  11.         }
  12.     }
  13.     for(int i=0; i <= m + 1; i++){
  14.         for(int j=0; j <= n + 1; j++){
  15.             if(i == 1 || i == m || j == 1 || j == m){
  16.                 a[i][j] = '#';
  17.             }
  18.         }
  19.     }
  20.     for(int i=1; i <= m; i++){
  21.         for(int j=1; j <= n; j++){
  22.             if(a[i][j] == '?'){
  23.                 if(a[i][j+1] == '*'){
  24.                     s++;
  25.                 }
  26.                 if(a[i][j-1] == '*'){
  27.                     s++;
  28.                 }
  29.                 if(a[i+1][j] == '*'){
  30.                     s++;
  31.                 }
  32.                 if(a[i-1][j] == '*'){
  33.                     s++;
  34.                 }
  35.                 if(a[i+1][j+1] == '*'){
  36.                     s++;
  37.                 }
  38.                 if(a[i-1][j-1] == '*'){
  39.                     s++;
  40.                 }
  41.                 if(a[i+1][j-1] == '*'){
  42.                     s++;
  43.                 }
  44.                 if(a[i-1][j+1] == '*'){
  45.                     s++;
  46.                 }
  47.                 if(s != 0){
  48.                     cout << s;
  49.                     continue;
  50.                 }
  51.             }
  52.             cout << '*';
  53.         }
  54.         printf("");
  55.     }
  56.     return 0;
  57. }
复制代码

沙发
发表于 2020-3-16 19:05:47 | 只看该作者
新手路过saddadwadwdwdwwdwdd
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表