private void DealNewDeck() { var pile = CardsPack.GetNew52CardsPack(); pile.Shuffle(); mTable.StockPile = pile; }
private void ShuffleCardsTestInternal(CardsPack cardsPack) { var cardsCount = cardsPack.Count(); cardsPack.Shuffle(); Assert.Equal(cardsCount, cardsPack.Count()); }
public void DifferentSuitsCreateNeededCountCardsTest() { Int32 countHeartCard = 0, countDiamondCard = 0, countClubCard = 0, countSpadeCard = 0; CardsPack.NewPack(); IEnumerable <Card> cards = CardsPack.Cards; foreach (Card card in cards) { if (card.Suit == CardSuit.Heart) { countHeartCard++; } if (card.Suit == CardSuit.Diamond) { countDiamondCard++; } if (card.Suit == CardSuit.Club) { countClubCard++; } if (card.Suit == CardSuit.Spade) { countSpadeCard++; } } Assert.AreEqual(9, countHeartCard); Assert.AreEqual(9, countDiamondCard); Assert.AreEqual(9, countClubCard); Assert.AreEqual(9, countSpadeCard); }
public void NumberCreateNeededCountCardsTest() { Int32 countSix = 0, countSeven = 0, countEight = 0, countNine = 0, countTen = 0, countJack = 0, countLady = 0, countKing = 0, countAce = 0; CardsPack.NewPack(); IEnumerable <Card> cards = CardsPack.Cards; foreach (Card card in cards) { if (card.Number == CardNumber.Six) { countSix++; } if (card.Number == CardNumber.Seven) { countSeven++; } if (card.Number == CardNumber.Eight) { countEight++; } if (card.Number == CardNumber.Nine) { countNine++; } if (card.Number == CardNumber.Ten) { countTen++; } if (card.Number == CardNumber.Jack) { countJack++; } if (card.Number == CardNumber.Lady) { countLady++; } if (card.Number == CardNumber.King) { countKing++; } if (card.Number == CardNumber.Ace) { countAce++; } } Assert.AreEqual(4, countSix); Assert.AreEqual(4, countSeven); Assert.AreEqual(4, countEight); Assert.AreEqual(4, countNine); Assert.AreEqual(4, countTen); Assert.AreEqual(4, countJack); Assert.AreEqual(4, countLady); Assert.AreEqual(4, countKing); Assert.AreEqual(4, countAce); }
public void Start(int cardsCount, Player mover) { CardsPack = new CardsPack(cardsCount); CurrentMover = mover; GameRounds = new List <GameRound>() { new GameRound() }; }
public void AShuffledPileIsFullBackface() { var pile = CardsPack.GetNew52CardsPack(); pile.Shuffle(); for (int i = 1; i < 53; i++) { Assert.AreEqual(52, pile.CardsCount); Assert.AreEqual(eCardSide.Back, pile.ReadCard(i).VisibleSide, "After shuffle, all cards should be Backface on top"); } }
public void APileCanBeShuffled() { var pile = CardsPack.GetNew52CardsPack(); pile.Shuffle(); var randomCard = pile.ReadCard(1); Debug.Log("First Card is now a " + randomCard); Assert.AreEqual(52, pile.CardsCount, "A deck shuffle should not change the cards count"); Assert.AreEqual(eCardSide.Back, randomCard.VisibleSide, "After shuffle, the cards should be Backface on top"); }
/// <summary> /// Раздает игрокам карты /// </summary> private void DealCards() { var cardPerPlayer = CardsPack.Count() / GamePlayers.Count; foreach (var player in GamePlayers) { for (int i = 0; i < cardPerPlayer; i += cardPerPlayer) { player.GiveCards(CardsPack.TakeMany(cardPerPlayer)); } } }
/// <summary> /// Запускает игру /// </summary> public void Start() { if (IsStarted) { throw new TrueFalseGameException("Игра уже запущена"); } CardsPack.Shuffle(); DealCards(); NextRound(); SetNextMover(); IsStarted = true; }
private bool ValidateFirstMove(FirstMove move) { if (!ValidateCardsCount(move.Cards)) { return(false); } if (!CardsPack.IsRankContains(move.Rank)) { return(false); } return(true); }
public void DeleteRangeCardsFromCardsPack() { List <Card> cards = new List <Card>() { new Card(CardSuit.Heart, CardNumber.Jack), new Card(CardSuit.Spade, CardNumber.Six), new Card(CardSuit.Diamond, CardNumber.Ace) }; CardsPack.NewPack(); CardsPack.DeleteRangeCards(cards); CardsPack.DeleteRangeCards(cards); Assert.AreEqual(33, CardsPack.CountCards); }
public void DeleteCardFromCardsPack() { Card cardForDelete = new Card(CardSuit.Heart, CardNumber.Jack); CardsPack.NewPack(); Boolean statusDeletingExistCard = CardsPack.DeleteCard(cardForDelete); Boolean statusDeletingNotExistCard = CardsPack.DeleteCard(cardForDelete); Assert.AreEqual(true, statusDeletingExistCard); Assert.AreEqual(false, statusDeletingNotExistCard); Assert.AreEqual(35, CardsPack.CountCards); }
private void TakeCardsTestInternal(CardsPack cardsPack) { var cardsCount = cardsPack.Count(); var cards = cardsPack.TakeMany(10); Assert.Equal(10, cards.Count); Assert.Equal(cardsCount - 10, cardsPack.Count()); var card = cardsPack.TakeOne(); Assert.NotNull(card); Assert.Equal(cardsCount - 11, cardsPack.Count()); // Попытаемся взять больше чем есть Assert.Throws <TrueFalseGameException>(() => { cardsPack.TakeMany(100); }); }
public Game(CardsPack cardsPack, IReadOnlyCollection <GameTablePlayer> players) { if (cardsPack == null) { throw new ArgumentNullException(nameof(cardsPack)); } if (players == null) { throw new ArgumentNullException(nameof(players)); } CardsPack = cardsPack; Rounds = new List <GameRound>(); SetPlayers(players); }
public void APileCanBePutUpsideDown() { var pile1 = CardsPack.GetNew32CardsPack(); var pile2 = CardsPack.GetNew32CardsPack(); pile2.PutUpsideDown(); Assert.AreEqual(32, pile2.CardsCount); for (int i = 1; i < 33; i++) { var c1 = pile1.ReadCard(i); var c2 = pile2.ReadCard(33 - i); Assert.AreEqual(c1.Value, c2.Value); Assert.AreEqual(c1.Color, c2.Color); Assert.AreNotEqual(c1.VisibleSide, c2.VisibleSide); } }
public void WhatIsA_32CardsDeck() { var pile = CardsPack.GetNew32CardsPack(); var aceOfSpades = pile.ReadCard(1); var tenOfDiamonds = pile.ReadCard(13); var queenOfHearts = pile.ReadCard(23); var kingOfClubs = pile.ReadCard(32); Assert.AreEqual(32, pile.CardsCount); Assert.AreEqual(eCardValue.Ace, aceOfSpades.Value, "The 1st card should be an Ace of Spades"); Assert.AreEqual(eCardColor.Spades, aceOfSpades.Color, "The 1st card should be an Ace of Spades"); Assert.AreEqual(eCardSide.Front, aceOfSpades.VisibleSide, "The 1st card should be an Ace of Spades"); Assert.AreEqual(eCardValue.Ten, tenOfDiamonds.Value, "The 20th card should be an Seven of Diamonds"); Assert.AreEqual(eCardColor.Diamonds, tenOfDiamonds.Color, "The 20th card should be an Seven of Diamonds"); Assert.AreEqual(eCardSide.Front, tenOfDiamonds.VisibleSide, "The 20th card should be an Seven of Diamonds"); Assert.AreEqual(eCardValue.Queen, queenOfHearts.Value, "The 38th card should be an Queen of Hearts"); Assert.AreEqual(eCardColor.Hearts, queenOfHearts.Color, "The 38th card should be an Queen of Hearts"); Assert.AreEqual(eCardSide.Front, queenOfHearts.VisibleSide, "The 38th card should be an Queen of Hearts"); Assert.AreEqual(eCardValue.King, kingOfClubs.Value, "The 52nd card should be an King of Clubs"); Assert.AreEqual(eCardColor.Clubs, kingOfClubs.Color, "The 52nd card should be an King of Clubs"); Assert.AreEqual(eCardSide.Front, kingOfClubs.VisibleSide, "The 52nd card should be an King of Clubs"); }
public void CreateCardsPackTest() { CardsPack.NewPack(); Assert.AreEqual(36, CardsPack.CountCards); }