202 Commits

Author SHA1 Message Date
Vincent Velociter 65e62ace3c Merge pull request #54 from HaonRekcef/lazy-pgn
Add lazy parsing for multi-game PGN strings + tests
2026-05-19 10:18:00 +02:00
Vincent Velociter cac95d7fe3 Fix formatting 2026-05-18 11:09:27 +02:00
Vincent Velociter 829538954c Make Position completely immutable by switching pockets implementation 2026-05-18 10:55:10 +02:00
Vincent Velociter cb89b3ab3c Add more tests and benchmark 2026-05-18 10:33:39 +02:00
Vincent Velociter 767a7b1960 Fix formatting 2026-05-17 14:27:38 +02:00
Vincent Velociter 8243acdb38 Remove fast immutable collections 2026-05-17 14:16:19 +02:00
Noah a4f9f10104 Add lazy parsing for multi-game PGN strings + tests 2026-05-14 21:46:16 +02:00
tom-anders a2f3e3dcc1 fix Crazyhouse.isGameOver and isCheckmate when the only legal moves are drop moves 2026-03-21 10:24:19 +01:00
tom-anders 5c6c5d2583 add regression test 2026-03-21 10:23:14 +01:00
Vincent Velociter f07f3ebb79 Add the explosionSquares method to Atomic 2026-03-03 13:02:03 +01:00
tom-anders ac3eaaffe5 Horde: require King to be black in Horde.fromSetup 2026-02-19 10:22:44 +01:00
tom-anders da9ba1bf76 Horde: use scalachess' extensive test suite to test insufficient material 2026-02-19 09:24:45 +01:00
tom-anders 8f01abdccd Horde: fix crash during insufficient material detection.
`setPieceAt` returns a new board but that was ignored here, leading to
the pawn not being removed, causing infinite recursion

add @useResult to make sure something like this does not happen again in
the future.
2026-02-19 09:23:58 +01:00
tom-anders 23b357f520 test: enable Atomic and Crazyhouse perft tests, they pass now :)
closes #15, closes #16
2026-02-03 13:43:00 +01:00
tom-anders a3b0e86030 crazyhouse: fix en passant capture not filling pockets 2026-02-03 12:06:41 +01:00
Vincent Velociter 72e6ee2912 Make Position non generic 2025-02-17 10:29:35 +01:00
Vincent Velociter ab307f5bfa Improve Position types 2025-02-10 14:50:05 +01:00
Vincent Velociter 0d1add722b Fix castling rights parsing 2024-10-19 15:05:05 +02:00
Kaustubh Khavnekar b9d3ec7b3c Attach comment to correct testcases 2024-10-14 22:34:36 -04:00
Kaustubh Khavnekar 4d1aa8fd36 Add a comment to describe new testcase 2024-10-14 22:32:39 -04:00
Kaustubh Khavnekar 66361cc5be Fix empty line handling by presplitting multigame PGN 2024-10-07 01:15:30 -04:00
Kaustubh Khavnekar 62c00af044 Remove extra print statement 2024-10-07 00:54:55 -04:00
Kaustubh Khavnekar 331c24b89e Revert "Add flag to indicate whether single game or multi game pgn is being parsed, handle linebreaks accordingly"
This reverts commit db66704b0e.
2024-10-07 00:40:43 -04:00
Kaustubh Khavnekar 03cc1a8a14 Fix for comment at end of line 2024-10-07 00:39:39 -04:00
Kaustubh Khavnekar db66704b0e Add flag to indicate whether single game or multi game pgn is being parsed, handle linebreaks accordingly 2024-10-02 23:01:52 -04:00
Vincent Velociter d50bf0c9f9 Fix isLegal and normalizeMove
Position.isLegal was generating illegal moves from the king due to a bug
in _getCastlingSide.

Fixes #25
Closes #27
2024-08-02 12:09:23 +02:00
Vincent Velociter 05af18077d Add more san disambiguation tests 2024-08-02 10:39:30 +02:00
Vincent Velociter 065eb4d494 Refactoring 2024-08-02 10:13:43 +02:00
Vincent Velociter 949408b3f8 Refactor Errors types
Closes #40
2024-08-01 14:48:57 +02:00
Vincent Velociter 059b916948 Restore attacks test 2024-08-01 13:07:35 +02:00
Vincent Velociter f9b9e0e75a Remove Coord type 2024-08-01 12:35:46 +02:00
Vincent Velociter 48311c5f9a Add Square.fromCoords 2024-08-01 12:33:17 +02:00
Vincent Velociter 7adc5f9889 More refactoring: remove utils 2024-08-01 10:52:16 +02:00
Vincent Velociter 485131f6c0 Tweak API 2024-08-01 10:29:26 +02:00
Vincent Velociter 81690367cb Update Move api 2024-07-31 17:53:33 +02:00
Vincent Velociter bbcb028131 Add the Coord extension type 2024-07-31 11:32:46 +02:00
Vincent Velociter 0eb1172004 Add more tests 2024-07-31 11:00:50 +02:00
Vincent Velociter a971758f19 Tweak offset API 2024-07-31 10:58:31 +02:00
Vincent Velociter e4e4edeb14 Add more tests 2024-07-31 10:31:17 +02:00
Vincent Velociter 470ef705f0 Use extension types for File, Rank and Square 2024-07-31 10:09:28 +02:00
Vincent Velociter 9ee3f608a0 Refactor Square: use an enum 2024-07-30 16:53:33 +02:00
Vincent Velociter d932c9f8cb Merge pull request #39 from lichess-org/extension_type
Migrate SquareSet to an extension type
2024-04-29 18:35:27 +02:00
Vincent Velociter 460fa08ded Migrate SquareSet to an extension type
Closes #37
2024-04-29 18:17:52 +02:00
Sampo Silvennoinen ee64f248b4 Attacks: add unit tests for legal attack positions 2024-03-28 19:28:00 +02:00
Sampo Silvennoinen c635a23d7b Attacks: add unit tests for surrounded cases 2024-03-28 19:28:00 +02:00
Sampo Silvennoinen 3198d75c80 Attacks: add unit tests for near edge of board 2024-03-28 19:28:00 +02:00
Vincent Velociter 8c85934a0f Upgrade fic 2024-01-26 10:25:32 +01:00
Vincent Velociter d4ea728972 Merge pull request #31 from Anupya/Anupya/fix-one-test-pgn-dart
Fix SmartChess test in `pgn_test.dart`
2023-11-16 10:19:12 +01:00
Vincent Velociter c7b5f71662 Twak pgn comment parser 2023-11-13 15:49:06 +01:00
Anupya Pamidimukkala c89fad7892 fix one test 2023-10-25 17:12:05 -05:00