From 6f51c31752bc8f66bbbdf22626531e887c8efd4c Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 19 Feb 2025 13:40:05 -0500 Subject: [PATCH] Board::game_winner: remove unneeded argument --- src/board.rs | 5 +++-- src/future_moves.rs | 4 ++-- src/game.rs | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/board.rs b/src/board.rs index ec33b75..67d3ad0 100644 --- a/src/board.rs +++ b/src/board.rs @@ -324,10 +324,11 @@ impl Board { } /// Returns the winner of the board (if any) - pub fn game_winner(&self, turn: Piece) -> Winner { + pub fn game_winner(&self) -> Winner { // Wikipedia: `Players take alternate turns. If one player cannot make a valid move, play passes back to the other player. The game ends when the grid has filled up or if neither player can make a valid move.` - if self.possible_moves(turn).next().is_some() || self.possible_moves(!turn).next().is_some() + if self.possible_moves(Piece::Black).next().is_some() + || self.possible_moves(Piece::White).next().is_some() { // player can still make a move, there is no winner return Winner::None; diff --git a/src/future_moves.rs b/src/future_moves.rs index b35c3e9..384648a 100644 --- a/src/future_moves.rs +++ b/src/future_moves.rs @@ -170,7 +170,7 @@ impl FutureMoves { i, j, board: new_board, - winner: new_board.game_winner(new_color), + winner: new_board.game_winner(), parent: Some(parent_idx), children: Vec::new(), value: 0, @@ -295,7 +295,7 @@ impl FutureMoves { i: 0, j: 0, board, - winner: Winner::None, + winner: board.game_winner(), parent: None, children: Vec::new(), value: 0, diff --git a/src/game.rs b/src/game.rs index af09c38..15e6f49 100644 --- a/src/game.rs +++ b/src/game.rs @@ -97,7 +97,7 @@ impl Game { println!("{}", self); - match self.board.game_winner(self.players[current_player].color()) { + match self.board.game_winner() { Winner::Player(piece) => { println!("{} Wins!", piece.text()); break;