diff --git a/wordle b/wordle index 7c353a5..4330009 100755 --- a/wordle +++ b/wordle @@ -262,12 +262,14 @@ function retrieve_guess() { validate_guess "${GUESS}" ; valid_guess=$? declare message + declare -r pos="${HARD_MODE_POS}" + declare -r letter="${GUESS:pos:1}" + declare -ra ordinals=(1st 2nd 3rd 4th 5th) [[ ${valid_guess} == 1 ]] && message="Not A Valid Word" - [[ ${valid_guess} == 2 ]] && message="Not A Valid Guess" - [[ ${valid_guess} == 3 ]] && message="GREEN Issue" - [[ ${valid_guess} == 4 ]] && message="YELLOW Issue" - [[ ${valid_guess} == 5 ]] && message="POOL Issue" - [[ ${valid_guess} == 6 ]] && message="NEW Issue" + [[ ${valid_guess} == 3 ]] && message="${ordinals[pos]} letter must be ${greens[pos]}" + [[ ${valid_guess} == 4 ]] && message="Must contain ${yellows[pos]}" + [[ ${valid_guess} == 5 ]] && message="${letter^^} is not in the word" + [[ ${valid_guess} == 6 ]] && message="${ordinals[pos]} letter can't be ${letter^^}" if [[ -n "${message}" ]]; then GUESS=$(retrieve_guess "${message}") || exit 1 @@ -316,6 +318,8 @@ function hard_mode_check() { declare GUESS=$1 for (( i=0; i=0; r-- )); do CHAR="${GUESS:i:1}" PREV_CHAR="${YELLOWS[$r,$i]}" - [[ "${CHAR}" == "${PREV_CHAR}" ]] && return 4 + [[ "${CHAR}" == "${PREV_CHAR}" ]] && return 6 done done