Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 100 // - maksimum bufora
- #define M 12 // - daje 12x12 zeby zmiescic ramke ograniczajaca
- #define N 12 // pole planszy
- // Zmienne globalne
- char plansza[M][N];
- char komenda[MAX];
- int polozenieX=5; // - obecne wspolrzedne polozenia naszego ludka
- int polozenieY=5; // na planszy
- void pobierzKomende()
- {
- printf("Podaj komende: ");
- scanf("%s",komenda);
- printf("\n");
- return;
- }
- int wykonaj()
- {
- if(!strcmp(komenda,"KONIEC"))
- return 0;
- if(!strcmp(komenda,"LEWO"))
- if(polozenieX==1)
- printf("Nie mozesz isc w lewo!\n");
- else
- polozenieX--;
- if(!strcmp(komenda,"PRAWO"))
- if(polozenieX==M)
- printf("Nie mozesz isc w prawo!\n");
- else
- polozenieX++;
- if(!strcmp(komenda,"GORA"))
- if(polozenieY==1)
- printf("Nie mozesz isc w gore!\n");
- else
- polozenieY--;
- if(!strcmp(komenda,"DOL"))
- if(polozenieY==N)
- printf("Nie mozesz isc w dol!\n");
- else
- polozenieY++;
- if(!strcmp(komenda,"HELP"))
- printf("Lista komend: LEWO, PRAWO, GORA, DOL, HELP, KONIEC.\n\n");
- return 1;
- }
- void generujPlansze()
- {
- int i=0,j=0;
- // rysuje ograniczenia planszy - sekwencje znakow '#'
- for(i=0;i<N;i++)
- {
- plansza[0][i]='#';
- plansza[M-1][i]='#';
- }
- for(i=1;i<M-1;i++)
- {
- plansza[i][0]='#';
- plansza[i][N-1]='#';
- }
- // czyszcze plansze
- for(i=1;i<M-1;i++)
- for(j=1;j<N-1;j++)
- plansza[i][j]=' ';
- // ustawiam ludka - znak '$'
- plansza[polozenieY][polozenieX]='$';
- return;
- }
- void rysujPlansze()
- {
- int i,j;
- for(i=0;i<M;i++)
- {
- for(j=0;j<N;j++)
- printf("%c",plansza[i][j]);
- printf("\n");
- }
- printf("\n");
- return;
- }
- int main()
- {
- int doPetli=1;
- printf("Wykonaj HELP zeby uzyskac pomoc.\n\n");
- while(doPetli)
- {
- pobierzKomende();
- if(!(doPetli=wykonaj()))
- break;
- generujPlansze();
- rysujPlansze();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement