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