Implement initial Pawn setup
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user