Commit graph

  • 90db9b194f [board] Implement BitBoard::shift_east Eryn Wells 2023-12-29 08:39:51 -08:00
  • 1a986e4c27 [board] Implement Position::occupied_squares and Position::empty_squares Eryn Wells 2023-12-29 08:31:58 -08:00
  • 2296be23cc [board] Rename BitBoard::from_bit_field → ::new Eryn Wells 2023-12-28 21:42:18 -07:00
  • af53eb932c [board] Populate the color bitboards when placing pieces Eryn Wells 2023-12-28 21:38:07 -07:00
  • e1e27fc668 [board] Implement TryFrom<&str> for Shape Eryn Wells 2023-12-28 19:47:40 -07:00
  • 72dabfe73f [board] A couple small changes to support the explorer crate Eryn Wells 2023-12-28 15:11:57 -07:00
  • f340578cf2 [explorer] A REPL-style command line app to fiddle with chess boards Eryn Wells 2023-12-28 15:09:15 -07:00
  • 4c9e6a51fc [board] Move all the BitBoard shift code to a new bitboard::shifts module Eryn Wells 2023-12-28 12:14:30 -07:00
  • 5a08a4477e [board] Implement BitBoard::shift_south Eryn Wells 2023-12-28 12:10:39 -07:00
  • 5039d657ae [board] Some test helpers that produce Squares from algebraic notiation and assert their validity Eryn Wells 2023-12-28 12:08:37 -07:00
  • 5e47d37aa3 [board] Add a negative test for BitBoard::is_empty() Eryn Wells 2023-12-27 10:28:44 -07:00
  • 61448d437f [board] Implement a BitBoard::rank constructor Eryn Wells 2023-12-27 10:04:02 -07:00
  • dda4cd8a5a [board] Add a MoveGenerator struct Eryn Wells 2023-12-27 10:02:23 -07:00
  • 51a265172b [board] Implement an infix_op! macro for generating BitBoard operator traits Eryn Wells 2023-12-27 10:00:30 -07:00
  • 50a6be2f72 [board] Pass piece argument to Position::bitboard_for_piece() by value instead of by reference Eryn Wells 2023-12-27 08:31:02 -07:00
  • 4bec1538a1 [board] Add the missing trailing } to fmt::Debug for Position Eryn Wells 2023-12-27 08:00:39 -07:00
  • b9ba2629c4 [board] Fix the King's position in the Position::starting() Eryn Wells 2023-12-27 07:59:05 -07:00
  • ff59799add [board] Move neighbor::Direction → square::Direction Eryn Wells 2023-12-27 07:58:42 -07:00
  • 19c48b9816 [board] Implement a DiagramFormatter that writes a graphical diagram of a Position Eryn Wells 2023-12-26 21:37:22 -07:00
  • 8d06cbf0f8 [board] Make the piece module public and remove the crate-level export of Color and Piece Eryn Wells 2023-12-26 21:36:38 -07:00
  • 17511e9d63 [board] Implement a rather dumb Position::piece_on_square Eryn Wells 2023-12-26 21:34:01 -07:00
  • 49c5a0b51d [board] Implement fmt::Display for Piece Eryn Wells 2023-12-26 21:33:00 -07:00
  • ecc1ee85d4 [board] Remove an unintentional recursion in fmt::Display for piece::Shape Eryn Wells 2023-12-26 21:31:44 -07:00
  • 8e9da6aeff [board] Implement helpful piecewise constructors on Piece Eryn Wells 2023-12-26 21:31:05 -07:00
  • 371d37f688 [board] Implement TryFrom<char> and Into<char> for piece::Shape Eryn Wells 2023-12-26 13:57:36 -07:00
  • a963cee1e7 Merge branch 'main' into pretty-print-position Eryn Wells 2023-12-26 13:28:55 -07:00
  • 9d0761f8c6 [board] Rename from_algebraic_string → from_algebraic_str Eryn Wells 2023-12-26 13:28:25 -07:00
  • 758a3d95fc [board] Reorganize bitboard and position modules and export some symbols from the crate Eryn Wells 2023-12-26 11:25:27 -07:00
  • d2d33a4915 [board] Add Position::color_to_move defaulting to White Eryn Wells 2023-12-26 11:22:40 -07:00
  • cc793fdad6 [board] Pretty print a board with rank and file notations but no pieces Eryn Wells 2023-12-26 11:21:01 -07:00
  • 1575c83d31 [board] Rename PiecePlacementError::PieceExistsOnSquare → ExistsOnSquare Eryn Wells 2023-12-26 11:20:01 -07:00
  • 80b78a8fef [board] Remove Default derivation from BitBoard Eryn Wells 2023-12-26 11:19:13 -07:00
  • 32c562e405 [board] Implement Color::other() that swaps the color for the other Eryn Wells 2023-12-26 11:13:44 -07:00
  • fac98735e3 [board] Implement a Pieces iterator Eryn Wells 2023-12-26 09:19:38 -07:00
  • 18d9a845e6 [board] Implement a custom Debug for Position Eryn Wells 2023-12-26 09:17:57 -07:00
  • e23c20486e [board] Build error and warning fixes Eryn Wells 2023-12-26 09:16:55 -07:00
  • 48f393680c [board] Rename BitBoard::pieces() → occupied_squares() Eryn Wells 2023-12-26 09:15:53 -07:00
  • e0f1e1f6ff [board] Derive a bunch of traits for Color, Shape, Piece, and Square Eryn Wells 2023-12-26 09:15:24 -07:00
  • 1da827a3bb [board] Implement a BitScanner on u64 Eryn Wells 2023-12-23 23:04:18 -07:00
  • a2f88f0fde [board] Give piece Color and shape enums integer values Eryn Wells 2023-12-23 20:14:24 -07:00
  • e4859105b7 [board] Implement directional shifts by 1 on BitBoard Eryn Wells 2023-12-23 16:09:58 -07:00
  • 366f15ca12 [board] Implement placing a piece in a mutable position Eryn Wells 2023-12-23 09:31:41 -07:00
  • 153e21b693 [board] Implement finding a neighbor of a square Eryn Wells 2023-12-23 09:30:45 -07:00
  • 341d8211ad [board] Fix algebraic square parsing Eryn Wells 2023-12-23 09:27:56 -07:00
  • 9bcd0b2148 [board] Add neighbor and piece modules Eryn Wells 2023-12-23 09:18:01 -07:00
  • 70d8034e4e [board] Inline BitAnd, BitOr, and Not BitBoard methods; remove an unused import Eryn Wells 2023-12-23 09:17:07 -07:00
  • 0838f4fd01 [board] Add a Not impl for BitBoard Eryn Wells 2023-12-23 09:16:32 -07:00
  • 42d231435e Add some notes Eryn Wells 2023-12-22 08:51:18 -08:00
  • 6af64171a2 [board] Implement BitAnd and BitOr on BitBoard and make it's u64 private Eryn Wells 2023-12-22 08:50:03 -08:00
  • aa7e901241 [board] Add remove_piece_at() method to BitBoard Eryn Wells 2023-12-21 08:30:48 -08:00
  • ed9a919db6 [board] Add a "count leading zeros" implementation for ARM machines Eryn Wells 2023-12-21 08:17:17 -08:00
  • 4eb734d3eb [board] Some basic bit operations for bitboards Eryn Wells 2023-12-21 08:17:06 -08:00
  • 0a42adf1fa [board] Re-do the Square implementation Eryn Wells 2023-12-21 08:15:51 -08:00
  • d776bd18e2 [board] Move bitboard lib to "board" Eryn Wells 2023-12-20 11:45:55 -08:00
  • ab55a7994c [bitboard] Implement a Square type; fix all the build issues after adding a mod line to lib.rs Eryn Wells 2023-12-20 11:45:12 -08:00
  • d080ddc735 Ignore the target/ directory Eryn Wells 2023-12-19 11:13:41 -08:00
  • 567cb8d787 [bitboard] Commit the lock file Eryn Wells 2023-12-19 11:13:20 -08:00
  • ebed5c05ed [bitboard] Add a BitBoard and a Position struct Eryn Wells 2023-12-19 11:13:06 -08:00
  • 8fd01e4f11 Add bitboard Rust library Eryn Wells 2023-12-19 10:32:26 -08:00