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

+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