Example #1
0
 /**
  * @param Response $response
  * @return Move|null
  */
 public function handle(Response $response)
 {
     $board = $response->getBoard();
     $identity = $response->getPlayer();
     $this->brain->setIdentity($identity);
     if ($board->getNextPlayer() == $identity) {
         $column = $this->brain->getColumn($board);
         return new Move($identity, $column);
     }
 }
Example #2
0
 function it_can_handle_a_response_where_it_is_this_clients_turn(Response $response, Board $board, Brain $brain, Player $red, Column $column)
 {
     $response->getPlayer()->willReturn($red);
     $response->getBoard()->willReturn($board);
     $board->getNextPlayer()->willReturn($red);
     $brain->getColumn($board)->willReturn($column);
     $brain->setIdentity($red)->willReturn(null);
     $move = $this->handle($response);
     $move->shouldHaveType('Connect4\\Lib\\Move');
     $move->getPlayer()->shouldBe($red);
     $move->getColumn()->shouldBe($column);
 }