From 437d46e975818a1516626c65bc9d4242aad70dd9 Mon Sep 17 00:00:00 2001 From: abrown38 Date: Tue, 29 Sep 2026 17:07:46 +0000 Subject: [PATCH] add colour to keyboard --- wordle | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/wordle b/wordle index f7ea4b0..e2003fe 100755 --- a/wordle +++ b/wordle @@ -33,6 +33,7 @@ function main() { declare -g ANSWER declare -g POOL='QWERTYUIOPASDFGHJKLZXCVBNM' declare -Ag YELLOWS + declare -Ag KEYS ANSWER=$(select_random_word) set_options "$@" @@ -262,7 +263,12 @@ function render_keyboard() { elif [[ $i == 19 ]]; then echo -en "${NEWLINE} " fi - echo -n "${POOL:$i:1} " + declare key="${POOL:$i:1}" + if [[ -n "${KEYS[$key]}" ]]; then + echo -n "${KEYS[$key]}${BOLD}${LETTER}${key}${RESET} " + else + echo -n "${key} " + fi done echo -en "${NEWLINE}" } @@ -333,6 +339,7 @@ function check_guess() { if [[ "${_char}" == "${_answer:$c:1}" ]]; then greens[c]="${_char}" + KEYS[$_char]="${GREEN}" BOARD[$_row,$c]="${GREEN}${BOLD}${LETTER} ${_char} ${UNBOLD}" continue fi @@ -341,6 +348,7 @@ function check_guess() { chars="${chars/${_char}/}" yellows[c]="${_char}" # volatile - stores previous row yellows YELLOWS[$_row,$c]="${_char}" # stores all yellow from all rounds + [[ "${KEYS[$_char]}" != "${GREEN}" ]] && KEYS[$_char]="${YELLOW}" BOARD[$_row,$c]="${YELLOW}${BOLD}${LETTER} ${_char} ${UNBOLD}" fi [[ "${ANSWER}" =~ ${_char} ]] && continue @@ -384,6 +392,10 @@ function save_game() { echo "YELLOWS[$key]='${YELLOWS[$key]}'" >> "${PROGRESS_FILE}" done + for key in "${!KEYS[@]}"; do + echo "KEYS[$key]='${KEYS[$key]}'" >> "${PROGRESS_FILE}" + done + { echo "ROW=${ROW}" echo "POOL=${POOL}"