Commit graph

  • 404212363e [board, moves] Make Board::castling_rights and Board::en_passant_target private Eryn Wells 2025-06-03 20:25:53 -07:00
  • eaab34587c [board, explorer, moves] Make Board::active_color private Eryn Wells 2025-06-02 17:29:52 -07:00
  • cae93cb090 [board, position] Return replaced piece when placing a piece with PlacePieceStrategy::Replace Eryn Wells 2025-06-02 15:54:00 -07:00
  • 09fbe1be22 [board] Make Board::pieces private Eryn Wells 2025-06-02 15:46:10 -07:00
  • 6d0df32f74 [core] Random Number Generator Eryn Wells 2025-06-02 15:44:38 -07:00
  • f47654cc98 [board] Trying out a new naming convention in the check methods Eryn Wells 2025-06-01 19:07:58 -07:00
  • f8a3d5831e [moves] Implement From<GeneratedMove> for Move Eryn Wells 2025-06-01 19:03:28 -07:00
  • 8f42a4c94e [explorer, moves, position] Implement bespoke make_move and unmake_move methods on Position Eryn Wells 2025-06-01 19:02:53 -07:00
  • 724a98c2e2 [board] Implement iter() on board Eryn Wells 2025-06-01 17:28:47 -07:00
  • f60cb8cf69 [moves, position] Implement unmaking moves on a board Eryn Wells 2025-05-31 20:17:18 -07:00
  • 40e8e055f9 [board, moves, position] Move make_move routines to moves crate Eryn Wells 2025-05-31 19:01:20 -07:00
  • ecde338602 [position] Remove some unused imports Eryn Wells 2025-05-31 15:14:42 -07:00
  • c3a43fd2ed [board, moves] Update some comments and docs Eryn Wells 2025-05-31 15:14:24 -07:00
  • 086f9c5666 [board] Replace PieceSet's derived Hash and PartialEq with bespoke implementation Eryn Wells 2025-05-31 15:07:20 -07:00
  • 34e8c08c36 [moves, position] Move MoveRecord to the moves crate Eryn Wells 2025-05-31 14:32:39 -07:00
  • b8f45aaece [position] Add some documentation to MoveRecord Eryn Wells 2025-05-31 14:28:27 -07:00
  • a4b713a558 [position] Remove dead move_generator code Eryn Wells 2025-05-29 09:21:25 -07:00
  • 942d9fe47b [explorer, moves, position] Implement a moves command in explorer Eryn Wells 2025-05-28 16:25:55 -07:00
  • 43abbe3fe2 [position] Register a captured piece in the MoveRecord Eryn Wells 2025-05-28 16:23:46 -07:00
  • 2106e05d57 [moves] Implement AllPiecesMoveGenerator Eryn Wells 2025-05-28 16:22:16 -07:00
  • 19c6c6701a [position] Fix broken tests build Eryn Wells 2025-05-27 12:04:24 -07:00
  • 085697d38f [position] Remove position::position module Eryn Wells 2025-05-27 11:59:42 -07:00
  • db489af50b [position] Move unmake move stuff to an unmake_move module Eryn Wells 2025-05-27 11:52:17 -07:00
  • a8ea248972 [position] Derive Default implementation for Position Eryn Wells 2025-05-27 11:49:46 -07:00
  • e3ca466737 [position] Move capture list to a CapturesList struct Eryn Wells 2025-05-27 11:49:33 -07:00
  • eb6f2000a9 [board, moves, position] Implement KingMoveGenerator Eryn Wells 2025-05-26 23:37:33 -07:00
  • f005d94fc2 [bitboard, board, core, moves] Implement SliderMoveGenerator Eryn Wells 2025-05-26 17:41:43 -07:00
  • 2c6a7828bc [moves] Two new pawn move tests Eryn Wells 2025-05-25 11:05:21 -07:00
  • faca844733 [moves] Knight move generator and tests Eryn Wells 2025-05-25 11:05:10 -07:00
  • 3f3842c7c8 [moves] Add several macros to help with testing: ply! and assert_move_list! Eryn Wells 2025-05-25 11:04:49 -07:00
  • 09bf17d66b [moves] Implement promotions and en passant in the PawnMoveGenerator Eryn Wells 2025-05-24 18:01:14 -07:00
  • ab587f379f [board] Fix a bug in PieceSet::opposing_occupancy Eryn Wells 2025-05-24 17:54:46 -07:00
  • 5466693c1b [position] Remove empty implementation of Position::unmake_move Eryn Wells 2025-05-23 18:39:38 -07:00
  • 1da08df430 [board] Implement a couple handy piece getters Eryn Wells 2025-05-23 18:39:18 -07:00
  • c02f0170b9 [bitboard] Export the bit_scanner module Eryn Wells 2025-05-23 18:38:15 -07:00
  • 994f17091b [board] Implement Board::unwrap_color Eryn Wells 2025-05-23 18:37:13 -07:00
  • 574ab803dd [moves] Implement a move generator for pawns Eryn Wells 2025-05-23 18:36:22 -07:00
  • af2bff348f [core] Add an Option<i8> argument to Square::neighbor Eryn Wells 2025-05-23 18:34:19 -07:00
  • 3684e9b425 [board, core, bitboard] Clean up casts between Rank, File and BitBoard Eryn Wells 2025-05-23 18:32:18 -07:00
  • 588f049290 [position] Remove display module Eryn Wells 2025-05-23 14:15:38 -07:00
  • 5c5d9d5018 [board] Remove some dead code from Board Eryn Wells 2025-05-23 14:14:49 -07:00
  • a9268ad194 [position] Add move tracking to Position Eryn Wells 2025-05-23 10:00:20 -07:00
  • 05c62dcd99 [position] Remove CastleEvaluationError from this crate Eryn Wells 2025-05-23 09:58:29 -07:00
  • b8a51990a3 [board, position] Implement some methods to check for whether a king is in check Eryn Wells 2025-05-23 09:57:48 -07:00
  • 0abe9b6c19 [board, position] Add a color argument to opposing_sight Eryn Wells 2025-05-23 09:56:47 -07:00
  • a92ec9aba3 [board] Add an option to display a board with ASCII characters Eryn Wells 2025-05-23 09:53:52 -07:00
  • ddd14e8999 [board] Define two new types for the Clock properties of Board Eryn Wells 2025-05-23 09:53:29 -07:00
  • d5c0330fbe [board] Add PieceSet::find_pieces Eryn Wells 2025-05-23 09:52:22 -07:00
  • 609cda0fe5 [position] Remove castle module (it went to board) Eryn Wells 2025-05-23 09:50:57 -07:00
  • e89bca9877 [board] Remove empty errors module Eryn Wells 2025-05-21 10:09:55 -07:00
  • dbca7b4f88 [position, board] Move castle, movement, and sight modules to the board crate Eryn Wells 2025-05-21 10:08:59 -07:00
  • 9a4fa827f9 [position] Add two new negative tests for making pawn moves Eryn Wells 2025-05-21 09:51:16 -07:00
  • 10ba21f7e3 [explorer] Remove the unused starting command; add aliases to make (m) and place (p) Eryn Wells 2025-05-21 08:27:15 -07:00
  • 85c1a395c4 [position] Streamline the implementation of castling_{king,rook} Eryn Wells 2025-05-21 08:26:34 -07:00
  • feaa81bbd8 [position, moves] Implement some castling tests Eryn Wells 2025-05-21 08:25:49 -07:00
  • 7c9c5484ba [position, board] Remove a bunch of dead code Eryn Wells 2025-05-20 19:29:39 -07:00
  • 039fd2b080 [position, board, core, moves] Implement a bunch of make_move code Eryn Wells 2025-05-20 19:29:02 -07:00
  • 6591619e32 [position] Misc changes Eryn Wells 2025-05-19 17:00:48 -07:00
  • 97552302cb [position] Move castle evaluation code to its own submodule of position Eryn Wells 2025-05-19 16:59:13 -07:00
  • 54ac88aaf7 [board] Remove some old PlacedPiece code Eryn Wells 2025-05-19 16:50:44 -07:00
  • 0c1863acb9 [board, core, moves, position] Implement castling Eryn Wells 2025-05-19 16:50:30 -07:00
  • 6816e350eb [moves] Clean up implementation of Move and export Kind enum Eryn Wells 2025-05-19 14:19:05 -07:00
  • 9010f1e9c2 [explorer, moves, core] Improve error handling in explorer Eryn Wells 2025-05-19 14:18:31 -07:00
  • 72eeba84ba [explorer] Specify the chessfriend_board dependency Eryn Wells 2025-05-19 08:42:53 -07:00
  • 39ca74459d [explorer] Implement a reset command Eryn Wells 2025-05-19 08:42:34 -07:00
  • d67c2cfb99 [explorer] A bunch of random changes to this binary Eryn Wells 2025-05-19 08:41:48 -07:00
  • 00c4aa38f0 [explorer] make command no longer requires specifying a piece Eryn Wells 2025-05-19 08:38:52 -07:00
  • 6e0e33b5f9 [board] Remove the FromIterator<PlacedPiece> impl for PieceSet Eryn Wells 2025-05-19 08:37:04 -07:00
  • 67448b44d7 [board] Clean up variables names in piece_sets.rs so creating an error is a little more succinct Eryn Wells 2025-05-19 08:36:44 -07:00
  • c7be0e3e2b [board] Remove the PlacedPiece import from fen.rs Eryn Wells 2025-05-19 08:35:56 -07:00
  • cd3efa61c9 [core] Fix the coordinate tests Eryn Wells 2025-05-19 08:35:35 -07:00
  • b229049e27 [board, core] Update error types to use thiserror::Error Eryn Wells 2025-05-19 08:34:32 -07:00
  • 539b1fca6e [expolorer] Add two new commands for showing available moves and sight of a piece on a square Eryn Wells 2025-05-19 08:28:23 -07:00
  • a78526befa [position] Move make_move to its own module: position::make_move Eryn Wells 2025-05-18 08:08:47 -07:00
  • 669a7c00ec [position] Add thiserror dependency Eryn Wells 2025-05-18 08:07:12 -07:00
  • 5553bab659 [board] Teach DiagramFormatter how to highlight and mark squares Eryn Wells 2025-05-16 07:49:09 -07:00
  • 3b5b2f16a3 [board] Add occupancy methods that return BitBoards Eryn Wells 2025-05-16 07:47:28 -07:00
  • 9943224ee0 [bitboard] Add separators to the NOT_A_FILE and NOT_H_FILE constants Eryn Wells 2025-05-16 07:44:59 -07:00
  • e5a5367864 [bitboard] Remove leading underscore from leading_zeros and trailing_zeros methods Eryn Wells 2025-05-16 07:44:37 -07:00
  • 184e81a7c8 [bitboard] Remove #[must_use] from method calls; add it to BitBoard type Eryn Wells 2025-05-16 07:44:05 -07:00
  • f1431ea4e9 [position] Move postion/mod.rs -> position.rs Eryn Wells 2025-05-08 17:54:49 -07:00
  • 424d348b2d WIP Eryn Wells 2025-05-08 17:37:59 -07:00
  • 091cc99cb3 WIP Eryn Wells 2025-05-08 17:37:51 -07:00
  • d5cdf273c8 [bitboard] Fix some random clippy issues Eryn Wells 2025-05-03 16:03:18 -07:00
  • 867deafd13 [board] A ton of API refinements Eryn Wells 2025-05-03 16:02:56 -07:00
  • 99dd2d1be2 [board] Remove the Builder Eryn Wells 2025-05-03 15:47:56 -07:00
  • b0c4039920 [board] Remove Board::new() Eryn Wells 2025-05-02 15:42:06 -07:00
  • bb8d5a6aa3 [board] Replace Flags with castle::Rights Eryn Wells 2025-05-02 15:41:45 -07:00
  • cd60a453aa [board] Replace active player and move properties on Board with MoveCounter instance Eryn Wells 2025-05-02 15:18:37 -07:00
  • 58cbe07136 [board] Implement PieceSet::mailbox() method to return a reference to its Mailbox Eryn Wells 2025-05-02 15:05:39 -07:00
  • bf535f876a [board] Update call to BitBoard::occupied_squares to take an IterationDirection Eryn Wells 2025-05-02 15:05:05 -07:00
  • 0b100d5f14 [board] Remove Flags struct, replace it with Castle and supporting structs Eryn Wells 2025-05-02 15:03:48 -07:00
  • 9f2bfc0457 [board] Replace the length of the Builder::kings array with Color::NUM instead of constant 2 Eryn Wells 2025-05-02 14:49:16 -07:00
  • 46b19ff616 [board] Implement Mailbox::from_iter as a reduce (aka fold) over the incoming iterator Eryn Wells 2025-05-02 14:48:37 -07:00
  • 72fd938238 [board] Implement Copy for Mailbox struct Eryn Wells 2025-05-02 14:48:01 -07:00
  • c733342fca [board] Add MoveCounter struct to track current color, half move counter, and full move counter Eryn Wells 2025-05-02 14:42:31 -07:00
  • 7b0469d689 [bitboard] Replace separate methods for leading and trailing iteration Eryn Wells 2025-05-02 14:26:09 -07:00
  • 9f62996175 [bitboard] Return a copy of a BitBoard from BitBoard::ray() Eryn Wells 2025-05-02 14:23:57 -07:00
  • 53c637f424 [bitboard] Make BitBoard::EMPTY and BitBoard::FULL private; export BitBoard::full() Eryn Wells 2025-05-02 14:23:29 -07:00
  • 90657e3818 [position] Rewrite sight methods in terms of Board and pass BitBoard arguments by value Eryn Wells 2024-07-13 12:08:20 -07:00