From 6627ff1fbec75f676d7240d404d4fab2a166e8fe Mon Sep 17 00:00:00 2001 From: David Volovskiy Date: Sun, 21 Dec 2025 10:50:59 -0500 Subject: [PATCH] accelerometer moving paddle fully out --- watch-faces/complication/ping_face.c | 11 +++++++++-- watch-faces/complication/ping_face.h | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/watch-faces/complication/ping_face.c b/watch-faces/complication/ping_face.c index 98665fe0..e35762e9 100644 --- a/watch-faces/complication/ping_face.c +++ b/watch-faces/complication/ping_face.c @@ -82,6 +82,7 @@ typedef struct { bool paddle_hit; bool paddle_released; uint8_t curr_freq; + bool moving_from_tap; } game_state_t; static game_state_t game_state; @@ -272,7 +273,7 @@ static void update_paddle(void) { } 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; @@ -285,6 +286,7 @@ static void update_paddle(void) { case PADDLE_RETRACTING: game_state.paddle_pos = PADDLE_RETRACTED; watch_display_character(' ', 8); + game_state.moving_from_tap = false; break; default: break; @@ -580,9 +582,14 @@ bool ping_face_loop(movement_event_t event, void *context) { 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; diff --git a/watch-faces/complication/ping_face.h b/watch-faces/complication/ping_face.h index bdd9e395..5aa5a62f 100644 --- a/watch-faces/complication/ping_face.h +++ b/watch-faces/complication/ping_face.h @@ -33,7 +33,7 @@ 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. */