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() {
|
||||
declare -g ANSWER
|
||||
declare -g POOL='QWERTYUIOPASDFGHJKLZXCVBNM'
|
||||
declare -Ag YELLOWS
|
||||
ANSWER=$(select_random_word)
|
||||
|
||||
set_options "$@"
|
||||
@@ -172,6 +173,7 @@ function retrive_guess() {
|
||||
[[ ${valid_guess} == 3 ]] && GUESS=$(retrive_guess "GREEN Issue")
|
||||
[[ ${valid_guess} == 4 ]] && GUESS=$(retrive_guess "YELLOW Issue")
|
||||
[[ ${valid_guess} == 5 ]] && GUESS=$(retrive_guess "POOL Issue")
|
||||
[[ ${valid_guess} == 6 ]] && GUESS=$(retrive_guess "NEW Issue")
|
||||
|
||||
echo -n "${GUESS^^}"
|
||||
}
|
||||
@@ -220,25 +222,21 @@ function hard_mode_check() {
|
||||
fi
|
||||
|
||||
if [[ -n "${yellows[i]}" ]]; then
|
||||
[[ "${yellows[i]}" == "${GUESS:i:1}" ]] && return 4
|
||||
[[ ! "${GUESS}" == *"${yellows[i]}"* ]] && return 4
|
||||
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
|
||||
|
||||
|
||||
|
||||
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() {
|
||||
declare -r _guess=$1
|
||||
declare -r _row=$2
|
||||
@@ -266,7 +264,8 @@ function check_guess() {
|
||||
|
||||
if [[ "${chars}" == *${_char}* ]]; then
|
||||
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} "
|
||||
else
|
||||
POOL="${POOL/${_char}/_}"
|
||||
|
||||
Reference in new issue
Block a user