release winning entries of IOCCC28 under the year 2024

Congratulations to:

* 2024/anders - Prize in sound coding - layered music generator
* 2024/burton - Prize in pentagrammatology - wordle hard mode solver
* 2024/cable1 - Prize in bot talk - LLM inference engine
* 2024/cable2 - Prize in murky waters - salmon recipe
* 2024/carlini - Prize in perfect timing - Intel 4004 emulation
* 2024/codemeow - Prize in tray planting - bonsai generator
* 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP
* 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation
* 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil
* 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator
* 2024/howe - Nice accent eh-ward - mini vi
* 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator
* 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon
* 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal
* 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom
* 2024/kurdyukov4 - Prize in embiggening - encode without literals
* 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter
* 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter
* 2024/stedolan - Best one liner - icon from MD5
* 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux
* 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation
* 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor
* 2024/weaver - Sur prize - rickroll

Ran `make update` to perform the above.
 	new file:   2024/burton/.entry.json
This commit is contained in:
Landon Curt Noll committed 2025-08-02 14:43:07 -07:00
1 parent 10512e6c79
commit 09750f8899
443 files changed
+182938 -231

No files matched your search

+160
View File
@@ -0,0 +1,160 @@
#!/usr/bin/env bash
#
# try.sh - demonstrate 2024/mills
# 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.
#
[[ -z "$CC" ]] && CC="cc"
# make sure the program has been built
#
make CC="$CC" all >/dev/null || exit 1
# clear the screen
#
clear
# admire the source
#
read -r -n 1 -p "Press any key to admire the source code: "
echo 1>&2
echo 1>&2
cat prog.c 1>&2
echo 1>&2
# select a game
#
read -r -n 1 -p "Press any key to when ready: "
export SELECT=""
while [[ -z $SELECT ]]; do
export NAME=""
export Z3=""
export SAVE=""
echo 1>&2
echo 'Select a game (if in doubt try 0 or 1 first):' 1>&2
echo 1>&2
echo ' 0 minizork - Demo version of the original Zork' 1<&2
echo ' 1 advent - Colossal Cave Adventure' 1>&2
echo ' 2 curses - Hunting about in the attic of your family home' 1>&2
echo ' 3 fantasydimension - Fantasy world adventure via an enigmatic airlock' 1>&2
echo ' 4 moonglow - Spacecraft lands in a nearby corn field' 1>&2
echo ' 5 submarine-sabotage - Serving aboard top-secret Puny class submarine' 1>&2
echo ' 6 tristam - Surviving on Tristam island after a crash' 1>&2
echo ' 7 sampler1_R55 - 1984 Infocom interactive fiction tutorial with 4 game samples' 1>&2
echo ' 8 sampler2 - 1997 Infocom interactive fiction tutorial with 3 game samples' 1>&2
echo ' 9 ((Enter a z3 filename))' 1>&2
# *.z3
echo 1>&2
echo ' NOTE: For 9: Search and download a .z3 file from: https://ifdb.org/#games' 1>&2
echo ' After entering 9, give the path to the .z3 file you downloaded.' 1>&2
echo 1>&2
echo ' q Quit without running a game' 1>&2
echo 1>&2
read -r -n 1 -p "Enter your selection: " SELECT
echo 1>&2
echo 1>&2
# validate prompt
#
case "$SELECT" in
0) NAME="minizork" ;;
1) NAME="advent" ;;
2) NAME="curses-r10" ;;
3) NAME="fantasydimension" ;;
4) NAME="submarine-sabotage" ;;
5) NAME="moonglow" ;;
6) NAME="tristam" ;;
7) NAME="sampler1_R55" ;;
8) NAME="sampler2" ;;
9) NAME="//tbd//" ;;
q) exit 0 ;;
Q) exit 0 ;;
*) echo 'ERROR: invalid selection, try again' 1>&2
SELECT="" # ask for a different selection
continue ;;
esac
# case: enter z3 file path
#
if [[ $NAME == "//tbd//" ]]; then
read -r -p "Enter path to a z3 file: " Z3
echo 1>&2
echo 1>&2
NAME=$(basename "$Z3" .z3)
SAVE="$NAME.sav"
# else: form save filename and Z3 filename
#
else
Z3="$NAME.z3"
SAVE="$NAME.sav"
fi
# Z3 file must be a readable non-empty z3 file
#
if [[ ! -e $Z3 ]]; then
SELECT="" # ask for a different selection
echo "ERROR: z3 file does not exist: $Z3" 1>&2
echo 1>&2
continue
fi
if [[ ! -f $Z3 ]]; then
SELECT="" # ask for a different selection
echo "ERROR: z3 is not a file: $Z3" 1>&2
echo 1>&2
continue
fi
if [[ ! -r $Z3 ]]; then
SELECT="" # ask for a different selection
echo "ERROR: z3 is not a readable file: $Z3" 1>&2
echo 1>&2
continue
fi
if [[ ! -s $Z3 ]]; then
SELECT="" # ask for a different selection
echo "ERROR: z3 is not a non-empty readable file: $Z3" 1>&2
echo 1>&2
continue
fi
# SAVE must be a writable file
#
if [[ ! -e $SAVE ]]; then
touch "$SAVE"
select="$?"
if [[ $select -ne 0 || ! -f $SAVE ]]; then
SELECT="" # ask for a different selection
echo "ERROR: cannot create save file: $SAVE" 1>&2
echo 1>&2
continue
fi
fi
if [[ ! -f $SAVE ]]; then
SELECT="" # ask for a different selection
echo "ERROR: save is not a file: $SAVE" 1>&2
echo 1>&2
continue
fi
if [[ ! -w $SAVE ]]; then
SELECT="" # ask for a different selection
echo "ERROR: z3 is not a writble file: $SAVE" 1>&2
echo 1>&2
continue
fi
done
# run the game
#
echo 'Please note these general commands:' 1>&2
echo 1>&2
echo ' quit exit the game (be sure to save first!)' 1>&2
echo ' save save game state to file (2nd arg)' 1>&2
echo ' restore restore game state from file (2nd arg)' 1>&2
echo 1>&2
read -r -n 1 -p "Press any key to run ./prog $Z3 $SAVE: "
clear
./prog "$Z3" "$SAVE"
echo 1>&2