fix for mode mode and strict hard mode

This commit is contained in:
adam committed 2025-01-29 01:36:30 +00:00
1 parent d1ff8262db
commit f37c483518
1 file changed
+10 -10
+10 -10
View File
@@ -179,7 +179,7 @@ function validate_guess() {
}
function hard_mode_check() {
[[ -z "${row}" || "${row}" == 0 ]] && return 0
#[[ -z "${row}" || "${row}" == 0 ]] && return 0
declare GUESS=$1
@@ -191,10 +191,9 @@ function hard_mode_check() {
if [[ -n "${greens[i]}" ]]; then
[[ "${greens[i]}" != "${GUESS:i:1}" ]] && return 3
fi
if [[ " ${yellows[*]} " =~ ${GUESS:i:1} ]]; then
unset 'yellows[i]'
color_check "${GUESS:i:1}" $i && return 4
if [[ -n "${yellows[i]}" ]]; then
[[ "${yellows[i]}" == "${GUESS:i:1}" ]] && return 4
fi
done
@@ -219,7 +218,6 @@ function check_guess() {
declare -r _answer="${ANSWER}"
declare chars=""
declare -ga greens=()
declare -ga yellows=()
for (( i=0; i<WIDTH; i++ )); do
@@ -232,20 +230,22 @@ function check_guess() {
declare _char=${_guess:$c:1}
if [[ "${_char}" == "${_answer:$c:1}" ]]; then
green_count=$(( green_count+1 ))
greens[c]="${_char}"
BOARD[$_row,$c]="${BOLD}${LETTER}${GREEN} ${_char} "
[[ "${#greens[*]}" -eq 5 ]] && return 5
continue
fi
[[ "${#greens[*]}" -eq 5 ]] && return 5
if [[ "${chars}" == *${_char}* ]]; then
chars="${chars/${_char}/}"
yellows[c]="${_char}"
BOARD[$_row,$c]="${BOLD}${LETTER}${YELLOW} ${_char} "
else
POOL="${POOL/${_char}/_}"
continue
fi
[[ " ${yellows[*]} " =~ ${_char} ]] && continue
[[ " ${greens[*]} " =~ ${_char} ]] && continue
POOL="${POOL/${_char}/_}"
done
}