Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- {
- char ruch;
- int koniec_o=0;
- int koniec=1;
- int szpak_x,szpak_y;
- const int rozmiar_y=5;
- const int rozmiar_x=12;
- int** mapa_d = new int*[rozmiar_y];
- for(int i = 0; i < rozmiar_y; i++)
- mapa_d[i] = new int[rozmiar_x];
- int mapa[5][12]={
- {1,1,1,1,1,0,0,1,1,1,1,1},
- {1,3,0,0,1,1,1,1,0,0,4,1},
- {1,0,0,2,0,0,0,0,2,0,1,1},
- {1,0,0,0,1,1,1,1,0,0,1,0},
- {1,1,1,1,1,0,1,1,1,1,1,0}
- };
- for(int y=0;y<=rozmiar_y-1;y++) {
- for(int x=0;x<=rozmiar_x-1;x++)
- {
- mapa_d[y][x]=mapa[y][x];
- if(mapa_d[y][x]==3)
- {
- szpak_x=x;
- szpak_y=y;
- }
- }
- }
- do {
- system("CLS");
- cout << "Chodzenie WSAD'em R-restart K-koniec" << endl;
- for(int y=0;y<=rozmiar_y-1;y++)
- {
- for(int x=0;x<=rozmiar_x-1;x++)
- {
- if(mapa_d[y][x]==0)
- cout << " ";
- else if(mapa_d[y][x]==1)
- cout << "X ";
- else if(mapa_d[y][x]==2)
- cout << "@ ";
- else if(mapa_d[y][x]==3)
- cout << "& ";
- else cout << "O ";
- }
- cout << endl;
- }
- if(koniec==2)
- break;
- cout << "Co robimy ";
- cin >> ruch;
- int dirx = 0;
- int diry = 0;
- if(ruch == 'w')
- diry = 1;
- else if(ruch =='s')
- diry = -1;
- else if(ruch =='a')
- dirx = -1;
- else if(ruch =='d')
- dirx = 1;
- if(ruch == 'w' || ruch == 's' || ruch == 'a' || ruch == 'd') {
- int mapa_next = mapa_d[szpak_y-diry][szpak_x+dirx];
- switch(mapa_next) {
- case 0:
- mapa_d[szpak_y][szpak_x]=0;
- szpak_y -= diry;
- szpak_x += dirx;
- mapa_d[szpak_y][szpak_x]=3;
- break;
- case 2:
- if(mapa_d[szpak_y-2*diry][szpak_x+2*dirx]==0)
- {
- mapa_d[szpak_y-2*diry][szpak_x+2*dirx]=2;
- mapa_d[szpak_y][szpak_x]=0;
- szpak_y -= diry;
- szpak_x += dirx;
- mapa_d[szpak_y][szpak_x]=3;
- }
- break;
- case 4:
- mapa_d[szpak_y][szpak_x]=0;
- szpak_y -= diry;
- szpak_x += dirx;
- mapa_d[szpak_y][szpak_x]=3;
- koniec_o=1;
- koniec=2;
- break;
- }
- }
- else if(ruch=='k')
- koniec=0;
- else if(ruch=='r')
- {
- for(int y=0;y<=rozmiar_y-1;y++) {
- for(int x=0;x<=rozmiar_x-1;x++)
- {
- mapa_d[y][x]=mapa[y][x];
- if(mapa_d[y][x]==3)
- {
- szpak_x=x;
- szpak_y=y;
- }
- }
- }
- }
- }while(koniec);
- if(koniec_o)
- cout << "Ez win";
- else
- cout << "Przed dojsciem do konca...";
- delete[] mapa_d;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement