/** * Handling of player loses * * @param Player $player */ protected function losePlayer(Player $player) { $this->losePlayers[] = $player; $playerKey = array_search($player, $this->players, true); unset($this->players[$playerKey]); $this->gameTable->unsetPlayer($player); }
/** * @param Player[] $players * @param Card[] $firstPlayerCards * @param Card[] $cardsInPile * @return GameTable */ private function prepareGameTable(array $players, array $firstPlayerCards, array $cardsInPile) : GameTable { $gameTable = new GameTable($players); $gameTable->getPlayerCards(reset($players))->appendMany($firstPlayerCards); $gameTable->getCardsPile()->appendMany($cardsInPile); return $gameTable; }