clause fixes #16
@@ -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<WIDTH; i++ )); do
|
||||
HARD_MODE_POS=$i # letter position that failed, for the error message
|
||||
|
||||
if [[ "${STRICT_HARD_MODE}" == 1 ]]; then
|
||||
[[ "${POOL}" == *${GUESS:i:1}* ]] || return 5
|
||||
fi
|
||||
@@ -331,7 +335,7 @@ function hard_mode_check() {
|
||||
for (( r=ROW-1; r>=0; r-- )); do
|
||||
CHAR="${GUESS:i:1}"
|
||||
PREV_CHAR="${YELLOWS[$r,$i]}"
|
||||
[[ "${CHAR}" == "${PREV_CHAR}" ]] && return 4
|
||||
[[ "${CHAR}" == "${PREV_CHAR}" ]] && return 6
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
Reference in new issue
Block a user