// Programm-Hauptschleife
while(!done){
// Taste gedrückt?
if (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_QUIT:
done = 1;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case SDLK_ESCAPE:
done = 1;
break;
}
break;
case SDL_MOUSEBUTTONUP: //mouse button pressed
mup = 1;
break;
}
/*if(event.button.button == 1 && event.button.state == SDL_RELEASED && statebefore == 0){
MessageBoxA(0, "Lah1", "Lah1", MB_OK);
}*/
}
// Render-Abschnitt:
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, back_r, back_g, back_b));
// Menüführung:
if(menu){
if(nMenu == 1){
st_MAINMENU.Show();
st_MAINMENU.Render(screen);
st_MAINMENU_NEWGAME.Show();
st_MAINMENU_NEWGAME.Render(screen);
st_MAINMENU_NETWORK.Show();
st_MAINMENU_NETWORK.Render(screen);
st_MAINMENU_OPTIONS.Show();
st_MAINMENU_OPTIONS.Render(screen);
st_MAINMENU_HELP.Show();
st_MAINMENU_HELP.Render(screen);
st_MAINMENU_EXIT.Show();
st_MAINMENU_EXIT.Render(screen);
}
if(nMenu == 2){
st_NEWGAME_HOW_MUCH_KI.Show();
st_NEWGAME_HOW_MUCH_KI.Render(screen);
st_NEWGAME_ONE.Show();
st_NEWGAME_ONE.Render(screen);
st_NEWGAME_TWO.Show();
st_NEWGAME_TWO.Render(screen);
st_NEWGAME_THREE.Show();
st_NEWGAME_THREE.Render(screen);
}
}
// Benutzer-Teil: Menüführung
if(mup){
// Beenden?
if(st_MAINMENU_EXIT.hit(mausx, mausy)){
done = 1;
}
// Neues Spiel
if(st_MAINMENU_NEWGAME.hit(mausx, mausy)){
//SDL_Delay(500);
nMenu = 2;
dontchangemenu = 1;
}
// Wieviele Computerspieler?
// Einen
if(st_NEWGAME_ONE.hit(mausx, mausy)){
nMenu = 3;
nCPlayers = 1;
dontchangemenu = 1;
}
// Zwei
if(st_NEWGAME_TWO.hit(mausx, mausy)){
nMenu = 3;
nCPlayers = 2;
dontchangemenu = 1;
}
// Drei
if(st_NEWGAME_THREE.hit(mausx, mausy)){
nMenu = 3;
nCPlayers = 3;
dontchangemenu = 1;
}
// Ende: Wieviele PC-Spieler?
mup = 0;
}
if(gamestart){
Spiel.neustart();
gamestart = 0;
}
SDL_Flip(screen);
}