Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- using namespace std;
- int main()
- {
- cout << "MAP FOR MINESPEWER!" << endl << endl << endl;
- char field[10][10] = {{0}};
- int maxX = 10;
- int maxY = 10;
- int maxmines = 10;
- char scount[2];
- while( maxmines > 0)
- {
- if(field[rand() % 9 + 0][rand() % 9 + 0] == '*')
- {/*
- maxmines++;
- continue;*/
- }
- else
- {
- field[rand() % 9 + 0][rand() % 9 + 0] = '*';
- maxmines--;
- }
- }
- for(int i = 0; i <= 9; i++)
- {
- for(int j = 0; j <= 9; j++)
- {
- int mCounter = 0;
- if (field[i][j] == '*') { // если текущая клетка -- мина
- cout << field[i][j] << " ";
- continue;
- }
- //1
- if((i == 0) && (j == 0))
- {
- //[i][j+1], [i+1][j], [i+1][j+1]
- if(field[i][j+1] == '*')
- mCounter++;
- if(field[i+1][j] == '*')
- mCounter++;
- if(field[i+1][j+1] == '*')
- mCounter++;
- }
- //2
- if((i > 0) && (j == 0))
- {
- //[i-1][j], [i-1][j+1], [i][j+1], [i-1][j], [i-1][j+1]
- if(field[i-1][j] == '*')
- mCounter++;
- if(field[i-1][j+1] == '*')
- mCounter++;
- if(field[i][j+1] == '*')
- mCounter++;
- if(field[i+1][j] == '*')
- mCounter++;
- if(field[i+1][j+1] == '*')
- mCounter++;
- }
- //3
- if((i == maxX-1) && (j == 0))
- {
- //[i-1][j], [i-1][j+1], [i][j+1]
- if(field[i-1][j] == '*')
- mCounter++;
- if(field[i-1][j+1] == '*')
- mCounter++;
- if(field[i][j+1] == '*')
- mCounter++;
- }
- //4
- if((i == 0) && (j > 0) && (j < maxY))
- {
- if(field[i][j-1] == '*')
- mCounter++;
- if(field[i+1][j-1] == '*')
- mCounter++;
- if(field[i+1][j] == '*')
- mCounter++;
- if(field[i+1][j+1] == '*')
- mCounter++;
- if(field[i][j+1] == '*')
- mCounter++;
- }
- //5
- if((i > 0) && (j > 0) && (j < maxY-1) && (i < maxX))
- {
- //[i][j-1], [i+1][j-1], [i+1][j]
- if(field[i-1][j-1] == '*')
- mCounter++;
- if(field[i-1][j] == '*')
- mCounter++;
- if(field[i-1][j+1] == '*')
- mCounter++;
- if(field[i][j-1] == '*')
- mCounter++;
- if(field[i][j+1] == '*')
- mCounter++;
- if(field[i+1][j-1] == '*')
- mCounter++;
- if(field[i+1][j] == '*')
- mCounter++;
- if(field[i+1][j+1] == '*')
- mCounter++;
- }
- //6
- if((i == maxX-1) && (j > 0) && (j < maxY))
- {
- if(field[i-1][j-1] == '*')
- mCounter++;
- if(field[i-1][j] == '*')
- mCounter++;
- if(field[i-1][j+1] == '*')
- mCounter++;
- if(field[i][j-1] == '*')
- mCounter++;
- if(field[i][j+1] == '*')
- mCounter++;
- }
- //7
- if((i == 0) && (j == maxY-1))
- {
- //[i-1][j-1], [i-1][j], [i][j-1], [i+1][j+1], [i+1][j]
- if(field[i][j-1] == '*')
- mCounter++;
- if(field[i+1][j-1] == '*')
- mCounter++;
- if(field[i+1][j] == '*')
- mCounter++;
- }
- //8
- if((i > 0) && (i < maxX-1) && (j == maxY-1))
- {
- //[i-1][j-1],[i-1][j],[i][j-1]
- if(field[i-1][j-1] == '*')
- mCounter++;
- if(field[i-1][j] == '*')
- mCounter++;
- if(field[i][j-1] == '*')
- mCounter++;
- if(field[i+1][j-1] == '*')
- mCounter++;
- if(field[i+1][j] == '*')
- mCounter++;
- }
- //9
- if((i == maxX-1) && ( j == maxY-1))
- {
- //[i][j-1], [i+1][j-1], [i+1][j], [i+1][j+1]
- if(field[i-1][j-1] == '*')
- mCounter++;
- if(field[i-1][j] == '*')
- mCounter++;
- if(field[i][j-1] == '*')
- mCounter++;
- }/*
- if (field[i - 1][j - 1] == '*')
- mCounter++;
- if (field[i][j - 1] == '*')
- mCounter++;
- if (field[i + 1][j - 1] == '*')
- mCounter++;
- if (field[i - 1][j] == '*')
- mCounter++;
- if (field[i + 1][j] == '*')
- mCounter++;
- if (field[i - 1][j + 1] == '*')
- mCounter++;
- if (field[i][j + 1] == '*')
- mCounter++;
- if (field[i + 1][j + 1] == '*')
- mCounter++;
- */
- if(mCounter == 0)
- {
- field[i][j] = '_';
- }
- else
- {
- scount[0] = mCounter + '0';
- scount[1] = 0;
- field[i][j] = scount[0];
- }
- cout << field[i][j] << " ";
- }
- cout << endl;
- }
- cout << endl << endl;;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment