コード例 #1
0
ファイル: WarGame.php プロジェクト: bnowak/card-game
 /**
  * Handling of putting $card by $player in WarGame
  *
  * @param Card $card
  * @param Player $player
  */
 public function putCardByPlayer(Card $card, Player $player)
 {
     parent::putCardByPlayer($card, $player);
     $playerCardsSituatedCount = $this->gameTable->countSituatedCardPlayer($player);
     if ($playerCardsSituatedCount % 2 === 0) {
         $card->setVisible(false);
     } else {
         $card->setVisible(true);
     }
     $cardsCandPutByPlayerCount = $this->getMovementCountForPlayer($player);
     $this->setMovementCountForPlayer($player, --$cardsCandPutByPlayerCount);
     if (false === $this->isPlayerWhoHasMovement()) {
         if ($this->isWarFromLastSituatedCards()) {
             $this->addHowManyMovementsCanDoPlayersOnWar();
             if ($this->isAnyPlayerLoser()) {
                 $this->endAndStartRound();
             }
         } elseif ($this->isOneHighestCardPutted()) {
             $this->endAndStartRound();
         }
     }
 }
コード例 #2
0
ファイル: Player.php プロジェクト: bnowak/card-game
 /**
  * Put card by player on GameTable
  *
  * @param Card $card
  */
 public function putCard(Card $card)
 {
     $this->checkIsGameSetForPlayer();
     $this->game->putCardByPlayer($card, $this);
 }