diff --git a/1998/chaos/README.md b/1998/chaos/README.md index d4f1f1521..da54ee82c 100644 --- a/1998/chaos/README.md +++ b/1998/chaos/README.md @@ -21,6 +21,21 @@ make chaos_nohalf ``` +## Try: + + +```sh +./try.sh +``` + +This script will run the program on each data file. To quit the program hit `q`. +If not all files have been used it will go to the next one; otherwise the script +will be finished. To end the script early send intr/ctrl-c. + +The script will give you instructions on how to use the program and things to +try each time it is run, as a helpful reminder. + + ## Judge's Comments: This is the author's first IOCCC entry. We thought the entry was diff --git a/1998/chaos/try.sh b/1998/chaos/try.sh new file mode 100755 index 000000000..2c0f0de04 --- /dev/null +++ b/1998/chaos/try.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# +# try.sh - demonstrate IOCCC winner 1998/chaos +# + +# 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 + +show_instructions() +{ + echo 1>&2 + echo "Try the keys 'y', 'u', 'i', 'h', 'j' and 'k'; 'a' and 'z' zoom in and out." 1>&2 + echo "When tired of moving it manually wait a short bit and watch what happens. You" 1>&2 + echo "might try zooming in and out and then wait for it to start moving (again or" 1>&2 + echo "initially). You can interrupt the automatic movement by pressing any key or 'q' to" 1>&2 + echo "quit. Send intr/ctrl-c to quit the script prematurely." 1>&2 + echo 1>&2 +} + +for f in cube.data desk.data ioccc.data pyramid.data xwing.data; do + clear + show_instructions + read -r -n 1 -p "Press any key to run: ./chaos $f: " + echo 1>&2 + ./chaos "$f" +done diff --git a/thanks-for-help.md b/thanks-for-help.md index 85c7ee169..8c78fd3c9 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -2259,6 +2259,10 @@ as well as allowing one to pass in different file names or strings. [Cody](#cody) added a call to `endwin()` to restore terminal sanity (echo etc.) when exiting the program (in both versions). +Cody also added the [try.sh](/1998/chaos/try.sh) script that runs the program on +all the data files, giving instructions on how to rotate and zoom in and out, +prior to each run. + ## [1998/df](/1998/df/df.c) ([README.md](/1998/df/README.md]))