Files

101 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 2011/hamaji
#
# 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
read -r -n 1 -p "Press any key to run: ./hamaji < dragon.nono (q = quit, space = next page): "
echo 1>&2
./hamaji < dragon.nono | less -rEXFK
echo 1>&2
rm -f dragon dragon2
PERL="$(type -P perl)"
if [[ -n "$PERL" && -f "$PERL" && -x "$PERL" ]]; then
echo "Perl installed, will generate output of ./hamaji < dragon.nono."
echo 1>&2
echo "$ $PERL c2nono.pl hamaji.c | ./hamaji | tee dragon"
read -r -n 1 -p "Press any key to continue (space = next page, q = quit): "
"$PERL" c2nono.pl hamaji.c | ./hamaji | tee dragon | less -rEXFK
echo 1>&2
echo "$ ./hamaji < dragon.nono | tee dragon2" 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < dragon.nono | tee dragon2 (space = next page, q = quit): "
echo 1>&2
./hamaji < dragon.nono | tee dragon2 | less -rEXFK
read -r -n 1 -p "Press any key to run: diff -s dragon dragon2: "
echo 1>&2
diff -s dragon dragon2
else
echo "Perl not found, will not run perl related steps." 1>&2
fi
rm -f dragon dragon2
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < random.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < random.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < soccer.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < soccer.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < codegolf.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < codegolf.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < face.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < face.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < penguin.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < penguin.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < samurai.nono (q = quit, space = next page): "
echo 1>&2
./hamaji < samurai.nono | less -rEXFK
echo 1>&2
echo "$ ./hamaji < conway-game-of-life.nono" 1>&2
read -r -n 1 -p "Press any key to continue (space = next page, q = quit): "
echo 1>&2
./hamaji < conway-game-of-life.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < no-solution.nono (no solution): "
echo 1>&2
./hamaji < no-solution.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < multi-solutions.nono (> 1 solution): "
echo 1>&2
./hamaji < multi-solutions.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < plus.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < plus.nono | less -rEXFK
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < smiley.nono (space = next page, q = quit): "
echo 1>&2
./hamaji < smiley.nono | less -rEXFK
exit 0