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;
|
||||
mod field;
|
||||
mod pawn;
|
||||
pub mod pawn;
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
use core::fmt;
|
||||
|
||||
use uuid::Uuid;
|
||||
|
||||
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 {
|
||||
pub players: [Player; 2],
|
||||
@@ -38,4 +41,16 @@ impl GameMaster {
|
||||
|
||||
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