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