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); }
public Card(CardValue value, CardDeck deck) { this.Value = value; this.NumberDealt = 0; this.deck = deck; }