Commit Graph

812 Commits

Author SHA1 Message Date
Wuzzy
d91d00d431 Chess: Fix draw claim check being too aggressive 2023-07-19 14:55:36 +02:00
Wuzzy
a0c5a8e459 Add CHESS_RULES.md 2023-07-19 14:51:12 +02:00
Wuzzy
5cbcd833c5 Rename same position rule to threefold repetition 2023-07-18 02:41:23 +02:00
Wuzzy
5e2bd7f85e Chess: Restrict the 'same position' rule even more 2023-07-18 02:35:23 +02:00
Wuzzy
95b28937d7 Chess: Restrict 'same position' rule a bit 2023-07-18 01:58:30 +02:00
Wuzzy
05be3093d5 Rewrite the special draw rules texts 2023-07-18 00:30:25 +02:00
Wuzzy
21bcfeada2 Implement 50-move rule and same position rule 2023-07-17 21:54:56 +02:00
Wuzzy
7c27bb75ed Partially implement 50-move rule & 'samepos' rule
Using textures from PixelBOX
2023-07-17 19:36:47 +02:00
Wuzzy
fa762dded5 Set is_ground_content=false for most nodes 2023-07-17 16:15:03 +02:00
Wuzzy
6a68def01d Refactor: xbg -> xdecor.xbg 2023-07-17 16:00:05 +02:00
Wuzzy
ecf9af4f85 Make 'realchess' table private again 2023-07-17 15:54:07 +02:00
Wuzzy
6a19130042 Chess: Move bot code to its own file 2023-07-17 15:17:52 +02:00
Wuzzy
fbd55700e0 Chess: Verify position history in debug mode 2023-07-17 14:26:08 +02:00
Wuzzy
f843797f81 Chess: Refactor timeout 2023-07-17 13:50:03 +02:00
Wuzzy
5f113037e3 Chess: Fix bot failing to move king out of check 2023-07-17 13:26:48 +02:00
Wuzzy
063e346e7b Chess: Refactor chat messaging and botname display 2023-07-17 11:59:49 +02:00
Wuzzy
5f210286bf Chess: Fix eaten pieces list being wrong sometimes 2023-07-17 09:46:51 +02:00
Wuzzy
d7b681e1b9 Chess: Add debug function to verify eaten list 2023-07-17 09:27:13 +02:00
Wuzzy
eed9e3b04b Chess: Add hidden bot vs bot mode for debug 2023-07-17 08:46:03 +02:00
Wuzzy
4d43874b87 Chess: Rename "AI" to "bot" 2023-07-16 20:16:57 +02:00
Wuzzy
6c9d60ca1d Chess: Implement "5-times same position" rule
This rule draws the game if the same position appeared 5 times
(FIDE Laws of Chess Jan 2023, article 9.6.1)
2023-07-16 19:49:47 +02:00
Wuzzy
2e28acf00e Chess: Align notation move no. to the right 2023-07-16 15:12:51 +02:00
Wuzzy
bccaf00e64 Implement 75-moves rule 2023-07-16 14:55:25 +02:00
Wuzzy
3dbb283231 Chess: Implement halfmove clock (no effect yet)
For the 50-move and 75-move rules
2023-07-16 13:51:02 +02:00
Wuzzy
3fbc705a3f Chess: Add a minimal debug mode 2023-07-16 12:55:07 +02:00
Wuzzy
22eb1334fe Chess: Fix loss of castling for wrong rook move 2023-07-16 11:59:55 +02:00
Wuzzy
8e55eb49b0 Chess: Teach "AI" to promote (again) 2023-07-16 11:48:50 +02:00
Wuzzy
c1bb45d8b2 Chess "AI" now uses move function like the player 2023-07-16 11:06:19 +02:00
Wuzzy
ef65e86547 Chess: Fix AI pawn doublestep safe from en passant 2023-07-16 09:35:09 +02:00
Wuzzy
5e97bd81b7 Chess: Fix en passant may put own king at risk 2023-07-16 08:48:45 +02:00
Wuzzy
e28f2a1844 Chess: Refactor en passant implementation 2023-07-16 08:36:19 +02:00
Wuzzy
f88aa3a4aa Chess: Fix incorrect temrminology (rank vs file) 2023-07-16 08:06:19 +02:00
Wuzzy
edff445bab Update README 2023-07-15 19:41:16 +02:00
Wuzzy
8808645384 Chess: Add promotion to notation 2023-07-15 17:43:25 +02:00
Wuzzy
4bfec061bb Chess: Tweak notation spacing 2023-07-15 16:54:58 +02:00
Wuzzy
2ef3d97c7a Chess: Fix broken loss of castling rights 2023-07-15 16:48:00 +02:00
Wuzzy
36e2aab3b6 Chess: Dead position detection (material only) 2023-07-15 16:35:11 +02:00
Wuzzy
c4348ac20e Chess: Fix broken promotion 2023-07-15 10:15:45 +02:00
Wuzzy
820f4238a0 Chess: Refactor figurine string 2023-07-15 10:06:24 +02:00
Wuzzy
78106fe9e4 Chess: Abort promotion when resigning 2023-07-15 08:28:18 +02:00
Wuzzy
fabfc35579 Chess: Improved chess figurines for notation 2023-07-15 08:23:24 +02:00
Wuzzy
cede0534eb Chess: Fix crash if AI is in check 2023-07-14 22:42:42 +02:00
Wuzzy
e316e77846 Chess: Better way to detect moves list length 2023-07-14 22:31:28 +02:00
Wuzzy
d580074ea8 Chess: Fix another missing checkmate detection 2023-07-14 22:14:06 +02:00
Wuzzy
edb0ed7cbf Chess: Fix notation of "files" (chessboard rows) 2023-07-14 19:08:34 +02:00
Wuzzy
c2f641ab62 Chess: Fix incomplete checkmate detection 2023-07-14 18:36:12 +02:00
Wuzzy
769f867ab1 Chess: Refactor coordinate notation 2023-07-14 17:30:40 +02:00
Wuzzy
04dabe4091 Chess: Add castling to possible moves detection 2023-07-14 16:12:52 +02:00
Wuzzy
74f8dc3bf9 Chess: Refactor castling check function 2023-07-14 16:05:47 +02:00
Wuzzy
da68b34c49 Chess: Add en passant detection for possible moves 2023-07-14 14:56:37 +02:00