Improve scripts (and add one) of 2012/kang

The try.alt.sh uses the alt code. This helps further show how a single
letter can change so much and thus one can really appreciate the
subtlety of the entry even more. The other scripts were improved.
This commit is contained in:
Cody Boone Ferguson committed 2024-01-26 09:47:01 -08:00
1 parent 75634c62bb
commit 69ee0b8de6
8 files changed
+106 -23

No files matched your search

+11 -4
View File
@@ -36,8 +36,9 @@ where the sound of 'V' is 'F' and so the program had the letter be 'F'. A
problem, however, with changing it is that it breaks other words including in
German. Thus there is the alternate version instead which fixes a problem for
Germans that causes problems for Germans so if you're German you'll just have to
deal with it :-) It is, however, good as you might be able appreciate the entry
even more.
deal with it :-) It also breaks other words too and this happens only for one
letter change. With this one should hopefully be able to really appreciate the
subtlety of this entry even more.
### Alternate build:
@@ -50,7 +51,10 @@ make alt
### Alternate use:
```sh
echo "full spelling of an English cardinal numeral less than a quadrillion" | ./kang.alt
echo vier | ./kang.alt
echo uno | ./kang.alt
```
@@ -58,14 +62,17 @@ echo uno | ./kang.alt
### Alternate try:
```sh
./de.alt.sh # German 0 through 13 both with and without umlaut
./try.alt.sh # try various languages
./en.alt.sh # English 0 through 13
./de.alt.sh # German 0 through 13 with both umlauts and without (additional 'e')
```
What does it get right? What does it get wrong? How does it compare to the
original entry without the change of `f` to `v`?
Finally why does it get what it gets wrong wrong?
Finally why does it get wrong what it gets wrong?
## Judges' remarks:
+4 -3
View File
@@ -37,7 +37,8 @@ done
j=0
for i in Null eins zwei drei vier fünf fuenf sechs sieben acht neun zehn elf zwoelf zwölf dreizehn ; \
do
echo -n "$i (${NUMBERS[$j]}): "
echo "$i"|"./$KANG"
((j++))
read -r -n 1 -p "Press any key to run: echo $i | ./$KANG # ${NUMBERS[$j]}: "
echo 1>&2
echo "$i" | "./$KANG"
((j++))
done
+4 -3
View File
@@ -37,7 +37,8 @@ done
j=0
for i in Null eins zwei drei vier fünf fuenf sechs sieben acht neun zehn elf zwoelf zwölf dreizehn ; \
do
echo -n "$i (${NUMBERS[$j]}): "
echo "$i"|"./$KANG"
((j++))
read -r -n 1 -p "Press any key to run: echo $i | ./$KANG # ${NUMBERS[$j]}: "
echo 1>&2
echo "$i" | "./$KANG"
((j++))
done
+3 -2
View File
@@ -32,7 +32,8 @@ done
j=0
for i in zero one two three four five six seven eight nine ten eleven twelve thirteen ; \
do
echo -n "$i (${NUMBERS[$j]}): "
echo "$i"|"./$KANG"
read -r -n 1 -p "Press any key to run: echo $i | ./$KANG # ${NUMBERS[$j]}: "
echo 1>&2
echo "$i" | "./$KANG"
((j++))
done
+3 -2
View File
@@ -33,7 +33,8 @@ done
j=0
for i in zero one two three four five six seven eight nine ten eleven twelve thirteen ; \
do
echo -n "$i (${NUMBERS[$j]}): "
echo "$i"|"./$KANG"
read -r -n 1 -p "Press any key to run: echo $i | ./$KANG # ${NUMBERS[$j]}: "
echo 1>&2
echo "$i" | "./$KANG"
((j++))
done
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env bash
#
# try.alt.sh - demonstrate IOCCC winner 2012/kang 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 CC="$CC" everything >/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: echo Nineteen hundred and eighty-four | ./kang.alt # 1984: "
echo 1>&2
echo Nineteen hundred and eighty-four | ./kang.alt
echo 1>&2
read -r -n 1 -p "Press any key to run: echo uno | ./kang.alt # 1: "
echo 1>&2
echo uno | ./kang.alt
echo 1>&2
read -r -n 1 -p "Press any key to run: echo trois | ./kang.alt # 3: "
echo 1>&2
echo trois | ./kang.alt
echo 1>&2
read -r -n 1 -p "Press any key to run: echo fier | ./kang.alt # 4, should be vier: "
echo 1>&2
echo fier | ./kang.alt
echo 1>&2
read -r -n 1 -p "Press any key to run: echo vier | ./kang.alt # 4: "
echo 1>&2
echo vier | ./kang.alt
echo 1>&2
read -r -n 1 -p "Press any key to run: echo \"shest'\" | ./kang.alt # 6: "
echo 1>&2
echo "shest'" | ./kang.alt
echo 1>&2
read -r -n 1 -p "Press any key to run: echo dos | ./kang.alt # 2: "
echo 1>&2
echo dos | ./kang.alt
echo 1>&2
+26 -6
View File
@@ -14,20 +14,40 @@ make CC="$CC" everything >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
echo "$ echo Nineteen hundred and eighty-four | ./kang" 1>&2
read -r -n 1 -p "Press any key to run: echo Nineteen hundred and eighty-four | ./kang # 1984: "
echo 1>&2
echo Nineteen hundred and eighty-four | ./kang
echo 1>&2
echo "$ echo uno | ./kang" 1>&2
read -r -n 1 -p "Press any key to run: echo uno | ./kang # 1: "
echo 1>&2
echo uno | ./kang
echo 1>&2
echo "$ echo trois | ./kang" 1>&2
read -r -n 1 -p "Press any key to run: echo trois | ./kang # 3: "
echo 1>&2
echo trois | ./kang
echo 1>&2
echo "$ echo fier | ./kang # notice the issue here, see alternate code instead" 1>&2
read -r -n 1 -p "Press any key to run: echo fier | ./kang # 4, should be vier: "
echo 1>&2
echo fier | ./kang # notice the issue here, see alternate code instead
echo 1>&2
echo "$ echo \"shest'\" | ./kang" 1>&2
read -r -n 1 -p "Press any key to run: echo vier | ./kang # 4: "
echo 1>&2
echo vier | ./kang # notice the issue here, see alternate code instead
echo 1>&2
echo "Note: for a version that gets this one right (breaking others" 1>&2
echo "including fier), see the alt code." 1>&2
echo 1>&2
read -r -n 1 -p "Press any key to run: echo \"shest'\" | ./kang # 6: "
echo 1>&2
echo "shest'" | ./kang
echo 1>&2
echo "$ echo dos | ./kang" 1>&2
read -r -n 1 -p "Press any key to run: echo dos | ./kang # 2: "
echo 1>&2
echo dos | ./kang
echo 1>&2