diff --git a/1995/heathbar/README.md b/1995/heathbar/README.md index 5f35526b3..a18afe62c 100644 --- a/1995/heathbar/README.md +++ b/1995/heathbar/README.md @@ -17,7 +17,7 @@ where num is a non-negative number. ## Try: ```sh -./heathbar 4253 2281 +./try.sh ``` diff --git a/1995/heathbar/try.sh b/1995/heathbar/try.sh new file mode 100755 index 000000000..29deea7ab --- /dev/null +++ b/1995/heathbar/try.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 1995/heathbar +# + +# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it +# this way allows us to have the user specify a different compiler in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +make CC="$CC" all >/dev/null || exit 1 + +# clear screen after compilation so that only the entry is shown +clear + +heathbar() +{ + if [[ "$#" -ne 2 ]]; then + echo "$0: heathbar() expects two args, got $#" 1>&2 + return + elif [[ "$1" -lt 0 || "$2" -lt 0 ]]; then + echo "$0: heathbar() expects two positive digits, got $1 $2" 1>&2 + return + fi + + read -r -n 1 -p "Press any key to run: ./heathbar $1 $2: " + echo 1>&2 + ./heathbar "$1" "$2" + echo 1>&2 + + read -r -n 1 -p "Press any key to run: echo \$(($1 + $2)): " + echo 1>&2 + echo "$(("$1" + "$2"))" + echo 1>&2 + + if [[ $(("$1"+"$2")) == "$(./heathbar "$1" "$2")" ]]; then + echo "\$(($1+$2)) == ./heathbar $1 $2: $(./heathbar "$1" "$2")" 1>&2 + else + echo "ERROR: \$(($1+$2)) != ./heathbar $1 $2: $(($1+$2)) != $(./heathbar "$1" "$2")" 1>&2 + fi + + echo 1>&2 +} +heathbar 4253 2281 +heathbar 1 2 +heathbar 3 5 +heathbar 1234 999 +read -r -n 1 -p "Press any key to try non-numbers: " +echo 1>&2 +heathbar foo bar diff --git a/thanks-for-help.md b/thanks-for-help.md index b665eea4e..e90c383b7 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -2052,6 +2052,11 @@ to specify which one to use is to make it easier on the user as typing running `./try.alt.sh`. +## [1995/heathbar](/1995/heathbar/heathbar.c) ([README.md](/1995/heathbar/README.md])) + +[Cody](#cody) added the [try.sh](/1995/heathbar/try.sh) script. + + ## [1995/leo](/1995/leo/leo.c) ([README.md](/1995/leo/README.md])) At our change in how to deal with spoilers, [Cody](#cody) uudecoded the spoiler provided