Belot.Deal.EnterBiddingState C# (CSharp) Метод

EnterBiddingState() приватный Метод

private EnterBiddingState ( ) : Player
Результат Player
        internal Player EnterBiddingState()
        {
            AnnouncementManager announcementManager = new AnnouncementManager( );

            Player current = this._firstPlayer;
            Announcement announce;

            while( !announcementManager.IsBiddingFinished	)
            {
                announce = current.MakeAnnouncement( announcementManager );

                announcementManager.Add( current, announce );

                _currentAnnouncement = announcementManager.GetLastValidAnnouncement();

                current = _game.GetNextPlayer( current );
            }

            _bidWinner = announcementManager.GetLastBidder();

            return announcementManager.GetLastBidder();
        }

Usage Example

Пример #1
0
        private void NextDeal()
        {
            _southPlayer.Cards.Clear();
            _eastPlayer.Cards.Clear();
            _northPlayer.Cards.Clear();
            _westPlayer.Cards.Clear();

            _currentDeal = new Deal(this, _firstPlayer);

            _firstPlayer = GetNextPlayer(_firstPlayer);
            _deals.Add(_currentDeal);
            _currentDeal.DealFirstCards();

            Player winner = _currentDeal.EnterBiddingState();

            if (_currentDeal.CurrentAnnouncement.Type == AnnouncementTypeEnum.Pass)
            {
                _southPlayer.Cards.Clear();
                _eastPlayer.Cards.Clear();
                _northPlayer.Cards.Clear();
                _westPlayer.Cards.Clear();
                FinalizeDeal();
                return;
            }

            RaiseBiddingCompleted(winner, _currentDeal.CurrentAnnouncement);

            _currentDeal.DealRestCards();

            _southPlayer.CardPlayed += new Player.CardPlayedHandler(_currentDeal.PlayerPlayedCard);
            _northPlayer.CardPlayed += new Player.CardPlayedHandler(_currentDeal.PlayerPlayedCard);
            _eastPlayer.CardPlayed  += new Player.CardPlayedHandler(_currentDeal.PlayerPlayedCard);
            _westPlayer.CardPlayed  += new Player.CardPlayedHandler(_currentDeal.PlayerPlayedCard);

            _currentDeal.EnterPlayingState();
        }
All Usage Examples Of Belot.Deal::EnterBiddingState