Guest User

Untitled

a guest
Apr 22nd, 2015
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     cout << "MAP FOR MINESPEWER!" << endl << endl << endl;
  9.     char field[10][10] = {{0}};
  10.     int maxX = 10;
  11.     int maxY = 10;
  12.     int maxmines = 10;
  13.     char scount[2];
  14.  
  15.  
  16.     while( maxmines > 0)
  17.     {
  18.  
  19.  
  20.             if(field[rand() % 9 + 0][rand() % 9 + 0] == '*')
  21.             {/*
  22.                 maxmines++;
  23.                 continue;*/
  24.             }
  25.             else
  26.             {
  27.                 field[rand() % 9 + 0][rand() % 9 + 0] = '*';
  28.                 maxmines--;
  29.             }
  30.  
  31.     }
  32.  
  33.  
  34.  
  35.     for(int i = 0; i <= 9; i++)
  36.     {
  37.         for(int j = 0; j <= 9; j++)
  38.         {
  39.  
  40.             int mCounter = 0;
  41.  
  42.             if (field[i][j] == '*') { // если текущая клетка -- мина
  43.  
  44.                  cout << field[i][j] << " ";
  45.                  continue;
  46.  
  47.            }
  48. //1
  49.            if((i == 0) && (j == 0))
  50.            {
  51.                //[i][j+1], [i+1][j], [i+1][j+1]
  52.                if(field[i][j+1]  == '*')
  53.                   mCounter++;
  54.                if(field[i+1][j]  == '*')
  55.                   mCounter++;
  56.                if(field[i+1][j+1] == '*')
  57.                   mCounter++;
  58.            }
  59. //2
  60.            if((i > 0) && (j == 0))
  61.            {
  62.                //[i-1][j], [i-1][j+1], [i][j+1], [i-1][j], [i-1][j+1]
  63.                if(field[i-1][j]   == '*')
  64.                   mCounter++;
  65.                if(field[i-1][j+1] == '*')
  66.                   mCounter++;
  67.                if(field[i][j+1]   == '*')
  68.                   mCounter++;
  69.                if(field[i+1][j]   == '*')
  70.                   mCounter++;
  71.                if(field[i+1][j+1] == '*')
  72.                   mCounter++;
  73.            }
  74. //3
  75.            if((i == maxX-1) && (j == 0))
  76.            {
  77.                //[i-1][j], [i-1][j+1], [i][j+1]
  78.                if(field[i-1][j]   == '*')
  79.                   mCounter++;
  80.                if(field[i-1][j+1] == '*')
  81.                   mCounter++;
  82.                if(field[i][j+1]   == '*')
  83.                   mCounter++;
  84.            }
  85. //4
  86.            if((i == 0) && (j > 0) && (j < maxY))
  87.            {
  88.                if(field[i][j-1] == '*')
  89.                     mCounter++;
  90.                if(field[i+1][j-1] == '*')
  91.                     mCounter++;
  92.                if(field[i+1][j] == '*')
  93.                     mCounter++;
  94.                if(field[i+1][j+1] == '*')
  95.                     mCounter++;
  96.                if(field[i][j+1] == '*')
  97.                     mCounter++;
  98.            }
  99. //5
  100.            if((i > 0) && (j > 0) && (j < maxY-1) && (i < maxX))
  101.            {
  102.                //[i][j-1], [i+1][j-1], [i+1][j]
  103.                if(field[i-1][j-1]   == '*')
  104.                     mCounter++;
  105.                if(field[i-1][j] == '*')
  106.                     mCounter++;
  107.                if(field[i-1][j+1]   == '*')
  108.                     mCounter++;
  109.                if(field[i][j-1]   == '*')
  110.                     mCounter++;
  111.                if(field[i][j+1]   == '*')
  112.                     mCounter++;
  113.                if(field[i+1][j-1]   == '*')
  114.                     mCounter++;
  115.                if(field[i+1][j]   == '*')
  116.                     mCounter++;
  117.                if(field[i+1][j+1]   == '*')
  118.                     mCounter++;
  119.            }
  120. //6
  121.            if((i == maxX-1) && (j > 0) && (j < maxY))
  122.            {
  123.                if(field[i-1][j-1]   == '*')
  124.                     mCounter++;
  125.                if(field[i-1][j]   == '*')
  126.                     mCounter++;
  127.                if(field[i-1][j+1]   == '*')
  128.                     mCounter++;
  129.                if(field[i][j-1]   == '*')
  130.                     mCounter++;
  131.                if(field[i][j+1]   == '*')
  132.                     mCounter++;
  133.            }
  134. //7
  135.            if((i == 0) && (j == maxY-1))
  136.            {
  137.                //[i-1][j-1], [i-1][j], [i][j-1], [i+1][j+1], [i+1][j]
  138.                if(field[i][j-1] == '*')
  139.                     mCounter++;
  140.                if(field[i+1][j-1]   == '*')
  141.                     mCounter++;
  142.                if(field[i+1][j]   == '*')
  143.                     mCounter++;
  144.            }
  145. //8
  146.            if((i > 0) && (i < maxX-1) && (j == maxY-1))
  147.            {
  148.                //[i-1][j-1],[i-1][j],[i][j-1]
  149.                if(field[i-1][j-1] == '*')
  150.                     mCounter++;
  151.                if(field[i-1][j]   == '*')
  152.                     mCounter++;
  153.                if(field[i][j-1]   == '*')
  154.                     mCounter++;
  155.                if(field[i+1][j-1]   == '*')
  156.                     mCounter++;
  157.                if(field[i+1][j]   == '*')
  158.                     mCounter++;
  159.            }
  160. //9
  161.            if((i == maxX-1) && ( j == maxY-1))
  162.            {
  163.                //[i][j-1], [i+1][j-1], [i+1][j], [i+1][j+1]
  164.                if(field[i-1][j-1]   == '*')
  165.                     mCounter++;
  166.                if(field[i-1][j] == '*')
  167.                     mCounter++;
  168.                if(field[i][j-1]   == '*')
  169.                     mCounter++;
  170.            }/*
  171.             if (field[i - 1][j - 1] == '*')
  172.                 mCounter++;
  173.             if (field[i][j - 1] == '*')
  174.                 mCounter++;
  175.             if (field[i + 1][j - 1] == '*')
  176.                 mCounter++;
  177.  
  178.             if (field[i - 1][j] == '*')
  179.                 mCounter++;
  180.             if (field[i + 1][j] == '*')
  181.                 mCounter++;
  182.  
  183.             if (field[i - 1][j + 1] == '*')
  184.                 mCounter++;
  185.             if (field[i][j + 1] == '*')
  186.                 mCounter++;
  187.             if (field[i + 1][j + 1] == '*')
  188.                 mCounter++;
  189. */
  190.             if(mCounter == 0)
  191.             {
  192.  
  193.                 field[i][j] = '_';
  194.             }
  195.             else
  196.             {
  197.                 scount[0] = mCounter + '0';
  198.                 scount[1] = 0;
  199.                 field[i][j] = scount[0];
  200.             }
  201.  
  202.             cout << field[i][j] << " ";
  203.  
  204.         }
  205.  
  206.         cout << endl;
  207.  
  208.    }
  209.  
  210.     cout << endl << endl;;
  211.  
  212.  
  213.     return 0;
  214. }
Advertisement
Add Comment
Please, Sign In to add comment