Advertisement
kudlatyfilozof

Untitled

Feb 24th, 2017
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.32 KB | None | 0 0
  1. class Kafelek
  2.  
  3. {
  4.  
  5. public:
  6.     float x, y;
  7.     ALLEGRO_BITMAP  *bitmapa;
  8.     bool wolny;
  9.  
  10.  
  11.     Kafelek() {}
  12.     ~Kafelek() {}
  13.  
  14.     void ustaw (float xx, float yy, bool czywolny)
  15.  
  16.         {
  17.            x=xx;
  18.            y=yy;
  19.            wolny=czywolny;
  20.         }
  21.  
  22.  
  23. };
  24.  
  25. Kafelek k[30][20];
  26.  
  27.  
  28.  
  29. class Postac
  30.  
  31. {
  32.  
  33. public:
  34.     float x, y;
  35.     string imie;
  36.     ALLEGRO_BITMAP  *bitmapa;
  37.  
  38.     virtual void lewo(int ile)=0;
  39.     virtual void prawo(int ile)=0;
  40.     virtual void dol(int ile)=0;
  41.     virtual void gora(int ile)=0;
  42.     virtual void rysuj()=0;
  43.  
  44. };
  45.  
  46. class Gracz :public Postac
  47.  
  48. {
  49.  
  50. public:
  51.     float x, y;
  52.     string imie;
  53.     ALLEGRO_BITMAP  *bitmapa;
  54.     char sdb[];
  55.  
  56.     ///statystyki
  57.     int HP;
  58.  
  59.  
  60.     virtual void lewo(int ile)
  61.  
  62.         {
  63.  
  64.  
  65.              if(k[(x-64)/32-1][(y-64)/32].wolny==true && x>=96) ///jesli kafelek na ktory zamierzamy isc ma byc wolny i siega tam mapa
  66.                 {
  67.                     k[(x-64)/32-1][(y-64)/32].wolny=false; ///to zrobmy go zajetym
  68.                     k[(x-64)/32][(y-64)/32].wolny=true; ///a ten na ktorym stoimy wolnym
  69.                     x-=ile;
  70.                 }
  71.              bitmapa = al_load_bitmap( "dupalewo.png" );
  72.  
  73.         }
  74.  
  75.     virtual void prawo(int ile)
  76.  
  77.         {
  78.  
  79.             if(k[(x-64)/32+1][(y-64)/32].wolny==true && x<=992) ///jesli kafelek na ktory zamierzamy isc ma byc wolny i siega tam mapa
  80.                 {
  81.                     k[(x-64)/32+1][(y-64)/32].wolny=false; ///to zrobmy go zajetym
  82.                     k[(x-64)/32][(y-64)/32].wolny=true; ///a ten na ktorym stoimy wolnym
  83.                     x+=ile;
  84.                 }
  85.  
  86.  
  87.             bitmapa= al_load_bitmap( "dupaprawo.png" );
  88.  
  89.  
  90.         }
  91.  
  92.     virtual void dol(int ile)
  93.  
  94.         {
  95.  
  96.             if(k[(x-64)/32][(y-64)/32+1].wolny==true && y>=96)
  97.                 {
  98.                     k[(x-64)/32][(y-64)/32+1].wolny=false;
  99.                     k[(x-64)/32][(y-64)/32].wolny=true;
  100.                     y+=ile;
  101.                 }
  102.  
  103.         }
  104.  
  105.     virtual void gora(int ile)
  106.  
  107.         {
  108.             if(k[(x-64)/32][(y-64)/32-1].wolny==true && y<=672)
  109.                 {
  110.                     k[(x-64)/32][(y-64)/32-1].wolny=false;
  111.                     k[(x-64)/32][(y-64)/32].wolny=true;
  112.                     y-=ile;
  113.                 }
  114.  
  115.         }
  116.  
  117.     virtual void rysuj()
  118.  
  119.         {
  120.             al_convert_mask_to_alpha( bitmapa, al_map_rgb(255,255,255));
  121.             al_draw_bitmap(bitmapa, x, y, 0);
  122.  
  123.  
  124.         }
  125.  
  126.         Gracz(string name="unnamed", int xx=128, int yy=128, char sciezka_do_bitmapy[]=0)
  127.  
  128.             {
  129.                 imie=name;
  130.                 x=xx;
  131.                 y=yy;
  132.                 bitmapa = al_load_bitmap( sciezka_do_bitmapy );
  133.                 al_convert_mask_to_alpha( bitmapa, al_map_rgb(255,255,255));
  134.             }
  135.  
  136.         ~Gracz()
  137.  
  138.             {
  139.                 //al_destroy_bitmap(bitmapa);
  140.             }
  141.  
  142.  
  143.  
  144. };
  145.  
  146. |In member function 'virtual void Gracz::lewo(int)':|
  147. error: invalid types 'Kafelek [30][20][float]' for array subscript|
  148.  
  149. to odnosi się do każdej linii tego typu
  150. if(k[(x-64)/32][(y-64)/32-1].wolny==true && y<=672)
  151.                 {
  152.                     k[(x-64)/32][(y-64)/32-1].wolny=false;
  153.                     k[(x-64)/32][(y-64)/32].wolny=true;
  154.                 }
  155. którejkolwiek z tych trzech
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement