Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include <vector>
- using namespace std;
- enum class pole
- {
- puste, poszukiwacz, mur, skarb, przeciwnik
- };
- struct wspolrzedne
- {
- short i;
- short j;
- short los;
- };
- const short N = 33;
- pole plansza[N][N];
- void uzupelnij_plansze()
- {
- srand(time(nullptr));
- vector<wspolrzedne> puste_pola;
- wspolrzedne nowe;
- for(short i = 0; i < N; ++i)
- for(short j = 0; j < N; ++j)
- if(i == 0 || i == N - 1 || j == 0 || j == N - 1 || ((i-1) * (j-1)) % 2 != 0)
- plansza[i][j] = pole::mur;
- else
- {
- plansza[i][j] = pole::puste;
- nowe.i = i;
- nowe.j = j;
- nowe.los = rand();
- puste_pola.push_back(nowe);
- }
- unsigned n = puste_pola.size();
- for(unsigned i = 0; i < n - 1; ++i)
- for(unsigned j = 0; j < n - i - 1; ++j)
- if(puste_pola[j].los > puste_pola[j + 1].los)
- swap(puste_pola[j], puste_pola[j + 1]);
- for(unsigned i = 0; i < 10; ++i)
- plansza[puste_pola[i].i][puste_pola[i].j] = pole::przeciwnik;
- plansza[puste_pola[10].i][puste_pola[10].j] = pole::poszukiwacz;
- plansza[puste_pola[11].i][puste_pola[11].j] = pole::skarb;
- }
- void wypisz_plansze()
- {
- for(short i = 0; i < N; ++i)
- {
- for(short j = 0; j < N; ++j)
- {
- switch(plansza[i][j])
- {
- case pole::puste:
- cout << ' ';
- break;
- case pole::mur:
- cout << '#';
- break;
- case pole::poszukiwacz:
- cout << 'O';
- break;
- case pole::skarb:
- cout << 'X';
- break;
- case pole::przeciwnik:
- cout << '@';
- break;
- }
- cout << ' ';
- }
- cout << endl;
- }
- }
- int main()
- {
- uzupelnij_plansze();
- wypisz_plansze();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement