private Add ( |
||
player | ||
card | ||
Résultat | void |
internal void Add( Player player, Card card )
{
_cardToPlayerMap.Add( card, player );
_currentHand.Add( card );
_playedCards.Add( card );
_remainingCards.Remove( card );
CheckForBelotCombination ( player, card );
if( _currentHand.Count < 4 ) // current hand is open
{
_isHandClosed = false;
}
else // current hand is closed
{
_currentHand.SetWinner( DetermineCurrentHandWinner() );
_playedHands.Add( _currentHand );
_currentHand = new Hand();
_isHandClosed = true;
}
}
internal void PlayerPlayedCard(Player player, Card playedCard) { _playingManager.Add(player, playedCard); player.Cards.Remove(playedCard); foreach (Card card in player.Cards) { card.IsSelectable = false; } if (_playingManager.IsHandClosed) { Hand lastHand = _playingManager.GetLastHand(); CalculatePoints(lastHand); _game.HandIsClosed(lastHand); NextHand(); } else { PlayerHasTurn(_game.GetNextPlayer(player)); } }