From dac3ce1c1d581883db00d9779f413e989c1f5049 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 22 Oct 2014 15:09:32 -0400 Subject: the board already tracks the turn --- lib/Bot/Zulip/Chess.pm | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/lib/Bot/Zulip/Chess.pm b/lib/Bot/Zulip/Chess.pm index 93a070a..7b9bf06 100644 --- a/lib/Bot/Zulip/Chess.pm +++ b/lib/Bot/Zulip/Chess.pm @@ -49,12 +49,6 @@ has black_player => ( clearer => 'clear_black_player', ); -has turn => ( - is => 'rw', - isa => 'Str', - default => 'white', -); - has _zulip => ( is => 'ro', isa => 'WebService::Zulip', @@ -132,9 +126,7 @@ sub handle_move ($self, $player, $move) { return try { $self->_chessboard->go_move($move); - my $state = $self->draw_state; - $self->increment_turn; - $state + $self->draw_state; } catch { s/ at .* line .*//r; @@ -160,11 +152,6 @@ sub set_new_player ($self, $player) { } } -sub increment_turn ($self) { - $self->turn($self->turn eq 'white' ? 'black' : 'white'); - warn "It is now " . $self->turn . "'s turn"; -} - sub draw_state ($self) { my $board = $self->format_board =~ s/^/ /gmr; my $status = $self->_chessboard->status; @@ -185,7 +172,7 @@ sub draw_state ($self) { } sub players_turn ($self, $player) { - my $method = $self->turn . '_player'; + my $method = $self->_chessboard->to_move ? 'white_player' : 'black_player'; my $expected_player = $self->$method; return if grep { $_ eq $player } grep { defined } ( $self->white_player, $self->black_player @@ -196,7 +183,6 @@ sub players_turn ($self, $player) { } sub reset_board ($self) { - $self->turn('white'); $self->clear_white_player; $self->clear_black_player; $self->_clear_chessboard; -- cgit v1.2.3