bool paddle_hit;
bool paddle_released;
uint8_t curr_freq;
+ bool moving_from_tap;
} game_state_t;
static game_state_t game_state;
}
break;
case PADDLE_EXTENDING:
- if (!HAL_GPIO_BTN_ALARM_read()) {
+ if (!game_state.moving_from_tap && !HAL_GPIO_BTN_ALARM_read()) {
game_state.paddle_pos = PADDLE_RETRACTED;
} else {
game_state.paddle_pos = PADDLE_EXTENDED;
case PADDLE_RETRACTING:
game_state.paddle_pos = PADDLE_RETRACTED;
watch_display_character(' ', 8);
+ game_state.moving_from_tap = false;
break;
default:
break;
display_score_screen(state);
break;
}
- //fall through
+ else if (game_state.curr_screen == SCREEN_PLAYING){
+ game_state.moving_from_tap = true;
+ game_state.paddle_hit = true;
+ }
+ break;
case EVENT_ALARM_BUTTON_DOWN:
if (game_state.curr_screen == SCREEN_PLAYING){
+ game_state.moving_from_tap = false;
game_state.paddle_hit = true;
}
break;
https://www.instagram.com/reel/DNlTb-ERE1F/
On the title screen, you can select a difficulty by long-pressing LIGHT or toggle sound by long-pressing ALARM.
ALARM are used to paddle. Holding the ALARM button longer makes the paddle travel further.
- If the accelerometer is installed, you can tap the screen to move the paddle.
+ If the accelerometer is installed, you can tap the screen to move the paddle. Paddle will travel its full distance when tapping is used.
High-score is displayed on the top-right on the title screen. During a game, the current score is displayed.
*/