public int[] PlayRound() { var cards = CardCollection.AllCards(); //Deal cards var playerCards = Dealer.Deal(CardCollection.AllCards(), PlayerCount); var minHandSize = playerCards.Min(hand => hand.Cards().Count()); var seats = Enumerable.Range(0, PlayerCount).Select(i => { return(new Seat(i, _players[i], playerCards[i])); }).ToArray(); InitialMove[] initialMoves = DoInitialMoves(playerCards); GiveInitialCards(playerCards, initialMoves); var scoreCount = new ScoreCount(PlayerCount); TrickResult previousWinner = null; for (int i = 0; i < minHandSize - 1; i++) { previousWinner = new TrickEngine(seats).PlayTrick(previousWinner); scoreCount.Add(previousWinner.Winner.Index, previousWinner.WinnerPrice()); } var bottleTax = initialMoves.Sum(move => move.ToBottle.Score); var scores = Scores(scoreCount, previousWinner.BottleOwner.Index, bottleTax); foreach (var player in _players) { player.RoundEnded(scores); } return(scores); }
public override void Undo() { location.Clear(); foreach (Card c in before.AllCards()) { location.Add(c); } }
public override void Execute() { foreach (Card c in location.AllCards()) { before.Add(c); } cg.SetDeck(deck, location, script); }
public override void Undo() { locations.cardList.Clear(); foreach (Card c in unshuffled.AllCards()) { locations.Add(c); } }
private void SortCards(CardCollection source) { Reset(); foreach (var card in source.AllCards()) { var curScore = score.GetScore(card); array[curScore].Add(card); } }
private CardCollection Clone(CardCollection source) { var recurseList = new CardCollection(CCType.VIRTUAL); foreach (var card in source.AllCards()) { recurseList.Add(card); } return(recurseList); }
public Card Get() { //Console.WriteLine("locid:" + locIdentifier); switch (locIdentifier) { case "top": return(cardList.Peek()); case "bottom": System.Collections.Generic.IEnumerator <Card> e = cardList.AllCards().GetEnumerator(); e.MoveNext(); return(e.Current); case "-1": // SHOULD THIS THROW EXCEPTION INSTEAD? return(cardList.Peek()); default: return(cardList.Get(Int32.Parse(locIdentifier))); } }