diff --git a/source/code/main.cpp b/source/code/main.cpp index d3e9032..77ef103 100644 --- a/source/code/main.cpp +++ b/source/code/main.cpp @@ -2758,7 +2758,7 @@ int PuzzleLevelSelect() const int xplace = 200; const int yplace = 300; Uint8 *keys; - int levelNr, mousex, mousey; + int levelNr, mousex, mousey, oldmousex, oldmousey; bool levelSelected = false; bool tempBool; int selected = 0; @@ -2811,17 +2811,55 @@ int PuzzleLevelSelect() levelNr = -1; levelSelected = true; } + if ( event.key.keysym.sym == SDLK_RETURN || event.key.keysym.sym == SDLK_KP_ENTER ) { + levelNr = selected; + levelSelected = true; + } if ( event.key.keysym.sym == SDLK_RIGHT ) { ++selected; if(selected >= nrOfPuzzles) selected = 0; cout << "Selected: "<< selected << endl; } + if ( event.key.keysym.sym == SDLK_LEFT ) { + --selected; + if(selected < 0) + selected = nrOfPuzzles; + cout << "Selected: "<< selected << endl; + } + if ( event.key.keysym.sym == SDLK_DOWN ) { + selected+=10; + if(selected >= nrOfPuzzles) + selected-=10; + cout << "Selected: "<< selected << endl; + } + if ( event.key.keysym.sym == SDLK_UP ) { + selected-=10; + if(selected < 0) + selected+=10; + cout << "Selected: "<< selected << endl; + } } keys = SDL_GetKeyState(NULL); SDL_GetMouseState(&mousex,&mousey); + if(mousex != oldmousex || mousey != oldmousey) { + int tmpSelected = -1; + int j; + for (j = 0; (j