Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Game states, loops

Name: Anonymous 2010-06-21 10:30

State your preference.
Option 1:
setup (game stuff);
setup (pause menu);
while (1) {
 switch (state) {
  case play:
   if (keys & PAUSE) {
    state = pause;
    continue;
   }
   move shit around;
   draw (game stuff);
   break;
  case pause:
   if (keys & PAUSE) {
    state = play;
    continue;
   }
   handle menu;
   draw (menu stuff);
   break;
 }
}

Option 2:
void play_game() {
 setup (game stuff);
 while (1) {
  if (keys & PAUSE) {
   pause();
  }
  move shit around;
  draw;
 }
}
void pause() {
 setup (pause menu);
 while (1) {
  if (keys & PAUSE) {
   break;
  }
  handle menu;
  draw (menu stuff);
 }
}

Name: Anonymous 2010-06-22 10:20

>>14
Why wouldn't you?
This works great in an RPG-like game, where you can have an "items screen" on top of a "menu screen" on top of a "area screen" on top of a "world map screen".

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List