diff --git a/1991/ant/README.md b/1991/ant/README.md
index 60cd90ec6..04cce98b2 100644
--- a/1991/ant/README.md
+++ b/1991/ant/README.md
@@ -88,12 +88,24 @@ results depending on the implementation of `curses`.
### Commands
```
- h j k l left, down, up, right cursor movement
- H J K L word left, page down, page up, word right
- [ ] beginning and end of line
- t b top and bottom of file
- i enter insert mode, form-feed to quit
- x delete character under the cursor
+ h j k l left,
+ down,
+ up,
+ right
+ cursor movement
+ H J K L word left,
+ page down,
+ page up,
+ word right
+ [ ] beginning and
+ end of line
+ t b top and bottom
+ of file
+ i enter insert
+ mode, form-feed
+ to quit
+ x delete character
+ under the cursor
W write buffer to file
R refresh the screen
Q quit
@@ -104,7 +116,8 @@ results depending on the implementation of `curses`.
```
0 success
- 2 missing edit filename
+ 2 missing edit
+ filename
```
diff --git a/1991/ant/index.html b/1991/ant/index.html
index 023f6b537..6c71de905 100644
--- a/1991/ant/index.html
+++ b/1991/ant/index.html
@@ -448,18 +448,31 @@ Carriage return is mapped to newline on input and ignored on output. Tab stops
are every eight columns. Non-printable characters may have unpredictable
results depending on the implementation of curses.
h j k l left, down, up, right cursor movement
- H J K L word left, page down, page up, word right
- [ ] beginning and end of line
- t b top and bottom of file
- i enter insert mode, form-feed to quit
- x delete character under the cursor
+ h j k l left,
+ down,
+ up,
+ right
+ cursor movement
+ H J K L word left,
+ page down,
+ page up,
+ word right
+ [ ] beginning and
+ end of line
+ t b top and bottom
+ of file
+ i enter insert
+ mode, form-feed
+ to quit
+ x delete character
+ under the cursor
W write buffer to file
R refresh the screen
Q quit
Exit status
0 success
- 2 missing edit filename
+ 2 missing edit
+ filename
The BUF size should be set at compile time to 32767. This value was used
because the Sozobon C compiler for the Atari ST has 16 bit ints and a limit on
diff --git a/1991/buzzard/README.md b/1991/buzzard/README.md
index ef74fa546..57cc76d93 100644
--- a/1991/buzzard/README.md
+++ b/1991/buzzard/README.md
@@ -53,7 +53,7 @@ code directly so the keys are not made a `-D` at the compiler.
You will be A-mazed.
-You are invited to try to cheat, ... if you can figure out how! :-)
+You are invited to try to cheat ... if you can figure out how! :-)
## Author's remarks:
@@ -90,7 +90,8 @@ so make sure to convert tabs to spaces before using it.
Usage:
```
- ./buzzard [filename [escape-char [start-x start-yNNN
+ ./buzzard [filename [escape-char \
+ [start-x start-yNNN
```
Filename is the name of the file containing the maze. This
diff --git a/1991/buzzard/index.html b/1991/buzzard/index.html
index 5263066ff..d0b5ab5fd 100644
--- a/1991/buzzard/index.html
+++ b/1991/buzzard/index.html
@@ -423,7 +423,7 @@ code directly so the keys are not made a -D at the compiler.
./buzzard.alt
You will be A-mazed.
-You are invited to try to cheat, … if you can figure out how! :-)
+You are invited to try to cheat … if you can figure out how! :-)
When the game starts, you are at the far end of the maze from the exit, looking @@ -447,7 +447,8 @@ separate physical rows in the maze; a space indicates a corridor, and any other character is a wall. Tabs are also considered walls, so make sure to convert tabs to spaces before using it.
Usage:
- ./buzzard [filename [escape-char [start-x start-yNNN
+ ./buzzard [filename [escape-char \
+ [start-x start-yNNN
Filename is the name of the file containing the maze. This
defaults to buzzard.c or rather __FILE__.
Escape-char is the character in the maze that represents the exit.
diff --git a/1991/dds/README.md b/1991/dds/README.md
index 8f5a6ad79..a177437aa 100644
--- a/1991/dds/README.md
+++ b/1991/dds/README.md
@@ -53,7 +53,7 @@ of the DDS-BASIC interpreter. The program needs an executable C compiler called
### Program commands:
-- variable names `A` to `Z`
+- variable names A to Z
- FOR var = exp TO exp
- GOSUB exp
- GOTO exp
diff --git a/1991/dds/index.html b/1991/dds/index.html
index 2bfebb63a..28e01e3e0 100644
--- a/1991/dds/index.html
+++ b/1991/dds/index.html
@@ -427,7 +427,7 @@ of the DDS-BASIC interpreter. The program needs an executable C compiler called
cc in your path in order to work.
A to Z
-```
- |
- ###### | | | /\ /--\ ==| /\ | | Directonal keys
- ###### Solid Wall | ----|| \/ /\ ||---- (unlock doors of
- ###### | \/ ==| \--/ \/ the same direction)
- |
- | << >> Doors. Unlocked by
- Blank space | << vvvvvv ^^^^^^ >> the above keys.
- | << >>
- |
- ___ | o__O\ O__O ^__^ /O__o\
- / \ 'Crushable' | \___/ /----\ /----\ \___/ The four sprites for
- \___/ boulder | _/_\ _/ \_ _/ \_ /_\_ your character :-)
- |
- ___ uncrushable | /\ Diamonds. They can either be found lying
- /@@@\ boulder | < > around (if only!) or manufacture by pushing
- \@@@/ | \/ two 'crushable' rocks together.
- |
-```
The general idea of the game is to collect all the diamonds. This must
be done in the minimum amount of moves. I've allowed a margin of 5
diff --git a/1991/rince/index.html b/1991/rince/index.html
index 6ae82bea2..3da9ea9ee 100644
--- a/1991/rince/index.html
+++ b/1991/rince/index.html
@@ -441,24 +441,10 @@ it to see the rest of it .. :-) .) The general idea was to try and
write the smallest playable game, but keep the playability and
enjoyment high.
Key to map:
- |
- ###### | | | /\ /--\ ==| /\ | | Directonal keys
- ###### Solid Wall | ----|| \/ /\ ||---- (unlock doors of
- ###### | \/ ==| \--/ \/ the same direction)
- |
- | << >> Doors. Unlocked by
- Blank space | << vvvvvv ^^^^^^ >> the above keys.
- | << >>
- |
- ___ | o__O\ O__O ^__^ /O__o\
- / \ 'Crushable' | \___/ /----\ /----\ \___/ The four sprites for
- \___/ boulder | _/_\ _/ \_ _/ \_ /_\_ your character :-)
- |
- ___ uncrushable | /\ Diamonds. They can either be found lying
- /@@@\ boulder | < > around (if only!) or manufacture by pushing
- \@@@/ | \/ two 'crushable' rocks together.
- |
+Key to map:
+
The general idea of the game is to collect all the diamonds. This must
be done in the minimum amount of moves. I’ve allowed a margin of 5
moves which brings the moves allowed to 484 (alter the value of u in
@@ -500,6 +486,7 @@ Take care that it’s facing in the correct direction.
nextmove.c and play it again:
We have provided the shell script, ttt.sh, to make it easier to play the game:
make ttt
- ./ttt [first_move] # <- omit first arg to have it move first
+ ./ttt [first_move]
./ttt next_move
The shell script determines when the game is over, and automatically replaces
merlyn.c (copied from westley.c with an improved version after a
loss). The ttt script has two other modes:
./ttt quitgame # cancel any game in progress, revert to merlyn.c
- ./ttt clobber # remove all game files, revert to original source
+ # cancel any game in progress,
+ # revert to merlyn.c:
+ ./ttt quitgame
+ # remove all game files,
+ # revert to original source:
+ ./ttt clobber
For example here is a potentially losing game:
./ttt 1
./ttt 4
./ttt 6
-The final might look like:
- a(X){/*/X=- a(X){/*/X=-
- X -1;F;X=- -1;F;X=-
- -1;F;}/*/ -1;F;}/*/
- char z[][100]={"char z[][100]={","a(X){/*/X=-","-1;F;X=-","-1;F;}/*/","1999999999 :-) ",
- "int q,i,j,k,X,O=0,H;S(x)int*x;{X+=X;O+=O;*x+1?*x+2||X++:O++;*x=1;}L(n){for(*",
- "z[i=1]=n+97;i<4;i++)M(256),s(i),M(128),s(i),M(64),N;X*=8;O*=8;}s(R){char*r=z",
- "[R];for(q&&Q;*r;)P(*r++);q&&(Q,P(44));}M(m){P(9);i-2||P(X&m?88:O&m?48:32);P(",
- "9);}y(A){for(j=8;j;)~A&w[--j]||(q=0);}e(W,Z){for(i-=i*q;i<9&&q;)y(W|(1<<i++&",
- "~Z));}R(){for(k=J[*J-48]-40;k;)e(w[k--],X|O);}main(u,v)char**v;{a(q=1);b(1);",
- "c(1);*J=--u?O?*J:*v[1]:53;X|=u<<57-*v[u];y(X);K=40+q;q?e(O,X),q&&(K='|'),e(X",
- ",O),R(),O|=1<<--i:J[*J-48+(X=O=0)]--;L(q=0);for(s(i=0);q=i<12;)s(i++),i>4&&N",
- ";s(q=12);P(48);P('}');P(59);N;q=0;L(1);for(i=5;i<13;)s(i++),N;L(2);}",0};
- b(X){/*/X=- b(X){/*/X=-
- X -1;F;X=- -1;F;X=- X
- -1;F;}/*/ -1;F;}/*/
- int q,i,j,k,X,O=0,H;S(x)int*x;{X+=X;O+=O;*x+1?*x+2||X++:O++;*x=1;}L(n){for(*
- z[i=1]=n+97;i<4;i++)M(256),s(i),M(128),s(i),M(64),N;X*=8;O*=8;}s(R){char*r=z
- [R];for(q&&Q;*r;)P(*r++);q&&(Q,P(44));}M(m){P(9);i-2||P(X&m?88:O&m?48:32);P(
- 9);}y(A){for(j=8;j;)~A&w[--j]||(q=0);}e(W,Z){for(i-=i*q;i<9&&q;)y(W|(1<<i++&
- ~Z));}R(){for(k=J[*J-48]-40;k;)e(w[k--],X|O);}main(u,v)char**v;{a(q=1);b(1);
- c(1);*J=--u?O?*J:*v[1]:53;X|=u<<57-*v[u];y(X);K=40+q;q?e(O,X),q&&(K='|'),e(X
- ,O),R(),O|=1<<--i:J[*J-48+(X=O=0)]--;L(q=0);for(s(i=0);q=i<12;)s(i++),i>4&&N
- ;s(q=12);P(48);P('}');P(59);N;q=0;L(1);for(i=5;i<13;)s(i++),N;L(2);}
- c(X){/*/X=- c(X){/*/X=-
- 0 -1;F;X=- 0 -1;F;X=- 0
- -1;F;}/*/ -1;F;}/*/
-
- ttt: I win!
-Redirects stderr to /dev/null by default. If you need errors or warnings use
--e.
To see what it might look like, try it out.
+The script redirects stderr to /dev/null by default. If you need errors or
+warnings use -e.
This version is based on the author’s remarks. It is not supposed to lose but it can lose if you cheat. That’s supposed to happen. Can you win any other time?
@@ -546,7 +522,8 @@ possible moves by making thee() function return “winning” move
e.g. the template:
. . .
O , O (this is the value 40; 2^3+2^5)
- . . . ("O"s are 1 bits, "." and "," are 0 bits)
+ . . . ("O"s are 1 bits,
+ "." and "," are 0 bits)
…will make the e() function return a center move, as this is the only move
that produces three in a row. Notice that the computer does not consider which
cells contain Xs and Os when making a template move, only which cells are
diff --git a/1992/adrian/README.md b/1992/adrian/README.md
index e2ef4e8c4..0508d863f 100644
--- a/1992/adrian/README.md
+++ b/1992/adrian/README.md
@@ -71,7 +71,9 @@ significant to only eight characters like `chars1`.
### Example 1: matches `^abc$`
```
- [final]; state strings are
significant to only eight characters like chars1.
^abc$ <q0> a <q1> The first state to appear is the start state
+ <q0> a <q1> The first state to
+ appear is the
+ start state
<q1> b <q2>
<q2> c [q3]
[q3]
diff --git a/1992/buzzard.1/README.md b/1992/buzzard.1/README.md
index f4cfe27c6..33bff3d17 100644
--- a/1992/buzzard.1/README.md
+++ b/1992/buzzard.1/README.md
@@ -224,12 +224,12 @@ This is more obscured by factoring out common terms and restricting
ourselves to two operand operations:
```
- temp = z; (temp == z)
- temp -= y; (temp == z-y)
- temp *= x; (temp == (z-y)*x)
- y += temp; (y == (z-y)*x + y)
- ( == z*x - y*x + y)
- ( == z*x + y*(1-x))
+ temp = z; (temp == z)
+ temp -= y; (temp == z-y)
+ temp *= x; (temp == (z-y)*x)
+ y += temp; (y == (z-y)*x + y)
+ ( == z*x - y*x + y)
+ ( == z*x + y*(1-x))
```
Next we imagine we have a [pc](https://en.wikipedia.org/wiki/Program_counter).
diff --git a/1992/buzzard.1/index.html b/1992/buzzard.1/index.html
index 7c1ec7ee5..127f4fe97 100644
--- a/1992/buzzard.1/index.html
+++ b/1992/buzzard.1/index.html
@@ -549,12 +549,12 @@ simply compute:
y = (z * x) + (y * (1-x));
This is more obscured by factoring out common terms and restricting
ourselves to two operand operations:
- temp = z; (temp == z)
- temp -= y; (temp == z-y)
- temp *= x; (temp == (z-y)*x)
- y += temp; (y == (z-y)*x + y)
- ( == z*x - y*x + y)
- ( == z*x + y*(1-x))
+ temp = z; (temp == z)
+ temp -= y; (temp == z-y)
+ temp *= x; (temp == (z-y)*x)
+ y += temp; (y == (z-y)*x + y)
+ ( == z*x - y*x + y)
+ ( == z*x + y*(1-x))
Next we imagine we have a pc.
“I’m supposed to execute statement pc next”, says our emulator. But suppose
we’re not currently coming up on statement pc. To handle this, we simply make
diff --git a/thanks-for-help.html b/thanks-for-help.html
index 3f7d8de53..a4ddf0d81 100644
--- a/thanks-for-help.html
+++ b/thanks-for-help.html
@@ -1579,6 +1579,9 @@ added a newline at the end of the screen to be more user friendly.
remove the maximum number of moves you may make and another to let you configure
the maximum number of moves, even if that is making it harder to win. Naturally
the above fix was applied to these versions too.
+The file map-key.jpg was added to help those with smaller screens as
+unfortunately the formatting of the key to the map was not easy to change in a
+way without ruining how it looks (beyond making it one column only).
Winning entry: 1991/westley
Winning entry source code: westley.c
diff --git a/thanks-for-help.md b/thanks-for-help.md
index ba737e163..6ce544d42 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -1713,6 +1713,10 @@ remove the maximum number of moves you may make and another to let you configure
the maximum number of moves, even if that is making it harder to win. Naturally
the above fix was applied to these versions too.
+The file `map-key.jpg` was added to help those with smaller screens as
+unfortunately the formatting of the key to the map was not easy to change in a
+way without ruining how it looks (beyond making it one column only).
+
## Winning entry: [1991/westley](1991/westley/index.html)
diff --git a/tmp/manifest.csv b/tmp/manifest.csv
index 4de01edbe..f1234480e 100644
--- a/tmp/manifest.csv
+++ b/tmp/manifest.csv
@@ -657,6 +657,7 @@
1991,rince,rince.alt2.c,40,true,c,true,second alternate source code
1991,rince,rince.alt.c,40,true,c,true,alternate source code
1991,rince,rince.orig.c,50,true,c,true,original source code
+1991,rince,map-key.jpg,60,false,image,false,key to map image
1991,rince,1991_rince.tar.bz2,1415926535,false,tbz2,false,download entry tarball
1991,rince,README.md,4000000000,true,markdown,true,markdown source for this web page
1991,rince,.entry.json,4000000000,true,json,true,entry summary and manifest in JSON
diff --git a/tmp/manifest.numbers b/tmp/manifest.numbers
index ddfebfa35..38408c2c2 100644
Binary files a/tmp/manifest.numbers and b/tmp/manifest.numbers differ
diff --git a/tmp/path_list.built.txt b/tmp/path_list.built.txt
index bd7c3fda4..b5410cc92 100644
--- a/tmp/path_list.built.txt
+++ b/tmp/path_list.built.txt
@@ -233,6 +233,7 @@
1991/rince/.path
1991/rince/1991_rince.tar.bz2
1991/rince/index.html
+1991/rince/map-key.jpg
1991/westley/.path
1991/westley/1991_westley.tar.bz2
1991/westley/index.html
diff --git a/tmp/path_list.found.txt b/tmp/path_list.found.txt
index eaceb44c3..1832d8fe4 100644
--- a/tmp/path_list.found.txt
+++ b/tmp/path_list.found.txt
@@ -658,6 +658,7 @@
1991/rince/Makefile
1991/rince/README.md
1991/rince/index.html
+1991/rince/map-key.jpg
1991/rince/rince.alt.c
1991/rince/rince.alt2.c
1991/rince/rince.c
diff --git a/tmp/path_list.manifest.txt b/tmp/path_list.manifest.txt
index eaceb44c3..1832d8fe4 100644
--- a/tmp/path_list.manifest.txt
+++ b/tmp/path_list.manifest.txt
@@ -658,6 +658,7 @@
1991/rince/Makefile
1991/rince/README.md
1991/rince/index.html
+1991/rince/map-key.jpg
1991/rince/rince.alt.c
1991/rince/rince.alt2.c
1991/rince/rince.c