Commit Graph

60 Commits

Author SHA1 Message Date
ekzyis d7645edea9 Parse algebraic notation as input 2024-09-26 18:37:32 +02:00
ekzyis bf481bc452 Use first line that starts with @chess to start game 2024-09-26 18:06:21 +02:00
ekzyis fe82dee3bb Fix space in algebraic notation 2024-09-26 18:05:13 +02:00
ekzyis ee4e1f0edf Improve error message wrapping 2024-09-26 11:20:52 +02:00
ekzyis 5729ae631a Fix Qex6 move 2024-09-26 11:20:36 +02:00
ekzyis 31d9ff02d5 Improve error message 2024-09-26 11:11:14 +02:00
ekzyis d1315b931b Fix Bh4+ move
target was calculated without considering any suffices like + so it became "4+" instead of "h4".
2024-09-26 11:05:08 +02:00
ekzyis 2dc7cbf213 Add fromX, fromY to queen move 2024-09-26 10:40:29 +02:00
ekzyis 0175ac077f Add queenside castle 2024-09-26 10:38:40 +02:00
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