Commit Graph

53 Commits

Author SHA1 Message Date
c5a1936e3b UCI moves && games states list 2024-06-27 10:11:24 +02:00
ec2d2291d4 clean move_t: Remove capture/dpush/promotion flags, captured piece 2024-06-12 07:45:22 +02:00
92d6909546 update (C) notice 2024-03-28 10:37:52 +01:00
3a06407d5a move: exclusive M_CAPTURE / M_EN_PASSANT 2024-03-20 09:58:42 +01:00
49302c7a60 lowercase move flags macros 2024-03-17 17:33:48 +01:00
260d8d34bd move.h: simplify flags. movegen.c: add pos_next_legal() 2024-03-16 10:06:55 +01:00
037d49e4ca move-do: copy from pre-bitboard version 2024-03-15 10:53:26 +01:00
b3f0dd0534 add move_str() 2024-03-15 09:10:32 +01:00
08082faed3 moves_print() and move_sort_by_sq(): use movelist_t instead of pos_t 2024-03-12 10:42:24 +01:00
87e7695873 new pos/bb funcs, legal(), better castling gen, etc. [see commit details]
- new sq_pinners
- new pseudo_is_legal() (unfinished)
- improve castling pseudo move gen

- more position and lower level bitboard helper funcs:
  - pos_{_occ,between_occ,between_count,pinners}
  - bb_{rank,file,rel_rank,_sq_aligned,_sq_between)
- rename some bitboard globals
- replace bb ranks/files enums with defines (issue with clang)
  -> Need to find a way to use enum safely
- tests:
  - add common-test.h
  - new attack-test.c
2024-03-10 10:58:14 +01:00
b351d198b8 sq_attackers() + others (see dedails). Ready for move do/undo ?
- add many "const" in func parameters
- attack.c: sq_attackers()
- move print_board_raw from position.c to to board.c
- move some fen_check() tests to pos_check()
- add REL_RANK() macro. TODO: add one more for bitboards
- fen.c: more tests for FEN validity
- position.c: add pos_checkers() and pos_check()
- tests: add common-test.h (for shared FEN positions access)
2024-03-04 21:34:29 +01:00
6d412e7fce add move.c from pre-bitboard version 2024-02-29 09:27:29 +01:00
3e828ed29b add bitboard_print_multi(), file/rank/diag/antidiag masks generation 2024-02-12 21:34:42 +01:00
138b76d055 Set back move.c file 2024-02-05 08:38:10 +01:00
603aba8043 Copy move.c into temp-migration-bitboard/move.c 2024-02-05 08:38:10 +01:00
e49e9b8f9d Start bitboard migration... Long long cries coming 2024-02-04 19:16:10 +01:00
01c5765888 remove -DBIN_xxx from brchess source files. parts moved to ./test (TODO) 2023-12-13 21:30:39 +01:00
48b5420830 Add check array in position structure 2023-07-25 06:54:33 +02:00
c7e2aec77c Move bitboards constants to bitboard.h 2023-07-13 09:48:16 +02:00
754b011d05 fix _moves_gen_eval_sort() 2023-07-12 21:34:04 +02:00
88d2d4061f add moves sort 2023-07-11 22:21:42 +02:00
d9f03acb02 fix piece color in move_do 2023-07-10 13:17:26 +02:00
48319cf21a add M_PR_NL option in move_print() 2023-07-09 15:53:57 +02:00
7952a34c88 Add pos negamax function 2023-07-07 15:53:26 +02:00
12f972e152 move.c: Code cleanup, add promotion in move_do 2023-07-07 12:11:17 +02:00
183e9ef2be Improve move gen, delete ling pos, 3 steps moves generation 2023-07-07 02:21:14 +02:00
6f7a04cc89 Add move_do (dup position), remove &board in move struct 2023-07-06 12:22:26 +02:00
8857dec6cd cleanup 2023-07-02 12:15:22 +02:00
1e4af66379 moge gen: all moves count as mobility 2023-06-25 16:01:13 +02:00
1154f141c9 start bitboard integration 2023-06-22 16:08:57 +02:00
05a64ec742 simplify 0x88 macros / remove redundant chessdefs.h equivalent ones 2021-11-20 16:15:45 +01:00
6b2c1702f6 revert to color at LSB, to avoid easy mistakes
close #3
2021-11-19 12:15:53 +01:00
097dae84d6 Refuckulate castle_Q: forgot a pointer when copying from castle_K 2021-11-16 21:47:40 +01:00
bf520b6c71 fuckulated movegenerator into a good coregenerator
Need to test all edge cases for new position after move (castle/en passant/promotion).
En passant crashes, likely easy fix.
castle/promotion new position untested.

Yoda: A feature branch absolutely necessary was.
Me: With that Truth I agree.
2021-11-15 19:36:19 +01:00
a28cd5c492 pod_dup(): duplicate also pieces list 2021-11-15 11:23:37 +01:00
f0e1836f2f add memstats / clear lists when new fen position 2021-11-14 16:03:36 +01:00
5bf5d6bae9 bodichess main loop (move gen/eval/fen init/print pos/print moves) 2021-11-14 11:35:03 +01:00
451afea6b5 refactor position: now contains board (not board *) 2021-11-12 20:22:20 +01:00
bd7d9f8551 add memory pool for positions 2021-11-12 18:33:39 +01:00
4442901b58 fix forgotten break in sq88 -> bitboard move_gen() 2021-11-12 12:33:39 +01:00
4365838276 simplify bitboard macros & move_gen use bitboard for occupied square 2021-11-12 12:28:44 +01:00
bd88da013c pos: added mobility. move_gen: hangle castling 2021-11-12 11:00:59 +01:00
7c98f0d4c5 piece_t change, pack piece_details, conversion piece: mask<=>number 2021-11-10 15:54:13 +01:00
5623dc78a5 dummy eval func (pieces + square control), bit ops, shorter int types 2021-11-09 20:57:18 +01:00
e55c2e9cbe bug fix for moves count + move_add, clean debug 2021-11-08 10:05:43 +01:00
d38e2f4543 Occupancy & square control bitboards + continue printf->logX 2021-11-08 08:38:38 +01:00
0e117bc2f9 move from printf to logX() - unfinished. 2021-11-03 12:39:23 +01:00
06548a6464 Add flags for move display. Fix move generator color + pawn capture 2021-11-01 09:37:40 +01:00
537c36d14c add castle pseudo-moves 2021-10-31 20:43:43 +01:00
3ac41d7f78 Add pawn pseudo-moves 2021-10-31 19:57:14 +01:00