unfinished threatened_by function
Some checks failed
CI / Saltfish (push) Has been cancelled
CI / Saltfish [custom_pieces] (push) Has been cancelled

This commit is contained in:
fabolous005 2024-04-25 22:37:59 +02:00
parent 960f06c4f4
commit 69ad75816b

View File

@ -340,6 +340,7 @@ impl Board {
false false
} }
// TODO: fix this
pub fn threatened_by(&self, square: Square) -> Vec<Square> { pub fn threatened_by(&self, square: Square) -> Vec<Square> {
let mut changes; let mut changes;
let to_move = self.whites_turn; let to_move = self.whites_turn;
@ -351,10 +352,21 @@ impl Board {
let mut multiplier = 1; let mut multiplier = 1;
loop { loop {
multiplier += 1;
if square.x() as i8 + change.ref_x() * multiplier < 0 || square.x() as i8 + change.ref_x() * multiplier > 7 || if square.x() as i8 + change.ref_x() * multiplier < 0 || square.x() as i8 + change.ref_x() * multiplier > 7 ||
square.y() as i8 + change.ref_y() * multiplier < 0 || square.y() as i8 + change.ref_y() * multiplier > 7 || square.y() as i8 + change.ref_y() * multiplier < 0 || square.y() as i8 + change.ref_y() * multiplier > 7 ||
self.used(Square::new((square.x() as i8 + change.ref_x() * multiplier) as u8, (square.y() as i8 + change.ref_y() * multiplier) as u8)) { {
multiplier >= 2 &&
!self.used(Square::new((square.x() as i8 + change.ref_x() * multiplier) as u8, (square.y() as i8 + change.ref_y() * multiplier) as u8))
}
{
trace!(
"{:?}:{:?}x{:?} => {:?}",
{square.x() as i8 + change.ref_x() * multiplier},
{square.y() as i8 + change.ref_y() * multiplier},
multiplier,
variant.as_piece_variant()
);
break; break;
} }
@ -370,6 +382,7 @@ impl Board {
if !variant.iterable() { if !variant.iterable() {
break; break;
} }
multiplier += 1;
} }
} }
} }