hard mode now check all previous rounds for yellow placement
Deploy game to server / deploy (push) Successful in 7s
Deploy game to server / deploy (push) Successful in 7s
This commit is contained in:
1 parent
fa2fdf80b7
commit
c530058c9b
1 file changed
+12
-13
@@ -27,6 +27,7 @@ declare -gr INDENT=$'\e[1C'
|
|||||||
function main() {
|
function main() {
|
||||||
declare -g ANSWER
|
declare -g ANSWER
|
||||||
declare -g POOL='QWERTYUIOPASDFGHJKLZXCVBNM'
|
declare -g POOL='QWERTYUIOPASDFGHJKLZXCVBNM'
|
||||||
|
declare -Ag YELLOWS
|
||||||
ANSWER=$(select_random_word)
|
ANSWER=$(select_random_word)
|
||||||
|
|
||||||
set_options "$@"
|
set_options "$@"
|
||||||
@@ -172,6 +173,7 @@ function retrive_guess() {
|
|||||||
[[ ${valid_guess} == 3 ]] && GUESS=$(retrive_guess "GREEN Issue")
|
[[ ${valid_guess} == 3 ]] && GUESS=$(retrive_guess "GREEN Issue")
|
||||||
[[ ${valid_guess} == 4 ]] && GUESS=$(retrive_guess "YELLOW Issue")
|
[[ ${valid_guess} == 4 ]] && GUESS=$(retrive_guess "YELLOW Issue")
|
||||||
[[ ${valid_guess} == 5 ]] && GUESS=$(retrive_guess "POOL Issue")
|
[[ ${valid_guess} == 5 ]] && GUESS=$(retrive_guess "POOL Issue")
|
||||||
|
[[ ${valid_guess} == 6 ]] && GUESS=$(retrive_guess "NEW Issue")
|
||||||
|
|
||||||
echo -n "${GUESS^^}"
|
echo -n "${GUESS^^}"
|
||||||
}
|
}
|
||||||
@@ -220,25 +222,21 @@ function hard_mode_check() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${yellows[i]}" ]]; then
|
if [[ -n "${yellows[i]}" ]]; then
|
||||||
[[ "${yellows[i]}" == "${GUESS:i:1}" ]] && return 4
|
[[ ! "${GUESS}" == *"${yellows[i]}"* ]] && return 4
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for (( r=row-1; r>=0; r-- )); do
|
||||||
|
CHAR="${GUESS:i:1}"
|
||||||
|
PREV_CHAR="${YELLOWS[$r,$i]}"
|
||||||
|
[[ "${CHAR}" == "${PREV_CHAR}" ]] && return 4
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function color_check() {
|
|
||||||
declare -r CHAR=$1
|
|
||||||
declare -r c=$2
|
|
||||||
declare -r r=$(( row-1 ))
|
|
||||||
|
|
||||||
PREV_ROW="${BOARD[$r,$c]}"
|
|
||||||
PREV_CHAR="${PREV_ROW: -2:1}"
|
|
||||||
|
|
||||||
[[ "${CHAR}" == "${PREV_CHAR}" ]] && return 0 || return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_guess() {
|
function check_guess() {
|
||||||
declare -r _guess=$1
|
declare -r _guess=$1
|
||||||
declare -r _row=$2
|
declare -r _row=$2
|
||||||
@@ -266,7 +264,8 @@ function check_guess() {
|
|||||||
|
|
||||||
if [[ "${chars}" == *${_char}* ]]; then
|
if [[ "${chars}" == *${_char}* ]]; then
|
||||||
chars="${chars/${_char}/}"
|
chars="${chars/${_char}/}"
|
||||||
yellows[c]="${_char}"
|
yellows[c]="${_char}" # volatile - stores previous row yellows
|
||||||
|
YELLOWS[$_row,$c]="${_char}" # stores all yellow from all rounds
|
||||||
BOARD[$_row,$c]="${BOLD}${LETTER}${YELLOW} ${_char} "
|
BOARD[$_row,$c]="${BOLD}${LETTER}${YELLOW} ${_char} "
|
||||||
else
|
else
|
||||||
POOL="${POOL/${_char}/_}"
|
POOL="${POOL/${_char}/_}"
|
||||||
|
|||||||
Reference in new issue
Block a user