Created
August 22, 2023 01:52
Revisions
-
rpearce created this gist
Aug 22, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,260 @@ #!/bin/bash set -o errexit set -o errtrace set -o nounset set -eou pipefail # ============================================================================== function clearscreen { printf '\033c' } # ============================================================================== function print_welcome { cat <<EOF ┌─────────────────────────┐ │ │ │ Welcome to │ │ │ │ Len's │ │ │ │ Silly Challenge! │ │ │ └─────────────────────────┘ EOF } function print_overview { cat <<EOF ┌───────────────────────────┐ │ │ │ You will be given │ │ │ │ THREE │ │ │ │ (obscure) │ │ │ │ questions about │ │ │ │ ¡GOLF! │ │ │ │ that you must answer │ │ │ │ to unlock... │ │ │ └───────────────────────────┘ EOF } function print_gift_preview { echo " ___ ___ ___ ___ "; echo " ___ /__/\ / /\ / /\ ___ / /\ ___ "; echo " / /\ \ \:\ / /:/_ / /:/_ / /\ / /:/_ / /\ "; echo " / /:/ \__\:\ / /:/ /\ / /:/ /\ / /:/ / /:/ /\ / /:/ "; echo " / /:/ ___ / /::\ / /:/ /:/_ / /:/_/::\ /__/::\ / /:/ /:/ / /:/ "; echo " / /::\ /__/\ /:/\:\ /__/:/ /:/ /\ /__/:/__\/\:\ \__\/\:\__ /__/:/ /:/ / /::\ "; echo " /__/:/\:\ \ \:\/:/__\/ \ \:\/:/ /:/ \ \:\ /~~/:/ \ \:\/\ \ \:\/:/ /__/:/\:\ "; echo " \__\/ \:\ \ \::/ \ \::/ /:/ \ \:\ /:/ \__\::/ \ \::/ \__\/ \:\ "; echo " \ \:\ \ \:\ \ \:\/:/ \ \:\/:/ /__/:/ \ \:\ \ \:\\"; echo " \__\/ \ \:\ \ \::/ \ \::/ \__\/ \ \:\ \__\/"; echo " \__\/ \__\/ \__\/ \__\/ "; } # ============================================================================== function run_q1 { local msg="${1-}" clearscreen print_q1 if [ -n "$msg" ]; then echo "$msg" fi read -erp "> " answer if [ "$answer" = "Condor" ] || [ "$answer" = "condor" ]; then echo "" print_q1_success else run_q1 "(Please try again)" fi } function print_q1 { cat <<EOF ┌──────────────────────────────────────┐ │ │ │ Q1: What do you call a hole in 1 │ │ on a par 5? (One word) │ │ │ └──────────────────────────────────────┘ EOF } function print_q1_success { cat <<EOF ┌────────────────┐ │ │ │ Great Job! │ │ │ └────────────────┘ EOF read -erp "(Press return to continue)" _ } # ============================================================================== function run_q2 { local msg="${1-}" clearscreen print_q2 if [ -n "$msg" ]; then echo "$msg" fi read -erp "> " answer if [ "$answer" = "1457" ]; then echo "" print_q2_success else run_q2 "(Please try again)" fi } function print_q2 { cat <<EOF ┌───────────────────────────────────────────────────┐ │ │ │ Q2: When was golf first mentioned in history? │ │ │ └───────────────────────────────────────────────────┘ EOF } function print_q2_success { cat <<EOF ┌────────────────────┐ │ │ │ Wow! You rock! │ │ │ └────────────────────┘ EOF read -erp "(Press return to continue)" _ } # ============================================================================== function run_q3 { local msg="${1-}" clearscreen print_q3 if [ -n "$msg" ]; then echo "$msg" fi read -erp "> " answer if [ "$answer" = "Feathers" ] || [ "$answer" = "feathers" ]; then echo "" print_q3_success else run_q3 "(Please try again)" fi } function print_q3 { cat <<EOF ┌────────────────────────────────────────────┐ │ │ │ Q3: Golf balls were originally made of │ │ leather and what other substance? │ │ │ └────────────────────────────────────────────┘ EOF } function print_q3_success { cat <<EOF ┌──────────────────────┐ │ │ │ Amazing! How did │ │ │ │ you know that?!? │ │ │ └──────────────────────┘ EOF read -erp "(Press return to continue)" _ } # ============================================================================== function print_gift { cat <<EOF ┌────────────────────────────────────────────────────────┐ │ │ │ You have earned \$75 to spend how you like, but I │ │ │ │ recommend ordering your favorite food and relaxing │ │ │ │ with your girls. │ │ │ │ │ │ │ │ Message me "I made par" to let me know to Venmo! │ │ │ │ │ │ │ │ Hope you're having a great day, │ │ │ │ ██████╗ ██████╗ ██████╗ ███████╗██████╗ ████████╗ │ │ ██╔══██╗██╔═══██╗██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ │ │ ██████╔╝██║ ██║██████╔╝█████╗ ██████╔╝ ██║ │ │ ██╔══██╗██║ ██║██╔══██╗██╔══╝ ██╔══██╗ ██║ │ │ ██║ ██║╚██████╔╝██████╔╝███████╗██║ ██║ ██║ │ │ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ │ │ │ │ │ └────────────────────────────────────────────────────────┘ EOF } # ============================================================================== function main { clearscreen print_welcome read -erp "(Press return to continue)" _ clearscreen print_overview read -erp "(Press return to continue)" _ print_gift_preview read -erp "(Press return to be tested)" _ run_q1 run_q2 run_q3 clearscreen print_gift read -erp "(Press return to go to a Ted Lasso GIF)" _ open https://gifdb.com/images/high/ted-lasso-high-five-01z3yguvu4vlrthk.gif } main