From 4753e4767eab175ec6e3e712dfbec59c3c13e1e2 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 22 Oct 2014 16:25:00 -0400 Subject: add a few special commands --- lib/Bot/Zulip/Chess.pm | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/Bot/Zulip/Chess.pm b/lib/Bot/Zulip/Chess.pm index 321e393..93cc5ba 100644 --- a/lib/Bot/Zulip/Chess.pm +++ b/lib/Bot/Zulip/Chess.pm @@ -165,18 +165,27 @@ sub handle_move ($self, $player, $move) { } return try { - my $res = $self->_chessboard->go_move($move); - my $parsed_move = $res->{san}; - if ($self->needs_new_player) { - $self->_temp_move($parsed_move); + if ($move eq 'state') { + $self->draw_state; + } + elsif ($move eq 'resign') { + my $msg = '@**' . $self->current_player . "** resigned"; + $self->reset_board; } else { - $self->_record_file->spew( - iomode => 'a', - $parsed_move . ($self->_chessboard->to_move ? "\n" : " ") - ); + my $res = $self->_chessboard->go_move($move); + my $parsed_move = $res->{san}; + if ($self->needs_new_player) { + $self->_temp_move($parsed_move); + } + else { + $self->_record_file->spew( + iomode => 'a', + $parsed_move . ($self->_chessboard->to_move ? "\n" : " ") + ); + } + $self->draw_state; } - $self->draw_state; } catch { s/ at .* line .*//r; -- cgit v1.2.3