Commit Graph

51 Commits

Author SHA1 Message Date
ekzyis 7aa65f4ec0 Add kingside castle 2024-09-26 10:30:04 +02:00
ekzyis be247e1f46 Add test for pins 2024-09-26 09:50:28 +02:00
ekzyis 908cc1cfda Add checks 2024-09-26 09:50:07 +02:00
ekzyis aa072ca4aa Add pawn promotion 2024-09-26 07:32:57 +02:00
ekzyis d98c0c221d Remove TODO about path collision
This is handled in the move function of the pieces.
2024-09-26 07:11:45 +02:00
ekzyis bbcd0b7725 Add TODO about ambiguous queen moves 2024-09-26 07:10:58 +02:00
ekzyis 4a3315eaa0 Fix ambiguous knight moves 2024-09-26 07:05:51 +02:00
ekzyis bab667d0ed Fix ambiguous rook moves 2024-09-26 07:05:51 +02:00
ekzyis e6f9c529f8 Parse file and rank from move
I realized that ambiguous moves might require the file _and_ rank.

Also, ambiguous moves are not limited to capturing moves.
2024-09-26 06:25:41 +02:00
ekzyis 87856f694d Test bishop captures 2024-09-26 04:02:28 +02:00
ekzyis 6a60aee89a Add more tests about blocked paths 2024-09-26 03:50:36 +02:00
ekzyis cb92e66580 Opt-in to parallel tests
Tests now take 2 seconds to complete. They took 12 seconds before!
2024-09-26 02:51:37 +02:00
ekzyis 8f2dc00d9f Fix missing assertions for b.Parse and b.Move 2024-09-26 02:49:20 +02:00
ekzyis 6fefeb44f5 Test ambiguous pawn captures 2024-09-26 02:39:53 +02:00
ekzyis a9a4216d4e Fix ambiguous knight capture 2024-09-26 02:27:51 +02:00
ekzyis 8f70fcb552 Return captureFrom as column index 2024-09-26 01:52:52 +02:00
ekzyis fddbd145f3 Use inline move function for early returns 2024-09-26 01:08:11 +02:00
ekzyis d6ffd8a57d Add easter egg error message 2024-09-26 01:01:08 +02:00
ekzyis 4d7ab3484d Remove TODO about parsing captures 2024-09-26 00:50:12 +02:00
ekzyis e12946ca5d Implement king moves 2024-09-26 00:49:24 +02:00
ekzyis 45c0dfce6f Test more invalid moves 2024-09-26 00:38:23 +02:00
ekzyis d3966685db Check for collisions with own pieces on target 2024-09-26 00:17:35 +02:00
ekzyis 4e12b40478 Fix pawn capture 2024-09-25 23:30:55 +02:00
ekzyis 516478d258 Reply with errors 2024-09-25 23:30:55 +02:00
ekzyis 6468955c23 Draw coordinates 2024-09-25 23:30:55 +02:00
ekzyis 2d99320942 Add TODO about rows and columns 2024-09-23 06:57:01 +02:00
ekzyis 11b2238c86 Support multiple initial moves 2024-09-23 06:52:58 +02:00
ekzyis 9a6579b6f8 Poll notifications every 15 seconds 2024-09-23 06:35:55 +02:00
ekzyis 2c6018755f Flip image each turn 2024-09-23 06:35:11 +02:00
ekzyis 72da5d3afd Include algebraic notation 2024-09-23 06:07:34 +02:00
ekzyis 677c50d007 Progress game via replies 2024-09-23 05:42:17 +02:00
ekzyis 7eea9d932f Upload image of board on mention 2024-09-23 04:22:02 +02:00
ekzyis e6b7582ae9 Rename to chessbot 2024-09-23 00:46:00 +02:00
ekzyis 5a52d48ef8 Implement pawn diagonal attack 2024-09-23 00:46:00 +02:00
ekzyis da103ef887 Better TODOs 2024-09-23 00:46:00 +02:00
ekzyis 044e7a959e Implement queen moves 2024-09-18 07:00:36 +02:00
ekzyis 2c6a7133e3 Implement rook moves 2024-09-18 07:00:36 +02:00
ekzyis 8e881fc0b3 Implement bishop moves 2024-09-18 06:44:59 +02:00
ekzyis a8dd06590a Add TODO about collisions 2024-09-18 06:27:52 +02:00
ekzyis 5e9e4a14d5 Fix missing boundary checks 2024-09-18 06:27:00 +02:00
ekzyis 8f5075d668 Implement knight moves 2024-09-18 06:18:07 +02:00
ekzyis 86f39d02f0 Use early return in MovePawn 2024-09-18 06:01:13 +02:00
ekzyis a77fbcbd8b Test invalid pawn moves 2024-09-18 05:52:50 +02:00
ekzyis 552f42cc96 Fix SIGSEGV in tests 2024-09-18 05:52:50 +02:00
ekzyis bd1c0b3c6e Simplify pawn move 2024-09-18 05:52:50 +02:00
ekzyis 258d375dde Ignore PNG files except in assets/ 2024-09-18 05:52:50 +02:00
ekzyis b29034bab0 Add simple pawn move + tests 2024-09-18 05:52:50 +02:00
ekzyis f1ab0c2af4 Draw initial board 2024-09-18 03:48:04 +02:00
ekzyis e26f553cc6 Delete flipped pieces 2024-09-18 01:02:55 +02:00
ekzyis 9f068f1b49 Download pieces from from wikimedia.org
See https://commons.wikimedia.org/wiki/Category:SVG_chess_pieces
2024-09-18 00:59:30 +02:00