Implement initial Pawn setup

This commit is contained in:
2021-11-22 22:42:21 +01:00
parent cc58260943
commit 72a691de90

View File

@@ -1,3 +1,4 @@
#[derive(Clone)]
enum Color {
Black,
White,
@@ -128,10 +129,31 @@ impl GridAxis for Column {
}
}
#[derive(Clone)]
enum PieceType {
Pawn,
}
impl PieceType {
fn initial_setup(&self) -> Vec<Piece> {
match &self {
PieceType::Pawn => [Color::Black, Color::White]
.iter()
.flat_map(|color| {
Column::ALL_VALUES.iter().map(|&column| Piece {
piece_type: self.clone(),
position: Position {
row: color.get_pawn_row(),
column,
},
color: color.clone(),
})
})
.collect(),
}
}
}
struct Piece {
position: Position,
color: Color,