[POBIERZ] kod źródłowy i inne pliki potrzebne do uruchomienia gry  [POBIERZ] 

Zachęcam do komentowania :) Mile widziane sugestie i pytania, na które chętnie odpowiem

3 lis 2010

Menu w grze- błąd pauzy

Niestety menu nie do końca działa w taki sposób jakbym chciał tzn. "buttony" działają prawidłowo, lecz gdy podczas grania w grę naciśniemy ESC (wyjście do menu) to gra działa dalej... 
Akcja gry nie zatrzymuje się i po naciśniećui "powrót do gry" widać inne położenie wrogów i nasza postać ma mniej żyć niż przed zastopowaniem gry...
Główna pętla działa dopóki nie naciśniemy wyjście   while(gra==1)- podczas wyjścia do menu(wciśnięty ESC i wartość gra=0) ta pętla nie powinna być wykonywana i niby nie jest bo widzimy na ekranie menu, a nie obraz gry. Myślałem dzisiaj nad tym i niestety nic nie wymyśliłem... Może znajdzie się dobry, mądry człowiek, który mnie oświeci :)

while(gra!=2) //2== menu 
{
   gmenu();

   while(gra==1) //1==gra
   {  
       while( ( speed > 0) && ( zycia>0 && punktacja<992) )
      {
          if (key[KEY_ESC] )
          {
            gra=0;
          }      

      }
      blit( bufor, screen, 0,0,0,0, 800,600);     

   } 
   blit( bufor, screen, 0,0,0,0, 800,600);  

}

Mam nadzieję, że usunę ten błąd ale narazie pracuję nad Menu->POMOC. Niczego szczególnego z kodu tam nie będzie. Po wejściu w pomoc będą jakieś "buttony" jak w menu i pod każdym będzie wyświetlana jakaś bitmapa na screen, ot całe menu :p. 

Odp Tomkos... 
W grze muszą być 2 pętle: 1 główna(wykonuj się dopóki coś tam)
2-ga  funkcja steruje prękdością increment_speed()
ale 3-cia faktycznie jest niepotrzebna i faktycznie można  zrobićmenu na case. Poprawi to czytelność kodu i ułatwi dalszą rozbudowę menu (bo powoli zaczynam się w tym wszystkim gubić) 
Może wtedy pauza będzie działała tak jak powinna... Zobaczymy... Może jutro uda mi się zastosować te zmiany w kodzie... 

Brak komentarzy:

Prześlij komentarz