Advertisement
Guest User

Ludek na planszy

a guest
Oct 21st, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.92 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define MAX     100     // - maksimum bufora
  6. #define M   12      // - daje 12x12 zeby zmiescic ramke ograniczajaca
  7. #define N   12      //   pole planszy
  8.  
  9. // Zmienne globalne
  10.  
  11. char    plansza[M][N];
  12. char    komenda[MAX];
  13. int polozenieX=5;       // - obecne wspolrzedne polozenia naszego ludka
  14. int polozenieY=5;       //   na planszy
  15.  
  16. void pobierzKomende()
  17. {
  18.     printf("Podaj komende: ");
  19.     scanf("%s",komenda);
  20.     printf("\n");
  21.     return;
  22. }
  23.  
  24. int wykonaj()
  25. {
  26.     if(!strcmp(komenda,"KONIEC"))
  27.         return 0;
  28.  
  29.     if(!strcmp(komenda,"LEWO"))
  30.         if(polozenieX==1)
  31.             printf("Nie mozesz isc w lewo!\n");
  32.         else
  33.             polozenieX--;
  34.     if(!strcmp(komenda,"PRAWO"))
  35.         if(polozenieX==M)
  36.             printf("Nie mozesz isc w prawo!\n");
  37.         else
  38.             polozenieX++;
  39.     if(!strcmp(komenda,"GORA"))
  40.         if(polozenieY==1)
  41.             printf("Nie mozesz isc w gore!\n");
  42.         else
  43.             polozenieY--;
  44.     if(!strcmp(komenda,"DOL"))
  45.         if(polozenieY==N)
  46.             printf("Nie mozesz isc w dol!\n");
  47.         else
  48.             polozenieY++;
  49.     if(!strcmp(komenda,"HELP"))
  50.         printf("Lista komend: LEWO, PRAWO, GORA, DOL, HELP, KONIEC.\n\n");
  51.  
  52.     return 1;
  53. }
  54.  
  55. void generujPlansze()
  56. {
  57.     int i=0,j=0;
  58.  
  59.     // rysuje ograniczenia planszy - sekwencje znakow '#'
  60.  
  61.     for(i=0;i<N;i++)
  62.     {
  63.         plansza[0][i]='#';
  64.         plansza[M-1][i]='#';
  65.     }
  66.  
  67.     for(i=1;i<M-1;i++)
  68.     {
  69.         plansza[i][0]='#';
  70.         plansza[i][N-1]='#';
  71.     }
  72.  
  73.     // czyszcze plansze
  74.    
  75.     for(i=1;i<M-1;i++)
  76.         for(j=1;j<N-1;j++)
  77.             plansza[i][j]=' ';
  78.  
  79.     // ustawiam ludka - znak '$'
  80.  
  81.     plansza[polozenieY][polozenieX]='$';
  82.  
  83.     return;
  84. }
  85.  
  86. void rysujPlansze()
  87. {
  88.     int i,j;
  89.  
  90.     for(i=0;i<M;i++)
  91.     {
  92.         for(j=0;j<N;j++)
  93.             printf("%c",plansza[i][j]);
  94.         printf("\n");
  95.     }
  96.  
  97.     printf("\n");
  98.     return;
  99. }
  100.  
  101. int main()
  102. {
  103.     int doPetli=1;
  104.  
  105.     printf("Wykonaj HELP zeby uzyskac pomoc.\n\n");
  106.     while(doPetli)
  107.     {
  108.         pobierzKomende();
  109.         if(!(doPetli=wykonaj()))
  110.             break;
  111.         generujPlansze();
  112.         rysujPlansze();
  113.     }
  114.  
  115.     return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement