hard mode btn changed; logic changed on daily streak so if puzzle wasn't started and completed the previous day, then drop the streak

This commit is contained in:
David Volovskiy 2024-08-28 21:38:09 -04:00
parent 5435bc7f34
commit dd719183cf
2 changed files with 11 additions and 10 deletions

View File

@ -495,8 +495,9 @@ void wordle_face_activate(movement_settings_t *settings, void *context) {
wordle_state_t *state = (wordle_state_t *)context; wordle_state_t *state = (wordle_state_t *)context;
#if WORDLE_USE_DAILY_STREAK != 0 #if WORDLE_USE_DAILY_STREAK != 0
uint32_t now = get_day_unix_time(); uint32_t now = get_day_unix_time();
if (now >= (state->day_last_game_started + (60 *60 * 24)) && uint32_t one_day = 60 *60 * 24;
(is_playing(state) || WORDLE_USE_DAILY_STREAK == 2)) { if ((WORDLE_USE_DAILY_STREAK == 2 && now >= (state->day_last_game_started + (2*one_day)))
|| (now >= (state->day_last_game_started + one_day) && is_playing(state))) {
state->streak = 0; state->streak = 0;
reset_board(state); reset_board(state);
} }
@ -543,6 +544,11 @@ bool wordle_face_loop(movement_event_t event, movement_settings_t *settings, voi
display_letter(state, true); display_letter(state, true);
break; break;
case EVENT_LIGHT_LONG_PRESS: case EVENT_LIGHT_LONG_PRESS:
if (state->curr_screen < SCREEN_PLAYING) {
state->skip_wrong_letter = !state->skip_wrong_letter;
show_skip_wrong_letter_indicator(state->skip_wrong_letter, state->curr_screen);
break;
}
if (state->curr_screen != SCREEN_PLAYING) break; if (state->curr_screen != SCREEN_PLAYING) break;
get_prev_letter(state->position, state->word_elements, state->known_wrong_letters, state->skip_wrong_letter); get_prev_letter(state->position, state->word_elements, state->known_wrong_letters, state->skip_wrong_letter);
display_letter(state, true); display_letter(state, true);
@ -565,11 +571,6 @@ bool wordle_face_loop(movement_event_t event, movement_settings_t *settings, voi
} }
break; break;
case EVENT_ALARM_LONG_PRESS: case EVENT_ALARM_LONG_PRESS:
if (state->curr_screen < SCREEN_PLAYING) {
state->skip_wrong_letter = !state->skip_wrong_letter;
show_skip_wrong_letter_indicator(state->skip_wrong_letter, state->curr_screen);
break;
}
if (state->curr_screen != SCREEN_PLAYING) break; if (state->curr_screen != SCREEN_PLAYING) break;
display_letter(state, true); display_letter(state, true);
state->position = get_prev_pos(state->position, state->word_elements_result); state->position = get_prev_pos(state->position, state->word_elements_result);

View File

@ -46,7 +46,8 @@
* Else: Next screen * Else: Next screen
* Light Hold * Light Hold
* If Playing: Previous letter * If Playing: Previous letter
* Else: None * Else: Toggle Hard-Mode. This is skipping over letters that have been confirmed
* to not be in the word (indicated via 'H' in the top-right)
* *
* Alarm Press * Alarm Press
* If Playing: If WORDLE_USE_RANDOM_GUESS is set and Light btn held and * If Playing: If WORDLE_USE_RANDOM_GUESS is set and Light btn held and
@ -56,8 +57,7 @@
* Else: Next screen * Else: Next screen
* Alarm Hold * Alarm Hold
* If Playing: Previous position * If Playing: Previous position
* Else: Toggle Hard-Mode. This is skipping over letters that have been confirmed * Else: None
* to not be in the word (indicated via 'H' in the top-right)
* *
* Note: Actual Hard Mode in Wordle game is "Any revealed hints must be used in subsequent guesses" * Note: Actual Hard Mode in Wordle game is "Any revealed hints must be used in subsequent guesses"
* But that came off as clunky UX on the Casio. So instead it only removes unused letters from the keyboard * But that came off as clunky UX on the Casio. So instead it only removes unused letters from the keyboard