Belot.PlayingManager.Add C# (CSharp) Method

Add() private method

private Add ( Player player, Card card ) : void
player Player
card Card
return 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;
            }
        }

Usage Example

示例#1
0
        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));
            }
        }