Format/typo check 2005/toledo/README.md

This commit is contained in:
Cody Boone Ferguson committed 2023-11-21 11:15:49 -08:00
1 parent db16049341
commit 0e5422c707
1 file changed
+25 -6
+25 -6
View File
@@ -25,13 +25,18 @@ make
Two alternate versions of this entry, [toledo2.c](toledo2.c) and
[toledo3.c](toledo3.c) are provided.
To compile these alternate versions:
### Alternate build:
To compile the alternate versions:
```sh
make alt
```
Use `toledo2` and `toledo3` as you would `toledo` above.
### Alternate use:
Use Use `toledo2` and `toledo3` as you would `toledo` above.
## Judges' remarks:
@@ -41,6 +46,13 @@ Challenge your knowledge of C operator precedence. The following is the
move analysis via recursion while it executes moves. All while playing
by the rules of C and Chess within a single function!
### Historical note:
When this entry was submitted the code was a recursive call to `main()` - that
was it. In 2023 due to problems with `clang` `main()` calls another function,
`pain()`, which calls itself. But it might be said that the Chess is still a
single function.
## Author's remarks:
@@ -74,31 +86,36 @@ And each successive argument will analyze one
limit, but beyond 7 ply is very slow, try it at your own risk and computing
time.
### Entering movements
When is your turn, you can enter your move, by example, as `d2d4` and press the
enter key. The computer will check move legality and will warn you of illegal
moves. All legal chess moves are permitted.
When it is your turn, you can enter your move, for example, as `d2d4` and press the
enter key. This will move the pawn at `D2` to `D4`, assuming that a pawn is
there (as it would be in the beginning). The computer will check move legality
and will warn you of illegal moves. All legal chess moves are permitted.
One special case is when you are doing promotion, you must enter the move with
an extra letter indicating the desired piece.
By example `f7f8n` (supposing you have a pawn on `F7`), will promote it to a
For example `f7f8n` (supposing you have a pawn on `F7`), will promote it to a
knight; substitute `n` for the desired piece (`N`/`Q`/`R`/`B`).
Note that the program requires the piece letter; it will not select
automatically a queen, so don't be surprised if it doesn't accept your move.
### Game status
The computer will check for checkmate and stalemate. Also, after each machine
move, it will show the score of the position: a higher number is better for
the computer, i.e. worse for you.
### Quirks
None.
### Program operation
This is a good example of a chess program reduced to the essential. In order
@@ -115,6 +132,7 @@ they are verified.
It also sets a standard on ultra-mini-chess programs. The player and the
computer can do all legal chess moves.
### Additional features
Other features are:
@@ -126,6 +144,7 @@ Other features are:
7-[ply](https://en.wikipedia.org/wiki/Ply_(game_theory))) and even in 5 ply can give a surprise to
amateur players.
### Obfuscation tricks
* Only one very modular C function.