Commit Graph

121 Commits

Author SHA1 Message Date
Mattia Giambirtone 3bb2cc7c66 Add king move generation 2024-04-17 16:50:55 +02:00
Mattia Giambirtone 86265c68f0 Fix bugs with pawn movegen and add promotions 2024-04-17 11:54:45 +02:00
Mattia Giambirtone e50cfb9d64 Refactoring of Square handling, removed old code. Initial move generation work on pawns 2024-04-16 23:45:32 +02:00
Mattia Giambirtone 3299f09e1f Add MoveList implementation 2024-04-16 16:29:21 +02:00
Mattia Giambirtone b5181317ef Improve modularity and add bitboard tests 2024-04-16 15:24:48 +02:00
Mattia Giambirtone 48e2adddc6 Switch to static move list and print nps after perft completion 2024-04-16 09:05:35 +02:00
Mattia Giambirtone e1ccdc728e Drop old attack tracking system in preparation for bitboards 2024-04-16 08:50:42 +02:00
Mattia Giambirtone aeaa57aba6 Add more positions to the test 2024-04-15 17:05:41 +02:00
Mattia Giambirtone c9988cd939 Improve bitboard interface 2024-04-15 12:45:47 +02:00
Mattia Giambirtone 6115191ed6 Refactoring and more work on bitboard handling 2024-04-15 12:04:50 +02:00
Mattia Giambirtone c9644213fe Remove unnecessary call to updateBoard() 2024-04-15 10:11:50 +02:00
Mattia Giambirtone 75d93a0d59 Minor changes, add more tests 2024-04-13 21:23:12 +02:00
Mattia Giambirtone 7a885b65a0 Add draw by 50 move rule. Initial work on draw by insufficient material (currently borked) 2024-04-13 19:59:54 +02:00
Mattia Giambirtone 4d4b12a603 Added test suite 2024-04-13 16:29:40 +02:00
Mattia Giambirtone 6153112c21 Fix promotion bugs: all test positions from the wiki are now passing 2024-04-13 14:56:08 +02:00
Mattia Giambirtone 2ada052460 Fix bugs with en passant and king movement 2024-04-12 17:03:45 +02:00
Mattia Giambirtone f75f7533f5 Fix bugs with en passant 2024-04-12 16:05:01 +02:00
Mattia Giambirtone 54a6217bd3 More movegen bug fixes (close!) 2024-04-10 13:45:29 +02:00
Mattia Giambirtone 89a96eaf52 More bug fixing 2024-04-09 19:55:08 +02:00
Mattia Giambirtone f65d426ccf Update .gitignore 2024-04-09 17:57:51 +02:00
Mattia Giambirtone c1ac5ea5c3 Initial work for UCI mode 2024-04-09 17:55:12 +02:00
Mattia Giambirtone 57353c0994 Several bug fixes and minor improvements/additions 2024-04-09 17:46:30 +02:00
Mattia Giambirtone 77129855df Refactoring and bug fixes 2024-04-08 20:28:31 +02:00
Mattia Giambirtone a4954a971b Minor fixes to flags and other things 2023-11-13 11:03:54 +01:00
Mattia Giambirtone 9047e3a53d Switch to bitwise flags for moves and fix perft counting mistakes 2023-11-13 09:52:46 +01:00
Mattia Giambirtone 6e10cbe925 Bug fixes(?) 2023-11-01 19:07:09 +01:00
Mattia Giambirtone 3dca208123 Various bug fixes, improvements and optimizations 2023-10-31 23:06:27 +01:00
Mattia Giambirtone 0b9b24b8e1 Bug fixes and undo bulk-count modifications 2023-10-30 17:46:06 +01:00
Mattia Giambirtone 2c58488c61 Update move validation script 2023-10-30 15:26:48 +01:00
Mattia Giambirtone 75869357cc Improve to testing interface and methodology 2023-10-30 14:46:27 +01:00
Mattia Giambirtone a9a9b917c6 Massive improvement to move generation (bugs still exist) 2023-10-28 02:32:50 +02:00
Mattia Giambirtone c79af07638 Switch to better mechanism to keep track of pins 2023-10-25 22:41:04 +02:00
Mattia Giambirtone 29a554d5da Switch to a legal move generator 2023-10-23 18:02:43 +02:00
Mattia Giambirtone b9dcde1563 Fixes to performance & improve legality checks 2023-10-21 18:19:41 +02:00
Mattia Giambirtone c6cc98a296 Fixes to generation and added basic debugger 2023-10-20 02:23:07 +02:00
Mattia Giambirtone 60c4f28ec0 Profiling work 2023-10-18 10:45:54 +02:00
Mattia Giambirtone 82a203c98b Remove debug echo statements. Rooks are now considered moved even when captured (castling) 2023-10-17 23:56:26 +02:00
Mattia Giambirtone 31f77fa22d Castling functional 2023-10-17 22:16:01 +02:00
Mattia Giambirtone afff1db88f Fixes to how moves are counted and minor style improvements 2023-10-17 17:27:33 +02:00
Mattia Giambirtone b4ef8b4a2e Fixed position handling system 2023-10-17 16:38:43 +02:00
Mattia Giambirtone 79477fe077 Initial work on the move list 2023-10-17 15:08:46 +02:00
Mattia Giambirtone ca498ebc42 Implemented knight moves 2023-10-17 12:42:15 +02:00
Mattia Giambirtone e782935fd7 Fix diagonal checks for black 2023-10-17 12:08:07 +02:00
Mattia Giambirtone 17f15e682c Initial work on checkmate detection and pins 2023-10-17 10:31:38 +02:00
Mattia Giambirtone 942f195ddc Added other sliding pieces 2023-10-16 23:02:58 +02:00
Mattia Giambirtone eb77cf4b89 Added two missing diagonals for sliding pieces 2023-10-16 22:39:54 +02:00
Mattia Giambirtone 1610e7b4a6 Bishops are now behaving 2023-10-16 22:14:58 +02:00
Mattia Giambirtone de0864c066 More additions to move generation and initial sliding work 2023-10-16 15:26:04 +02:00
Mattia Giambirtone 25ebe7f409 Fixes to move handling 2023-10-16 14:55:43 +02:00
Mattia Giambirtone f1c09e302e There can now be more than one queen on the board (LoL) 2023-10-16 09:39:17 +02:00