Add 1998/chaos/try.sh

The script runs the program on each data file, explaining how to use the
program, things to try and how to quit the program and how to terminate
the script prematurely.
This commit is contained in:
Cody Boone Ferguson committed 2024-01-19 06:42:33 -08:00
1 parent ee5d57352f
commit ed47e4ab55
3 files changed
+54

No files matched your search

+15
View File
@@ -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
+35
View File
@@ -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
+4
View File
@@ -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.
## <a name="1998_df"></a>[1998/df](/1998/df/df.c) ([README.md](/1998/df/README.md]))