Pass Mailbox instead of Game on related functions for clarity

This commit is contained in:
stefiosif
2024-09-21 15:42:41 +03:00
parent 1ed4a0c2f9
commit a96d3d27b1
6 changed files with 25 additions and 21 deletions

View File

@@ -47,7 +47,7 @@ impl Game {
pub fn make_move(&mut self, mv: &Move) {
self.history
.push_move_parameters(MoveParameters::build(&self, mv));
.push_move_parameters(MoveParameters::build(self, mv));
let board = &mut self.board;
let mailbox = &mut self.mailbox;

View File

@@ -3,6 +3,7 @@ use crate::movegen::r#move::{Move, MoveType};
use super::{
board::PieceType,
game::Game,
mailbox::Mailbox,
state::{Castle, State},
};
@@ -55,8 +56,8 @@ impl MoveParameters {
let mut move_parameters = Self::new();
move_parameters.add_move(*mv);
move_parameters.add_irreversible_parameters(game.board.state);
move_parameters.add_moved_piece(game, mv);
move_parameters.add_captured_piece(game, mv);
move_parameters.add_moved_piece(&game.mailbox, mv);
move_parameters.add_captured_piece(&game.mailbox, mv);
move_parameters.add_promoted_piece(mv);
move_parameters
@@ -66,13 +67,13 @@ impl MoveParameters {
self.mv = Some(mv);
}
fn add_moved_piece(&mut self, game: &Game, mv: &Move) {
self.moved_piece = game.mailbox.find_piece_at(mv.src);
fn add_moved_piece(&mut self, mailbox: &Mailbox, mv: &Move) {
self.moved_piece = mailbox.find_piece_at(mv.src);
}
fn add_captured_piece(&mut self, game: &Game, mv: &Move) {
fn add_captured_piece(&mut self, mailbox: &Mailbox, mv: &Move) {
if let MoveType::Capture | MoveType::PromotionCapture(_) = mv.move_type {
self.captured_piece = game.mailbox.find_piece_at(mv.dst)
self.captured_piece = mailbox.find_piece_at(mv.dst)
}
}
@@ -91,7 +92,7 @@ impl MoveParameters {
impl Default for MoveParameters {
fn default() -> Self {
MoveParameters::new()
Self::new()
}
}