King and knight now move

This commit is contained in:
Kumu 2022-01-01 15:03:41 -05:00
parent 8c6a230138
commit 2e8f0f6005

View file

@ -84,21 +84,41 @@ impl Piece {
PieceKind::Rook => {
move_directions.extend([
(0, 1), (1, 0), (-1, 0), (1, 0)
])
]);
}
PieceKind::Knight => {
let knight_moves: Vec<(i8, i8)> = vec![
(-1, -2), (-1, 2), (1, -2), (1, 2),
(-2, -1), (-2, 1), (2, -1), (2, 1),
];
visible.extend(
knight_moves.iter().filter_map(|&mv| {
pos + mv
})
);
}
PieceKind::Knight => {}
PieceKind::Bishop => {
move_directions.extend([
(1, 1), (-1, -1), (-1, 1), (1, -1)
])
]);
}
PieceKind::Queen => {
move_directions.extend([
(0, 1), (1, 0), (-1, 0), (1, 0),
(1, 1), (-1, -1), (-1, 1), (1, -1),
])
]);
}
PieceKind::King => {
let king_moves: Vec<(i8, i8)> = vec![
(1, 0), (-1, 0), (1, 1), (-1, 1),
(1, -1), (-1, -1), (0, -1), (0, 1)
];
visible.extend(
king_moves.iter().filter_map(|&mv| {
pos + mv
})
);
}
PieceKind::King => {}
}
for direction in move_directions.drain(..) {