private Strategy FindOptimalStrategy(CardValue middleChoice, CardDeck deck)
 {
     IEnumerable<Card> cardsLower = deck.Cards.Where(card => card.Value.Value < middleChoice.Value);
     IEnumerable<Card> cardsHigher = deck.Cards.Where(card => card.Value.Value > middleChoice.Value);
     Strategy optimalStrategy = new Strategy(
         middleChoice,
         FindClosestExistingCard(ExpectedCardValue(cardsLower), cardsLower),
         FindClosestExistingCard(ExpectedCardValue(cardsHigher), cardsHigher));
     return optimalStrategy;
 }
 public Strategy FindOptimalStrategy(CardDeck deck)
 {
     double expectedCardValue = ExpectedCardValue(deck.Cards);
     return FindOptimalStrategy(FindClosestExistingCard(expectedCardValue, deck.Cards), deck);
 }
Exemple #3
0
 public Card(CardValue value, CardDeck deck)
 {
     this.Value = value;
     this.NumberDealt = 0;
     this.deck = deck;
 }