Commit Graph

124 Commits

Author SHA1 Message Date
Mattia Giambirtone 9e7ce5640e Magic bitboards can now be found (untested) 2024-04-19 00:03:19 +02:00
Mattia Giambirtone e3225bb4bc Work on magic bitboard generation 2024-04-18 21:17:29 +02:00
Mattia Giambirtone eede621bb6 Added knight movegen. Updated attack tracking. Fix bugs 2024-04-17 20:27:39 +02:00
Mattia Giambirtone 5842d15cd0 Add king move generation 2024-04-17 16:50:55 +02:00
Mattia Giambirtone ac14dd9bde Fix bugs with pawn movegen and add promotions 2024-04-17 11:54:45 +02:00
Mattia Giambirtone 8f54603d08 Refactoring of Square handling, removed old code. Initial move generation work on pawns 2024-04-16 23:45:32 +02:00
Mattia Giambirtone 3e35794ab9 Add MoveList implementation 2024-04-16 16:29:21 +02:00
Mattia Giambirtone 415ab1285f Improve modularity and add bitboard tests 2024-04-16 15:24:48 +02:00
Mattia Giambirtone 7b902b5fbb Switch to static move list and print nps after perft completion 2024-04-16 09:05:35 +02:00
Mattia Giambirtone 52bd08b9bd Drop old attack tracking system in preparation for bitboards 2024-04-16 08:50:42 +02:00
Mattia Giambirtone 7aa3faaf4c Add more positions to the test 2024-04-15 17:05:41 +02:00
Mattia Giambirtone 1cfa34646a Improve bitboard interface 2024-04-15 12:45:47 +02:00
Mattia Giambirtone f9b9dccb08 Refactoring and more work on bitboard handling 2024-04-15 12:04:50 +02:00
Mattia Giambirtone f4799a4ee7 Remove unnecessary call to updateBoard() 2024-04-15 10:11:50 +02:00
Mattia Giambirtone d0c5a4c230 Minor changes, add more tests 2024-04-13 21:23:12 +02:00
Mattia Giambirtone 22e5fa7c49 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 c3eed095e7 Added test suite 2024-04-13 16:29:40 +02:00
Mattia Giambirtone d7191e3e19 Fix promotion bugs: all test positions from the wiki are now passing 2024-04-13 14:56:08 +02:00
Mattia Giambirtone 032435e10e Fix bugs with en passant and king movement 2024-04-12 17:03:45 +02:00
Mattia Giambirtone 3f1109307b Fix bugs with en passant 2024-04-12 16:05:01 +02:00
Mattia Giambirtone dac3bf8460 More movegen bug fixes (close!) 2024-04-10 13:45:29 +02:00
Mattia Giambirtone 52c9cd3196 More bug fixing 2024-04-09 19:55:08 +02:00
Mattia Giambirtone c62ba6cc2b Update .gitignore 2024-04-09 17:57:51 +02:00
Mattia Giambirtone 274af2f3df Initial work for UCI mode 2024-04-09 17:55:12 +02:00
Mattia Giambirtone cb002ce5b0 Several bug fixes and minor improvements/additions 2024-04-09 17:46:30 +02:00
Mattia Giambirtone 46d37c6201 Refactoring and bug fixes 2024-04-08 20:28:31 +02:00
Mattia Giambirtone ed8a6f4151 Minor fixes to flags and other things 2023-11-13 11:03:54 +01:00
Mattia Giambirtone dc77c053f2 Switch to bitwise flags for moves and fix perft counting mistakes 2023-11-13 09:52:46 +01:00
Mattia Giambirtone 5f1eb1afc0 Bug fixes(?) 2023-11-01 19:07:09 +01:00
Mattia Giambirtone 0b874b962f Various bug fixes, improvements and optimizations 2023-10-31 23:06:27 +01:00
Mattia Giambirtone 6f024ec38d Bug fixes and undo bulk-count modifications 2023-10-30 17:46:06 +01:00
Mattia Giambirtone c989b297cb Update move validation script 2023-10-30 15:26:48 +01:00
Mattia Giambirtone ee5bef74a5 Improve to testing interface and methodology 2023-10-30 14:46:27 +01:00
Mattia Giambirtone d690600fa4 Massive improvement to move generation (bugs still exist) 2023-10-28 02:32:50 +02:00
Mattia Giambirtone 1a89b437fa Switch to better mechanism to keep track of pins 2023-10-25 22:41:04 +02:00
Mattia Giambirtone b0ebdc02a6 Switch to a legal move generator 2023-10-23 18:02:43 +02:00
Mattia Giambirtone f9744c077b Fixes to performance & improve legality checks 2023-10-21 18:19:41 +02:00
Mattia Giambirtone 84226128ff Fixes to generation and added basic debugger 2023-10-20 02:23:07 +02:00
Mattia Giambirtone 8f56d9f89e Profiling work 2023-10-18 10:45:54 +02:00
Mattia Giambirtone 1bde8b623e Remove debug echo statements. Rooks are now considered moved even when captured (castling) 2023-10-17 23:56:26 +02:00
Mattia Giambirtone 0210ac803f Castling functional 2023-10-17 22:16:01 +02:00
Mattia Giambirtone 36e9b7d620 Fixes to how moves are counted and minor style improvements 2023-10-17 17:27:33 +02:00
Mattia Giambirtone a52783fa15 Fixed position handling system 2023-10-17 16:38:43 +02:00
Mattia Giambirtone 4586b44ec1 Initial work on the move list 2023-10-17 15:08:46 +02:00
Mattia Giambirtone ac941883ea Implemented knight moves 2023-10-17 12:42:15 +02:00
Mattia Giambirtone 80a9cfe827 Fix diagonal checks for black 2023-10-17 12:08:07 +02:00
Mattia Giambirtone 77bce34c8b Initial work on checkmate detection and pins 2023-10-17 10:31:38 +02:00
Mattia Giambirtone 62debc939b Added other sliding pieces 2023-10-16 23:02:58 +02:00
Mattia Giambirtone ef5c3bce84 Added two missing diagonals for sliding pieces 2023-10-16 22:39:54 +02:00
Mattia Giambirtone 63b39dc761 Bishops are now behaving 2023-10-16 22:14:58 +02:00