Просмотр исходного кода

bugfix: don't jump straight to game over screen

SimplyMinimal 3 лет назад
Родитель
Сommit
b3d5eeb4c4
1 измененных файлов с 2 добавлено и 6 удалено
  1. 2 6
      simon_says.c

+ 2 - 6
simon_says.c

@@ -497,7 +497,6 @@ enum shape_names getCurrentSimonMove(SimonData* app) {
 }
 }
 
 
 void onPlayerSelectedShapeCallback(enum shape_names shape, SimonData* app) {
 void onPlayerSelectedShapeCallback(enum shape_names shape, SimonData* app) {
-    //@todo Sound on select
     if(shape == getCurrentSimonMove(app)) {
     if(shape == getCurrentSimonMove(app)) {
         onPlayerAnsweredCorrect(app);
         onPlayerAnsweredCorrect(app);
     } else {
     } else {
@@ -579,6 +578,7 @@ int32_t simon_says_app_entry(void* p) {
 
 
     // Show Main Menu Screen
     // Show Main Menu Screen
     load_game(simon_state);
     load_game(simon_state);
+    restart_game_after_gameover(simon_state);
     simon_state->gameState = mainMenu;
     simon_state->gameState = mainMenu;
 
 
     while(true) {
     while(true) {
@@ -587,7 +587,7 @@ int32_t simon_says_app_entry(void* p) {
         FuriStatus q_status = furi_message_queue_get(
         FuriStatus q_status = furi_message_queue_get(
             event_queue, &input, simon_state->numberOfMillisecondsBeforeShapeDisappears);
             event_queue, &input, simon_state->numberOfMillisecondsBeforeShapeDisappears);
 
 
-        if(q_status == FuriStatusOk && simon_state->activePlayer == player) {
+        if(q_status == FuriStatusOk) {
             FURI_LOG_D(TAG, "Got input event: %d", input.key);
             FURI_LOG_D(TAG, "Got input event: %d", input.key);
             //break out of the loop if the back key is pressed
             //break out of the loop if the back key is pressed
             if(input.key == InputKeyBack && input.type == InputTypeLong) {
             if(input.key == InputKeyBack && input.type == InputTypeLong) {
@@ -598,10 +598,6 @@ int32_t simon_says_app_entry(void* p) {
                 break;
                 break;
             }
             }
 
 
-            if(input.type == InputTypeLong) {
-                // Do Nothing. Ignore long press events
-            }
-
             //@todo Set Game States
             //@todo Set Game States
             if(input.key == InputKeyOk && simon_state->gameState != inGame) {
             if(input.key == InputKeyOk && simon_state->gameState != inGame) {
                 restart_game_after_gameover(simon_state);
                 restart_game_after_gameover(simon_state);