From 96c7ca73bfe6f5e020f8312ef40d739615bff1ac Mon Sep 17 00:00:00 2001 From: szymon Date: Fri, 14 Aug 2026 13:06:35 +0200 Subject: [PATCH] chore: add get_current_player_capture to game manager --- src/logic/board/mod.rs | 2 +- src/logic/board/pawn.rs | 2 -- src/logic/game_master.rs | 17 ++++++++++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/logic/board/mod.rs b/src/logic/board/mod.rs index fb0a2bd..079d7f1 100644 --- a/src/logic/board/mod.rs +++ b/src/logic/board/mod.rs @@ -1,3 +1,3 @@ pub mod board; mod field; -mod pawn; +pub mod pawn; diff --git a/src/logic/board/pawn.rs b/src/logic/board/pawn.rs index 9693334..f5e9db1 100644 --- a/src/logic/board/pawn.rs +++ b/src/logic/board/pawn.rs @@ -1,5 +1,3 @@ -use core::fmt; - use uuid::Uuid; use crate::logic::{math::position::Position, player::Player}; diff --git a/src/logic/game_master.rs b/src/logic/game_master.rs index 51f028b..c79c760 100644 --- a/src/logic/game_master.rs +++ b/src/logic/game_master.rs @@ -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 { + 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() + } }