Add 2011/hamaji/try.sh, .nono files + formatting

The .nono files are more data files, some based on the authors' remarks
and two from a website they linked to.

The try.sh script runs the program on those files, others that were
already provided and if perl is installed it verifies that the perl
script will generate the same output as the entry being fed dragon.nono.

Format/typo check README.md file.

This should complete the review of 2011/hamaji.
This commit is contained in:
Cody Boone Ferguson committed 2023-11-28 09:56:18 -08:00
1 parent 596b1604ee
commit c7c274e5e0
8 files changed
+215 -45

No files matched your search

+95
View File
@@ -0,0 +1,95 @@
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC winner 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 -X
echo 1>&2
rm -f dragon dragon2
echo "Checking if you have perl installed..."
PERL="$(type -P perl)"
if [[ -n "$PERL" ]]; then
echo "Perl installed, will generate output of ./hamaji < dragon.nono."
read -r -n 1 -p "Press any key to run: $PERL c2nono.pl hamaji.c | ./hamaji > dragon: "
echo 1>&2
"$PERL" c2nono.pl hamaji.c | ./hamaji > dragon
read -r -n 1 -p "Press any key to run: ./hamaji < dragon.nono > dragon2: "
echo 1>&2
./hamaji < dragon.nono > dragon2
read -r -n 1 -p "Press any key to run: diff -s dragon dragon2: "
echo 1>&2
diff -s dragon dragon2
fi
rm -f dragon dragon2
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < random.nono: "
echo 1>&2
./hamaji < random.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < soccer.nono: "
echo 1>&2
./hamaji < soccer.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < codegolf.nono: "
echo 1>&2
./hamaji < codegolf.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < face.nono: "
echo 1>&2
./hamaji < face.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < penguin.nono: "
echo 1>&2
./hamaji < penguin.nono
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 -X
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < conway-game-of-life.nono: "
echo 1>&2
./hamaji < conway-game-of-life.nono
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: "
echo 1>&2
./hamaji < plus.nono
echo 1>&2
read -r -n 1 -p "Press any key to run: ./hamaji < smiley.nono: "
echo 1>&2
./hamaji < smiley.nono
exit 0