Exemple #1
0
 /**
  * We expect every player to win against drunk player
  * @dataProvider getData
  * @param string $name
  */
 public function testWinAgainstDrunkPlayer($name)
 {
     if ($name == 'drunk') {
         return;
         // we do not want drunk to player to play against himself
     }
     $player = PlayerRegistry::getDefaultPlayers()->get($name);
     $utility = new TableHelper();
     $game = new Game($utility->createTable());
     $game->addPlayer($player);
     $game->addPlayer(new DrunkPlayer(), PlayerInterface::SYMBOL_O);
     $this->assertEquals(PlayerInterface::SYMBOL_X, $game->autoPlay());
 }
Exemple #2
0
 /**
  * Auto play game
  * @return string
  */
 public function autoPlay()
 {
     while ($this->getWinner() === null) {
         $this->getTurn();
         $helper = new TableHelper($this->table);
         if (count($helper->getPossibleMoves()) == null) {
             return $this->getWinner();
         }
     }
     return $this->getWinner();
 }
Exemple #3
0
 /**
  * @dataProvider getTestGetPossibleMovesData()
  * @param array $table
  * @param array $expected
  */
 public function testGetPossibleMoves($table, $expected)
 {
     $utility = new TableHelper($table);
     $actual = $utility->getPossibleMoves();
     sort($actual);
     sort($expected);
     $this->assertEquals($actual, $expected);
 }