Implement initial Pawn setup
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
#[derive(Clone)]
|
||||||
enum Color {
|
enum Color {
|
||||||
Black,
|
Black,
|
||||||
White,
|
White,
|
||||||
@@ -128,10 +129,31 @@ impl GridAxis for Column {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
enum PieceType {
|
enum PieceType {
|
||||||
Pawn,
|
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 {
|
struct Piece {
|
||||||
position: Position,
|
position: Position,
|
||||||
color: Color,
|
color: Color,
|
||||||
|
|||||||
Reference in New Issue
Block a user