Heh, neat topic.
A little currently untitled flash thing I'm working on:
public function mainloop(e:Event):void {
gamerender(key, dwgfx, game, obj, help);
gameinput(key, dwgfx, game, obj, help);
gamelogic(key, dwgfx, game, obj, help);
//Stupid event listeners!
if (key.hasclicked) key.click = false;
}
Slightly more interesting, here's Pathways:
int main(){
srand(time(NULL));
init();
graphicsclass graphics;
changesong(0);
musicon=true;
//We start in room 0:
graphics.loadroom(0);
fade=255; fademode=FADEIN;
gamestate=TEXTBOX;
currentscript=0;
//Starting main loop:
while(!killgame){
//Prelogic
//Render
switch(gamestate){
case GAMEMODE: gamemode_render(graphics); break;
case TEXTBOX: textbox_render(graphics); break;
case ENDING: ending_render(graphics); break;
}
//Input
if(key[KEY_ESC]) killgame=true;
switch(gamestate){
case GAMEMODE: gamemode_input(graphics); break;
case TEXTBOX: textbox_input(graphics); break;
case ENDING: ending_input(graphics); break;
}
//Logic
process_music();
process_glow();
process_fade();
switch(gamestate){
case GAMEMODE: gamemode_logic(graphics); break;
case TEXTBOX: textbox_logic(graphics); break;
}
if(screenresize){
screenresize=false;
if(fullscreen){graphics.change_fullscreen();
}else{graphics.change_windowed();}
}
while(check_timer(framerate)<=0) rest(0);
reset_timer();
}
#ifdef DEBUG
debugfile.close();
#endif
return 0;
}
END_OF_MAIN()