Example #1
0
 public void CardsTurn(SelectedCardsConfirmationDelegate cardsTurnCallback)
 {
     if (!_players.MoveNext())
     {
         _players.Reset();
         _players.MoveNext();
     }
     _players.Current.CardsTurn(cardsTurnCallback);
 }
        public IReadyToRaceFourthStep CardsTurn(SelectedCardsConfirmationDelegate cardsTurnCallback,
                                                DeskIsValidForTheNextPlayerDelegate deskIsValidForTheNextPlayerCallback)
        {
            var validForTheNextPlayer = true;

            while (validForTheNextPlayer)
            {
                _players.CardsTurn(cardsTurnCallback);
                validForTheNextPlayer = deskIsValidForTheNextPlayerCallback();
            }
            return(this);
        }
Example #3
0
        public void CardsTurn(SelectedCardsConfirmationDelegate selectedCardsConfirmation)
        {
            var valid = false;

            var selectedCards = _userCallbacksNotifications.SelectRacingCard(MyRacingCards);

            valid = selectedCardsConfirmation(selectedCards) && _preConditionRaicingCards.Validate(selectedCards);
            while (!valid)
            {
                selectedCards = _userCallbacksNotifications.SelectRacingCard(MyRacingCards);
                valid         = selectedCardsConfirmation(selectedCards) && _preConditionRaicingCards.Validate(selectedCards);
            }
            selectedCards.ToList().ForEach(x => MyRacingCards.Remove(x));

            Enumerable.Range(0, selectedCards.Count())
            .ToList()
            .ForEach(x => MyRacingCards.Add(_racingCardManager.TakeCard()));
        }
 public void CardsTurn(SelectedCardsConfirmationDelegate selectedCardsConfirmation)
 {
 }