public void CanRemoveCardFromDeck() { Card[] cards = new Card[1]; Deck <Card> newDeck = new Deck <Card>(); Card testCard = new Card((Rank)1, (Suit)1); newDeck.Add(testCard); newDeck.RemoveCard(0); Assert.Empty(newDeck); }
public void ReturnOfSuitReturnsZeroIfNoneFound() { //Arrange Deck <Card> myDeck = new Deck <Card>(); Card myCard = new Card { Suit = Suit.Spades, Value = Value.Ace }; myDeck.Add(myCard); //Assert Assert.Equal(0, myDeck.ReturnOfSuit((Suit)2).count); }
public void CanAddCards() { Card testCard = new Card() { CardSuits = Suits.Hearts, CardFace = CardValue.Ace }; Deck <Card> testdeck = new Deck <Card>(); testdeck.Add(testCard); Assert.Equal(1, testdeck.count); }
public void AddCardTest() { int count = 0; Deck <Card> DeckOfCards = new Deck <Card>(); Card KingClubs = new Card(Suit.Clubs, Face.King); DeckOfCards.Add(KingClubs); foreach (Card item in DeckOfCards) { count++; } Assert.Equal(1, count); }
void PlayTopCard() { AbilityCard targetCard = _playerHand.TopItem; targetCard.Play(); //TODO consider expanding Remove to accept a deck position Destroy(_displayedHand[_playerHand.LastIndex]); _displayedHand.RemoveAt(_playerHand.LastIndex); _playerHand.Remove(_playerHand.LastIndex); _abilityDiscard.Add(targetCard); Debug.Log("Card added to discard: " + targetCard.Name); }
private void RefillDeck() { if (DealtDeck.CardsCount() == 0) { Card topCard = DiscardedDeck.Deal(); while (DiscardedDeck.CardsCount() > 0) { DealtDeck.Add(DiscardedDeck.Deal()); } DealtDeck.Shuffle(); DiscardedDeck.Add(topCard); } }
public void CardTwoWorks() { //Arrange Card cardOne = new Card(); cardOne.CardSuit = CardSuites.Hearts; cardOne.CardValue = CardValues.Ace; Card cardTwo = new Card(); cardTwo.CardSuit = CardSuites.Diamonds; cardTwo.CardValue = CardValues.Five; //act Deck <Card> deck = new Deck <Card>(); deck.Add(cardOne); deck.Add(cardTwo); //assert Assert.Contains(cardTwo, deck.cardsInDeck); }
private void Draw() { AbilityCard newCard = _abilityDeck.Draw(DeckPosition.Top); //Instantiate(newCard, new Vector3(i * 2.0F, 0, 0), Quaternion.identity); Debug.Log("Drew card: " + newCard.Name); _playerHand.Add(newCard, DeckPosition.Top); //newCard._cardPosition = new Vector3(); //_abilityCardView.Display(newCard); PrintPlayerHand(); }
public void GetSetWorks() { //Arrange Card cardOne = new Card(); cardOne.CardSuit = CardSuites.Hearts; cardOne.CardValue = CardValues.Ace; Card cardTwo = new Card(); cardTwo.CardSuit = CardSuites.Diamonds; cardTwo.CardValue = CardValues.Five; var heart = cardOne.CardSuit; //act Deck <Card> deck = new Deck <Card>(); deck.Add(cardOne); deck.Add(cardTwo); //assert Assert.Equal(heart, cardOne.CardSuit); }
public void CanNotRemoveCardThatDoesNotExistFromDeck() { Card[] cards = new Card[1]; Deck <Card> newDeck = new Deck <Card>(); Card testCard = new Card((Rank)1, (Suit)1); newDeck.Add(testCard); newDeck.RemoveCard(16); Assert.NotEmpty(newDeck); }
void OnMainDeckClicked(Deck deck) { if (deck.Count <= 0) { while (_discardDeck.Count > 0) { var card = _discardDeck.RemoveTopCard(); card.showing = false; deck.Add(card); } } LogSelected(); }
public void AddCard(CardBase gCard) { currentDeck.Add(gCard, 1); CardBase cBase = gCard; if (!cardButtons.ContainsKey(cBase)) { GameObject button = Instantiate(cardInDeck); button.transform.SetParent(editDeckPage.transform, false); Vector3 down = new Vector3(0, currentDeck.Count() * -25, 0); button.transform.Translate(down); button.GetComponent <CardInDeck> ().SetCard(cBase, currentDeck.deck[cBase]); cardButtons.Add(cBase, button); } else { cardButtons [cBase].GetComponent <CardInDeck> ().SetAmout(currentDeck.deck[cBase]); } cardCount.GetComponent <Text> ().text = currentDeck.Total() + "/" + cardLimit; }
public void AddSuccessfullyAddsCard() { //Arrange Deck <Card> myDeck = new Deck <Card>(); Card myCard = new Card { Suit = Suit.Spades, Value = Value.Ace }; myDeck.Add(myCard); //Assert Assert.Equal(1, myDeck.count); }
public void ReturnBattlefields(List <Card> BattleCards, List <Card> OpponentBattleCards) { foreach (Card c in BattleCards) { c.FaceUP = false; Deck.Add(c); } foreach (Card c in OpponentBattleCards) { c.FaceUP = false; OpponentDeck.Add(c); } }
public void ReplenishCards() { //Each player takes turns replenishing cards foreach (IPlayer player in Players) { // While the player still reuqires cards and the outOfCards flag is not set while (player.Cards.Count < MINIMUM_CARD_COUNT && !outOfCards) { // Deck contains cards if (deck.Count > 0) { // Remove the image from the deck CardBox when the last card is taken if (deck.Count == 1) { gui.Controls.Remove(gui.pbDeck); } player.Cards.Add(deck.DrawTopCard()); // Deal card to appropriate plater if (player.GetType() == typeof(Player)) { gui.DealCardToPanel(gui.pnlPlayerBottom, player.Cards.Last()); gui.gameStats.cardsDrawn++; } if (player.GetType() == typeof(ComputerPlayer)) { gui.DealCardToPanel(gui.pnlPlayerTop, player.Cards.Last()); } // Update deck count label gui.lblDeckCount.Text = deck.Count.ToString(); gui.Wait(150); } else // Deck does not contain cards { // If, trump card has not yet been moved to the deck, move it if (!trumpMovedtoDeck) { deck.Add(TrumpCard); gui.Controls.Remove(gui.pbTrump); trumpMovedtoDeck = true; } else { outOfCards = true; // Set outOfCards bool to true } } } } }
/// <summary> /// Logic for AI on <see cref="EnvInfos.S_SET_TOUR"/> event. /// </summary> /// <param name="name">The name of the player who must play</param> private void AIPlayCard(string name) { if (name != this.CurrentPlayerName || this.TrumpPhase_lock) { return; } Console.WriteLine("_> AI playing a card for " + name); Deck uDeck = this.UsersDeck[name]; Dictionary <string, Card> board = this.LastRound; string color = (board.Count() == 0) ? null : board[this.CurrentRoundOrder.ElementAt(0)].Color; Deck colorDeck = new Deck(); Deck trumpDeck = new Deck(); Deck restDeck = new Deck(); Card maxItem = uDeck.Array.ElementAt(0); foreach (var item in uDeck.Array) { if (item.Color == color) { if (this.GetCardValue(item) > this.GetCardValue(maxItem) || maxItem.Color != color) { maxItem = item; } colorDeck.Add(item); } else if (item.Color == this.TrumpInfos.RealColor) { if (this.IsColorInDeck(uDeck, color) == 0 && (this.GetCardValue(item) > this.GetCardValue(maxItem) || maxItem.Color != this.TrumpInfos.RealColor)) { maxItem = item; } trumpDeck.Add(item); } else { if (this.IsColorInDeck(uDeck, color) == 0 && this.IsColorInDeck(uDeck, this.TrumpInfos.RealColor) == 0 && this.GetCardValue(item) > this.GetCardValue(maxItem)) { maxItem = item; } restDeck.Add(item); } } Thread.Sleep(this.AILatency); Console.WriteLine("_> " + maxItem.Value + ":" + maxItem.Color + " will be play for " + name); Referee.Instance.EntryPoint(JsonConvert.SerializeObject(new Packet(name, PacketType.GAME, new Gamecall(GameAction.C_PLAY_CARD, maxItem)))); }
public void TableauAddToDrawFrom() { // Arrange var options = new DeckOptions { Tableau = new TableauOptions { Enabled = true, InitialSize = 3, MaintainSize = true, }, Hands = new HandOptions { InitialHandSize = 2 } }; var deck = new Deck <string>(options); deck.Add("This") .Add("is") .Add("a", Location.Tableau) .Add("deck") .Add("with") .Add("the") .Add("tableau"); // Act & Assert Assert.AreEqual(1, deck.Tableau.Count); Assert.AreEqual(6, deck.DrawPile.Count); deck.Tableau.DrawUp(); Assert.AreEqual(3, deck.Tableau.Count); Assert.AreEqual(4, deck.DrawPile.Count); var wasLast = deck.Tableau.Last(); deck.Tableau.Play(deck.Tableau.ElementAt(1)); Assert.AreEqual(3, deck.Tableau.Count); Assert.AreEqual(3, deck.DrawPile.Count); Assert.AreEqual(wasLast, deck.Tableau.ElementAt(1)); var hand = deck.Deal(1, 1).First(); Assert.AreEqual(3, deck.Tableau.Count); Assert.AreEqual(2, deck.DrawPile.Count); Assert.AreEqual(1, deck.Hands.Count); Assert.AreEqual(1, hand.Count); deck.Tableau.DrawInto(deck.Tableau.ElementAt(1), hand); Assert.AreEqual(3, deck.Tableau.Count); Assert.AreEqual(1, deck.DrawPile.Count); Assert.AreEqual(1, deck.Hands.Count); Assert.AreEqual(2, hand.Count); }
public void RemoveCardNotExistTest() { int count = 0; Deck <Card> DeckOfCards = new Deck <Card>(); Card KingClubs = new Card(Suit.Clubs, Face.King); DeckOfCards.Add(KingClubs); DeckOfCards.Remove(new Card(Suit.Diamonds, Face.Queen)); foreach (Card item in DeckOfCards) { count++; } Assert.Equal(1, count); }
public void CanRemoveCardThatExistsFromDeck() { //Arrange Deck <Cards> deck = new Deck <Cards>(); Cards myCard = new Cards(1, 1); deck.Add(myCard); //Act deck.Remove(); //Assert Assert.Empty(deck); }
public void CanRemoveCardFromDeck() { //Arrange Card card1 = new Card() { Suit = Suit.Clubs, Value = Value.Ace }; Card card2 = new Card() { Suit = Suit.Hearts, Value = Value.King }; Card card3 = new Card() { Suit = Suit.Spades, Value = Value.Five }; Card card4 = new Card() { Suit = Suit.Diamonds, Value = Value.Seven }; Card card5 = new Card() { Suit = Suit.Diamonds, Value = Value.Queen }; Deck <Card> deck = new Deck <Card>(); deck.Add(card1); deck.Add(card2); deck.Add(card3); deck.Add(card4); deck.Add(card5); deck.Remove(card1); //Assert Assert.Equal(card2, deck.cards[0]); }
Deck <SpotData> GenerateSpots() { // deck of spots Deck <SpotData> spots = new Deck <SpotData>(); // start at corner float x = transform.position.x - width / 2f; float z = transform.position.z - length / 2f; // start with a half-step offset to center coordinates float dx = width / 6f; float dz = length / 6f; SpotData curData = new SpotData(); Vector3 curVec = Vector3.zero; Quaternion curRot = Quaternion.identity; // iterate through a grid for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { // current spot is corner + offsets curVec.x = x + dx; curVec.z = z + dz; curVec.y = 0f; // skip the center if (!(i == 1 && j == 1)) { curData.pos = curVec; SpotRotations(ref curData, i, j); spots.Add(curData); } // increase x offset dx += width / 3f; } // reset x offset, increase z offset dx = width / 6f; dz += length / 3f; } // shuffle spots.Shuffle(); // yay return(spots); }
public void TestAddToDeck() { Cards card1 = new Cards { Value = (Value)1, Suites = (Suites)100 }; Cards card2 = new Cards { Value = (Value)3, Suites = (Suites)100 }; Cards card3 = new Cards { Value = (Value)10, Suites = (Suites)100 }; Cards card4 = new Cards { Value = (Value)1, Suites = (Suites)101 }; Cards card5 = new Cards { Value = (Value)3, Suites = (Suites)101 }; Cards card6 = new Cards { Value = (Value)10, Suites = (Suites)101 }; Deck <Cards> TestDeck = new Deck <Cards>(); TestDeck.Add(card1); string testString = ""; foreach (var item in TestDeck) { testString = $"{item.Suites} : {item.Value}"; } Assert.Equal("Hearts : One", testString); }
public void RemoveRemovesACard() { //Arrange Deck <Card> myDeck = new Deck <Card>(); Card myCard = new Card { Suit = Suit.Spades, Value = Value.Ace }; myDeck.Add(myCard); myDeck.Remove(0); //Assert Assert.Equal(0, myDeck.count); }
public void AddCardsToDeck(IEnumerable <Character> characters) { if (Deck.Count == 8) { return; } foreach (var @char in characters) { if (!Deck.ContainsKey(@char.LogicGameObjectData.Name.Value)) { Deck.Add(@char.LogicGameObjectData.Name.Value, @char); } } }
public static Deck CreateDeck() { Deck newDeck = new Deck(); for (int s = 0; s < 4; s++) { for (int i = 0; i < 13; i++) { newDeck.Add(new Card { Value = i, Suit = (Suit)s }); } } return(newDeck); }
public Deck GetSelectedCards() { Deck deck = new Deck(); foreach (CardLabel cardLabel in this.Controls) { if (!cardLabel.Selected) { continue; } deck.Add(cardLabel.Card); } return(deck); }
public void ShuffleFailsWithoutOnceAllowed() { // Arrange var options = new DeckOptions() { DrawPile = new DrawPileOptions { MaximumShuffleCount = 0 } }; var deck = new Deck <string>(options); // Act deck.Add("This"); deck.DrawPile.Shuffle(); }
public void ShuffleWithRetreival() { // Arrange var options = new DeckOptions() { Table = new TableOptions { Enabled = true } }; var deck = new Deck <string>(options); // Act deck.Add("This"); deck.Add("is", Location.DiscardPile); deck.Add("a", Location.Table); deck.Add("sample"); deck.Add("deck.", Location.DiscardPile); deck.DrawPile.Shuffle(); // Assert Assert.AreEqual(4, deck.DrawPile.Count); Assert.AreEqual(1, deck.Table.Count); Assert.AreEqual(0, deck.DiscardPile.Count); Assert.AreEqual(5, deck.Count); }
private void buttonAddToDeck_Click(object sender, EventArgs e) { if (listBoxCollection.SelectedItems.Count > 0) { listBoxDeck.Items.Add((string)listBoxCollection.SelectedItem); ICard selectedCard = CardCollection .Where(card => card.Name == (string)listBoxCollection.SelectedItem) .FirstOrDefault(); Deck.Add(selectedCard); } else { MessageBox.Show("Please select a card to add to your deck.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void InitiateDeck() { // Add all class derived from the abstract class Card to the Deck. foreach (Type type in AppDomain.CurrentDomain.GetAssemblies() .SelectMany(assembly => assembly.GetTypes()) .Where(type => type.IsSubclassOf(typeof(Card)))) { var card = (Card)Activator.CreateInstance(type); if (card.Year == 1) { Deck.Add(card); } } }
private void MoveCard(int pos, Deck deck1, Deck deck2) { Card cardToMove = deck1[pos]; deck1.RemoveAt(pos); deck2.Add(cardToMove); }
/// <summary> /// Discards a number of cards and picks up a new ones /// </summary> /// <param name="cardsToPickup">The number of cards to swap</param> /// <param name="deck">The deck to pick a card up from</param> /// <param name="discardPile">The deck to discard a card to</param> public void PickupCard(int cardsToPickup, ref Deck deck, ref Deck discardPile) { for (int i = 0; i < cardsToPickup; i++) { Console.WriteLine(Name + " is swapping out a card"); Console.WriteLine("Hand started out as:"); Console.WriteLine(Hand); Card cardToDiscard = Hand.Cards[Hand.Cards.Count - (i + 1)]; Hand.Cards.Remove(cardToDiscard); discardPile.Add(cardToDiscard); DealHand(ref deck, ref discardPile); Console.WriteLine("Hand finished as:"); Console.WriteLine(Hand); } }
private void PrepareGameStartupParam() { var cardDb = GameApp.Service<CardDatabase>(); Deck deck1 = new Deck(); deck1.Add(cardDb.GetModel("hatate")); deck1.Add(cardDb.GetModel("hatate")); deck1.Add(cardDb.GetModel("hatate")); deck1.Add(cardDb.GetModel("koakuma")); deck1.Add(cardDb.GetModel("koakuma")); deck1.Add(cardDb.GetModel("koakuma")); deck1.Add(cardDb.GetModel("mokou")); deck1.Add(cardDb.GetModel("mokou")); deck1.Add(cardDb.GetModel("mokou")); deck1.Add(cardDb.GetModel("remilia")); deck1.Add(cardDb.GetModel("remilia")); deck1.Add(cardDb.GetModel("remilia")); deck1.Add(cardDb.GetModel("yuyuko")); deck1.Add(cardDb.GetModel("yuyuko")); deck1.Add(cardDb.GetModel("yuyuko")); deck1.Add(cardDb.GetModel("reimu")); deck1.Add(cardDb.GetModel("reimu")); deck1.Add(cardDb.GetModel("reimu")); deck1.Add(cardDb.GetModel("suika")); deck1.Add(cardDb.GetModel("suika")); deck1.Add(cardDb.GetModel("suika")); deck1.Add(cardDb.GetModel("youmu")); deck1.Add(cardDb.GetModel("youmu")); deck1.Add(cardDb.GetModel("youmu")); deck1.Add(cardDb.GetModel("kaguya")); deck1.Add(cardDb.GetModel("kaguya")); deck1.Add(cardDb.GetModel("kaguya")); deck1.Add(cardDb.GetModel("alice_2")); deck1.Add(cardDb.GetModel("alice_2")); deck1.Add(cardDb.GetModel("alice_2")); deck1.Assists.Add(cardDb.GetModel("eirin")); deck1.Assists.Add(cardDb.GetModel("patchouli")); Deck deck2 = new Deck(); deck2.Add(cardDb.GetModel("lunar")); deck2.Add(cardDb.GetModel("lunar")); deck2.Add(cardDb.GetModel("lunar")); deck2.Add(cardDb.GetModel("komachi")); deck2.Add(cardDb.GetModel("komachi")); deck2.Add(cardDb.GetModel("komachi")); deck2.Add(cardDb.GetModel("sakuya")); deck2.Add(cardDb.GetModel("sakuya")); deck2.Add(cardDb.GetModel("sakuya")); deck2.Add(cardDb.GetModel("meirin")); deck2.Add(cardDb.GetModel("meirin")); deck2.Add(cardDb.GetModel("meirin")); deck2.Add(cardDb.GetModel("sanae")); deck2.Add(cardDb.GetModel("sanae")); deck2.Add(cardDb.GetModel("sanae")); deck2.Add(cardDb.GetModel("kanako")); deck2.Add(cardDb.GetModel("kanako")); deck2.Add(cardDb.GetModel("kanako")); deck2.Add(cardDb.GetModel("cirno")); deck2.Add(cardDb.GetModel("cirno")); deck2.Add(cardDb.GetModel("cirno")); deck2.Add(cardDb.GetModel("keine")); deck2.Add(cardDb.GetModel("keine")); deck2.Add(cardDb.GetModel("keine")); deck2.Add(cardDb.GetModel("nightbug")); deck2.Add(cardDb.GetModel("nightbug")); deck2.Add(cardDb.GetModel("nightbug")); //deck2.Add(cardDb.GetModel("marisa")); //deck2.Add(cardDb.GetModel("marisa")); //deck2.Add(cardDb.GetModel("marisa")); deck2.Add(cardDb.GetModel("alice_2")); deck2.Add(cardDb.GetModel("alice_2")); deck2.Add(cardDb.GetModel("alice_2")); deck2.Assists.Add(cardDb.GetModel("yakumo")); deck2.Assists.Add(cardDb.GetModel("tenshi")); param = new GameStartupParameters(); param.PlayerDecks.Add(deck1); param.PlayerDecks.Add(deck2); param.PlayerIds.Add("真凉"); param.PlayerIds.Add("爱衣"); }