From a8ccd996320a7aadb8ac01500c3506d34995be4d Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 11 Jan 2024 06:24:11 -0800 Subject: [PATCH] Rename 1994/westley/spoiler.sh try.sh The script now first checks columns (tput cols) and if it's not 80 it will ask the user if they still wish to continue. Checking the tab length of 8 and wraparound is probably not worth the effort. Also unfortunately output is not as nice as it used to be because compilers show more context with errors. Still having columns at 80 does improve the output a fair bit. --- 1994/westley/Makefile | 2 ++ 1994/westley/README.md | 10 +++++----- 1994/westley/spoiler.sh | 19 ------------------ 1994/westley/try.sh | 43 +++++++++++++++++++++++++++++++++++++++++ thanks-for-help.md | 2 +- 5 files changed, 51 insertions(+), 25 deletions(-) delete mode 100755 1994/westley/spoiler.sh create mode 100755 1994/westley/try.sh diff --git a/1994/westley/Makefile b/1994/westley/Makefile index cda9acaa9..51e819ef0 100644 --- a/1994/westley/Makefile +++ b/1994/westley/Makefile @@ -128,9 +128,11 @@ all: data ${TARGET} sandwich supernova deep_magic magic charon pluto ${PROG}: ${PROG}.c + @echo "=-=-=-=-=" @echo "NOTE: this entry has different compiler errors based on compilation line." @echo "The purpose is to find the right error message to win the game!" @echo "NOTE: your terminal should be set to 80 columns, 8 character tabs, and wraparound." + @echo "=-=-=-=-=" -${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} # alternative executable diff --git a/1994/westley/README.md b/1994/westley/README.md index 9023fe8cd..f2095529a 100644 --- a/1994/westley/README.md +++ b/1994/westley/README.md @@ -5,10 +5,13 @@ make all ``` NOTE: the purpose of this entry is to escape the dungeon via the compiler line -where you get messages as compiler errors. Depending on the compiler line you +where you **get messages as compiler errors**. Depending on the compiler line you will get different error messages and one compiler line will make you win the game! +NOTE: your terminal should be set to 80 columns, 8 character tabs, and +wraparound. + ## To use: @@ -25,9 +28,6 @@ cc -Describe -Door westley.c cc -Describe -Drain westley.c ``` -NOTE: your terminal should be set to 80 columns, 8 character tabs, and -wraparound. - ## Judges' remarks: @@ -38,7 +38,7 @@ For spoilers see the end of the notes from the author below. To use: ```sh -./spoiler.sh +./try.sh ``` diff --git a/1994/westley/spoiler.sh b/1994/westley/spoiler.sh deleted file mode 100755 index acd566b6d..000000000 --- a/1994/westley/spoiler.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -cc -Describe -Door westley.c -cc -Describe -Drain westley.c -cc -Describe -Dwarf westley.c -cc -Describe -Debris westley.c # or -Dungeon -cc -Describe -Desk westley.c -cc -Describe -Dime westley.c -cc -Describe -Directory westley.c -cc -Dial -DUNgeon0614 westley.c -cc -Drink -Daiquiri westley.c -cc -Drop -Daiquiri westley.c -cc -Drop -Dwarf -Daiquiri westley.c # or -Drop -Down -Daiquiri -cc -Describe -Document westley.c -cc -Depress -Dotted -Dog westley.c -cc -Depress -Dalmatian westley.c # also accepts "Dalmation" [sic] -cc -Deposit -Dime westley.c -cc -Drop -Donut westley.c -cc -Drop -Donut -Down -Drain westley.c # or -Drop -Dwarf -Donut diff --git a/1994/westley/try.sh b/1994/westley/try.sh new file mode 100755 index 000000000..0a118d5ce --- /dev/null +++ b/1994/westley/try.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 1994/westley +# + +# make sure CC is set so that one can control what compiler to use in an easy +# way. +if [[ -z "$CC" ]]; then + CC="cc" +fi + +# check for 80 columns +COLS="$(tput cols)" +if [[ "$COLS" != 80 ]]; then + echo "WARNING: without a terminal with 80 columns, 8 character tabs and wraparound" 1>&2 + echo "this will not look that great. We have detected that you do not have your terminal" 1>&2 + read -r -p "Do you still wish to continue (Y/N)? " + if [[ "$REPLY" != "y" && "$REPLY" != "Y" ]]; then + exit 1 + fi +fi + +clear + + + +"${CC}" -Describe -Door westley.c +"${CC}" -Describe -Drain westley.c +"${CC}" -Describe -Dwarf westley.c +"${CC}" -Describe -Debris westley.c # or -Dungeon +"${CC}" -Describe -Desk westley.c +"${CC}" -Describe -Dime westley.c +"${CC}" -Describe -Directory westley.c +"${CC}" -Dial -DUNgeon0614 westley.c +"${CC}" -Drink -Daiquiri westley.c +"${CC}" -Drop -Daiquiri westley.c +"${CC}" -Drop -Dwarf -Daiquiri westley.c # or -Drop -Down -Daiquiri +"${CC}" -Describe -Document westley.c +"${CC}" -Depress -Dotted -Dog westley.c +"${CC}" -Depress -Dalmatian westley.c # also accepts "Dalmation" [sic] +"${CC}" -Deposit -Dime westley.c +"${CC}" -Drop -Donut westley.c +"${CC}" -Drop -Donut -Down -Drain westley.c # or -Drop -Dwarf -Donut diff --git a/thanks-for-help.md b/thanks-for-help.md index a9e8087ea..fee42d17e 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -1853,7 +1853,7 @@ number but rather a newline. ## [1994/westley](/1994/westley/westley.c) ([README.md](/1994/westley/README.md])) [Cody](#cody) converted the spoiler compiler options (provided by the author) to be -compiler commands and added a script [spoiler.sh](/1994/westley/spoiler.sh) to +compiler commands and added a script [try.sh](/1994/westley/try.sh) to automate the spoiler commands to make it easier to see the game in action from start to finish.