Move 2013/birken/try.sh to try.alt.sh, add try.sh

This commit is contained in:
Cody Boone Ferguson committed 2023-12-02 14:47:46 -08:00
1 parent b157e5ddaf
commit fb65693ef5
4 files changed
+46 -13

No files matched your search

+2 -2
View File
@@ -26,7 +26,7 @@ the value used in `usleep(3)`. The default is `-DZ=13500`.
To see the program run on each text file, try:
```sh
./try.sh
./try.alt.sh
```
If you have perl installed it will also try a random run.
@@ -81,7 +81,7 @@ Use `birken` as you would `birken.alt` above.
To use the demo script with the original code, try:
```sh
BIRKEN=birken ./try.sh
./try.sh
```
PLEASE be careful if you are sensitive to flashing colours!
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC winner 2013/birken alt code
# 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 clobber CC="$CC" everything >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
trap 'reset; exit' 0 1 2 3 15
PERL="$(type -P perl)"
if [[ -n "$PERL" ]]; then
read -r -n 1 -p "Press any key to try a random run: "
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken.alt
fi
for i in *.txt; do
NAME="$(echo "$i" | awk '{ print toupper(substr($1,1,1)) substr($1,2)}'|sed -e 's/\.txt//g' \
-e 's/Ioccc/IOCCC/g' -e 's/Mspacman/Ms Pac-Man/g' -e 's/Helloworld/Hello World/g' \
-e 's/Cheepcheep/Cheep Cheep/g' -e 's/Happyface/Happy Face/g' -e 's/Paranaplant/Piranha Plant/g' \
-e 's/Koopaparatroopa/Koopa Paratroopa/g')"
read -r -n1 -p "Press any key to try $NAME: "
./birken.alt < "$i"
echo
done
clear
+2 -6
View File
@@ -14,17 +14,13 @@ make clobber CC="$CC" everything >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
if [[ -z "$BIRKEN" ]]; then
BIRKEN="birken.alt"
fi
trap 'reset; exit' 0 1 2 3 15
PERL="$(type -P perl)"
if [[ -n "$PERL" ]]; then
read -r -n 1 -p "Press any key to try a random run: "
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken.alt
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken
fi
for i in *.txt; do
@@ -33,7 +29,7 @@ for i in *.txt; do
-e 's/Cheepcheep/Cheep Cheep/g' -e 's/Happyface/Happy Face/g' -e 's/Paranaplant/Piranha Plant/g' \
-e 's/Koopaparatroopa/Koopa Paratroopa/g')"
read -r -n1 -p "Press any key to try $NAME: "
./"${BIRKEN}" < "$i"
./birken < "$i"
echo
done
clear