summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-22 15:09:32 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-22 15:09:32 -0400
commitdac3ce1c1d581883db00d9779f413e989c1f5049 (patch)
tree2bd672b668498068c8e2ca6590af1f563c0d5a13
parent0e62856af011453230064996da07202e7028b09e (diff)
downloadBot-Zulip-Chess-dac3ce1c1d581883db00d9779f413e989c1f5049.tar.gz
Bot-Zulip-Chess-dac3ce1c1d581883db00d9779f413e989c1f5049.zip
the board already tracks the turn
-rw-r--r--lib/Bot/Zulip/Chess.pm18
1 files 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;