mirror of
https://github.com/szymon-jozef/checkers.git
synced 2026-10-27 19:20:44 +01:00
chore: add get_current_player_capture to game manager
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
pub mod board;
|
pub mod board;
|
||||||
mod field;
|
mod field;
|
||||||
mod pawn;
|
pub mod pawn;
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
use core::fmt;
|
|
||||||
|
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
use crate::logic::{math::position::Position, player::Player};
|
use crate::logic::{math::position::Position, player::Player};
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
use crate::logic::{board::board::Board, player::Player};
|
use crate::logic::{
|
||||||
|
board::{board::Board, pawn::CapturePath},
|
||||||
|
player::Player,
|
||||||
|
};
|
||||||
|
|
||||||
struct PlayerList {
|
struct PlayerList {
|
||||||
pub players: [Player; 2],
|
pub players: [Player; 2],
|
||||||
@@ -38,4 +41,16 @@ impl GameMaster {
|
|||||||
|
|
||||||
GameMaster { players, board }
|
GameMaster { players, board }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get_current_player_captures(&self) -> Vec<CapturePath> {
|
||||||
|
self.board
|
||||||
|
.get_player_pawns_positions(self.players.get_current_turn())
|
||||||
|
.into_iter()
|
||||||
|
.filter_map(|pos| {
|
||||||
|
self.board
|
||||||
|
.get_available_captures(pos, self.players.get_current_turn())
|
||||||
|
})
|
||||||
|
.flatten()
|
||||||
|
.collect()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user