chess-puzzles - www.codemadness.org - www.codemadness.org saait content files
(HTM) git clone git://git.codemadness.org/www.codemadness.org
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
chess-puzzles (11785B)
---
1 1<- Back / codemadness.org 70
2 i codemadness.org 70
3 i codemadness.org 70
4 i# Chess puzzle book generator codemadness.org 70
5 i codemadness.org 70
6 iLast modification on 2025-05-03 codemadness.org 70
7 i codemadness.org 70
8 iThis was a christmas hack for fun and non-profit. codemadness.org 70
9 iI wanted to write a chess puzzle book generator. codemadness.org 70
10 hInspired by »1001 Deadly Checkmates by John Nunn, ISBN-13: 978-1906454258«, URL:https://archive.org/details/1001deadlycheckm0000nunn codemadness.org 70
11 h»Steps Method workbooks« and other puzzle books. URL:https://www.stappenmethode.nl/en/ codemadness.org 70
12 i codemadness.org 70
13 i codemadness.org 70
14 i# Example output codemadness.org 70
15 i codemadness.org 70
16 h* English version: »https://codemadness.org/downloads/puzzles/« URL:https://codemadness.org/downloads/puzzles/ codemadness.org 70
17 h* Dutch version: »https://hiltjo.nl/puzzles/« URL:https://hiltjo.nl/puzzles/ codemadness.org 70
18 i codemadness.org 70
19 iTerminal version: codemadness.org 70
20 i codemadness.org 70
21 i curl -s 'https://codemadness.org/downloads/puzzles/index.vt' | less -R codemadness.org 70
22 i codemadness.org 70
23 iI may or may not periodially update this page :) codemadness.org 70
24 i codemadness.org 70
25 hTime flies (since Christmas), here is a valentine edition with »attraction« URL:https://lichess.org/practice/intermediate-tactics/attraction/ codemadness.org 70
26 ipuzzles (not only checkmates) using the red "love" theme. codemadness.org 70
27 iIt is optimized for his and her pleasure: codemadness.org 70
28 i codemadness.org 70
29 hhttps://codemadness.org/downloads/puzzles-valentine/ URL:https://codemadness.org/downloads/puzzles-valentine/ codemadness.org 70
30 i codemadness.org 70
31 i codemadness.org 70
32 i## Clone codemadness.org 70
33 i codemadness.org 70
34 i git clone git://git.codemadness.org/chess-puzzles codemadness.org 70
35 i codemadness.org 70
36 i codemadness.org 70
37 i## Browse codemadness.org 70
38 i codemadness.org 70
39 iYou can browse the source-code at: codemadness.org 70
40 i codemadness.org 70
41 h* https://git.codemadness.org/chess-puzzles/ URL:https://git.codemadness.org/chess-puzzles/ codemadness.org 70
42 1* gopher://codemadness.org/1/git/chess-puzzles /git/chess-puzzles codemadness.org 70
43 i codemadness.org 70
44 i codemadness.org 70
45 i# Quick overview of how it works codemadness.org 70
46 i codemadness.org 70
47 iThe generate.sh shellscript generates the output and files for the puzzles. codemadness.org 70
48 i codemadness.org 70
49 iThe puzzles used are from the lichess.org puzzle database: codemadness.org 70
50 hhttps://database.lichess.org/#puzzles URL:https://database.lichess.org/#puzzles codemadness.org 70
51 i codemadness.org 70
52 iThis database is a big CSV file containing the initial board state in the codemadness.org 70
53 iForsyth-Edwards Notation (FEN) format and the moves in Universal Chess codemadness.org 70
54 iInterface (UCI) format. Each line contains the board state and the initial and codemadness.org 70
55 isolution moves. codemadness.org 70
56 i codemadness.org 70
57 iThe generated index page is a HTML page, it lists the puzzles. Each puzzle on codemadness.org 70
58 ithis page is an SVG image. This scalable image format looks good in all codemadness.org 70
59 iresolutions. codemadness.org 70
60 i codemadness.org 70
61 i codemadness.org 70
62 i# Open puzzle data codemadness.org 70
63 i codemadness.org 70
64 hLichess is an »open-source« and gratis website to play on-line chess. There are URL:https://lichess.org/source codemadness.org 70
65 ino paid levels to unlock features. All the software hosting Lichess is codemadness.org 70
66 iopen-source and anyone can register and play chess on it for free. Most of the codemadness.org 70
67 idata about the games played is also open. codemadness.org 70
68 i codemadness.org 70
69 iHowever, the website depends on your donations or contributions. If you can, codemadness.org 70
70 hplease do so. URL:https://lichess.org/about codemadness.org 70
71 i codemadness.org 70
72 i codemadness.org 70
73 i# generate.sh codemadness.org 70
74 i codemadness.org 70
75 iReads puzzles from the database and shuffle them. Do some rough sorting and codemadness.org 70
76 icategorization based on difficulty and assign score points. codemadness.org 70
77 i codemadness.org 70
78 hThe random shuffling is done using a hard-coded »random seed«. This means on the URL:https://en.wikipedia.org/wiki/Random_seed codemadness.org 70
79 isame machine with the same puzzle database it will regenerate the same sequence codemadness.org 70
80 iof random puzzles in a deterministic manner. codemadness.org 70
81 i codemadness.org 70
82 iIt outputs HTML, with support for CSS dark mode and does not require Javascript. codemadness.org 70
83 iIt includes a plain-text listing of the solutions in PGN notation for the codemadness.org 70
84 ipuzzles. codemadness.org 70
85 iIt also outputs .vt files suitable for the terminal. It uses unicode symbols codemadness.org 70
86 ifor the chess pieces and RGB color sequence for the board theme codemadness.org 70
87 i codemadness.org 70
88 i codemadness.org 70
89 i# fen.c codemadness.org 70
90 i codemadness.org 70
91 iThis is a program written in C to read and parse the board state in FEN format codemadness.org 70
92 iand read the UCI moves. It can output to various formats. codemadness.org 70
93 i codemadness.org 70
94 iSee the man page for detailed usage information. codemadness.org 70
95 i codemadness.org 70
96 ifen.c supports the following output formats: codemadness.org 70
97 i codemadness.org 70
98 i* ascii - very simple ASCII mode. codemadness.org 70
99 h* »fen« - output FEN of the board state (from FEN and optional played moves). URL:https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation codemadness.org 70
100 h* »pgn« - Portable Game Notation. URL:https://en.wikipedia.org/wiki/Portable_Game_Notation codemadness.org 70
101 i* speak - mode to output a description of the moves in words. codemadness.org 70
102 h* »SVG« - Scalable Vector Graphics image. URL:https://en.wikipedia.org/wiki/SVG codemadness.org 70
103 i* tty - Terminal output with some markup using escape codes. codemadness.org 70
104 i codemadness.org 70
105 hfen.c can also run in »CGI« mode. This can be used on a HTTP server: URL:https://en.wikipedia.org/wiki/Common_Gateway_Interface codemadness.org 70
106 i codemadness.org 70
107 hPosition from game: Rene Letelier Martner - Robert James Fischer, 1960-10-24 URL:https://codemadness.org/onlyfens?fen=6k1/ppq3bp/2n2np1/5p2/2P2P2/4rBN1/PP3K1P/RQ6%20w%20-%20-%200%2023&moves=f2e3&flip=1 codemadness.org 70
108 i codemadness.org 70
109 h* https://codemadness.org/onlyfens URL:https://codemadness.org/onlyfens codemadness.org 70
110 h* https://codemadness.org/onlyfens?fen=6k1/ppq3bp/2n2np1/5p2/2P2P2/4rBN1/PP3K1P/RQ6%20w%20-%20-%200%2023&moves=f2e3&flip=1 URL:https://codemadness.org/onlyfens?fen=6k1/ppq3bp/2n2np1/5p2/2P2P2/4rBN1/PP3K1P/RQ6%20w%20-%20-%200%2023&moves=f2e3&flip=1 codemadness.org 70
111 h* https://codemadness.org/onlyfens?moves=e2e4%20e7e5&flip=1&theme=green&output=svg URL:https://codemadness.org/onlyfens?moves=e2e4%20e7e5&flip=1&theme=green&output=svg codemadness.org 70
112 h* https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=pgn URL:https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=pgn codemadness.org 70
113 h* https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=speak URL:https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=speak codemadness.org 70
114 h* https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=ascii URL:https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=ascii codemadness.org 70
115 h* https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=fen URL:https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=fen codemadness.org 70
116 i codemadness.org 70
117 iTerminal output: codemadness.org 70
118 i codemadness.org 70
119 i curl -s 'https://codemadness.org/onlyfens?moves=e2e4%20e7e5&output=tty' codemadness.org 70
120 i codemadness.org 70
121 i codemadness.org 70
122 i# Support for Dutch notated PGN and output codemadness.org 70
123 i codemadness.org 70
124 iFor pgn and "speak mode" it has an option to output Dutch notated PGN or speech codemadness.org 70
125 itoo. codemadness.org 70
126 i codemadness.org 70
127 iFor example: codemadness.org 70
128 i codemadness.org 70
129 i* Queen = Dame (Q -> D), translated: lady. codemadness.org 70
130 i* Rook = Toren (R -> T), translated: tower. codemadness.org 70
131 i* Bishop = Loper (B -> L), translated: walker. codemadness.org 70
132 i* Knight = Paard (N -> P), translated: horse. codemadness.org 70
133 i codemadness.org 70
134 i codemadness.org 70
135 i# Example script to stream games from Lichess codemadness.org 70
136 i codemadness.org 70
137 iThere is an included example script that can stream Lichess games to the codemadness.org 70
138 hterminal. It uses the »Lichess API«. It will display the board using terminal URL:https://lichess.org/api codemadness.org 70
139 iescape codes. The games are automatically annotated with PGN notation and with codemadness.org 70
140 itext how a human would say the notation. This can also be piped to a speech codemadness.org 70
141 hsynthesizer like »espeak« as audio. URL:https://github.com/espeak-ng/espeak-ng/ codemadness.org 70
142 i codemadness.org 70
143 ipgn-extract is a useful tool to convert Portable Game Notation (PGN) to codemadness.org 70
144 iUniversal Chess Interface (UCI) moves (or do many other useful chess related codemadness.org 70
145 ithings!). codemadness.org 70
146 i codemadness.org 70
147 i codemadness.org 70
148 i# Example script to generate an animated gif from PGN codemadness.org 70
149 i codemadness.org 70
150 iTheres also an example script included that can generate an animated gif from codemadness.org 70
151 hPGN using »ffmpeg«. URL:https://ffmpeg.org/ codemadness.org 70
152 i codemadness.org 70
153 iIt creates an optimal color palette from the input images and generates an codemadness.org 70
154 ioptimized animated gif. The last move (typically some checkmate) is displayed codemadness.org 70
155 islightly longer. codemadness.org 70
156 i codemadness.org 70
157 i codemadness.org 70
158 i# References and chess related links codemadness.org 70
159 i codemadness.org 70
160 i* chess-puzzles source-code: codemadness.org 70
161 h https://www.codemadness.org/git/chess-puzzles/file/README.html URL:https://www.codemadness.org/git/chess-puzzles/file/README.html codemadness.org 70
162 i codemadness.org 70
163 i* Lichess FEN puzzle database: codemadness.org 70
164 h https://database.lichess.org/#puzzles URL:https://database.lichess.org/#puzzles codemadness.org 70
165 i codemadness.org 70
166 i* lichess.org: codemadness.org 70
167 h https://lichess.org/ URL:https://lichess.org/ codemadness.org 70
168 i codemadness.org 70
169 i* SVG of the individual pieces used in fen.c: codemadness.org 70
170 h https://github.com/lichess-org/lila/tree/master/public/piece/cburnett URL:https://github.com/lichess-org/lila/tree/master/public/piece/cburnett codemadness.org 70
171 i codemadness.org 70
172 i* pgn-extract: codemadness.org 70
173 i A great multi-purpose PGN manipulation program with many options: codemadness.org 70
174 h https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/ URL:https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/ codemadness.org 70
175 i codemadness.org 70
176 i An example to convert PGN games to UCI moves: codemadness.org 70
177 i `pgn-extract --notags -Wuc` codemadness.org 70
178 i codemadness.org 70
179 i* Lichess API: codemadness.org 70
180 h https://lichess.org/api URL:https://lichess.org/api codemadness.org 70
181 i codemadness.org 70
182 i* Stockfish: codemadness.org 70
183 i Strong open-source chess engine and analysis tool: codemadness.org 70
184 h https://stockfishchess.org/ URL:https://stockfishchess.org/ codemadness.org 70
185 .