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(); }
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(); }