public override void UndoPlayerMove(Card oldCardUp, Card cardDown, bool flipCardDown) { if (oldCardUp == null) { if (cards.Count == 0) { Card card = deck.GetCard(); while (card != null) { card.GetComponent <Animator>().Play("BackToFront"); card.SetDragDrop(true); AddCard(card); card = deck.GetCard(); } } else { deck.AddCard(cards[cards.Count - 1].GetComponent <Card>()); } } else { if (oldCardUp.cardDown != null) { oldCardUp.cardDown.cardUp = null; } oldCardUp.cardUp = null; oldCardUp.cardDown = null; oldCardUp.stack.RemoveCard(oldCardUp); AddCard(oldCardUp); } }
public void ClickOnCard(Card card) { if (card.state == CardState.InCollection) { if (Deck.Cards.Count < Deck.DeckSize) { if (AudioManager.instance != null) { AudioManager.instance.CardClickPlay(); } Deck.AddCard(card); GameObject temp = NGUITools.AddChild(UIDeck.gameObject, card.gameObject); temp.GetComponent <Card>().PutInDeck(); temp.GetComponent <UIDragScrollView>().scrollView = DeckScrollView; UIDeck.Reposition(); RemoveCardFromCollection(card); } } else { if (AudioManager.instance != null) { AudioManager.instance.CardClickPlay(); } Deck.RemoveCard(card); AddCardCollection(card); Destroy(card.gameObject); UIDeck.Reposition(); } }
public void StartGameBehavior() { var deck1 = new Deck(); deck1.AddCard(TestCards.SleepyPanda, count: 10); deck1.AddCard(TestCards.BigDragon, count: 2); var deck2 = new Deck(); deck2.AddCard(TestCards.RabidDog, count: 10); deck2.AddCard(TestCards.BigDragon, count: 2); var eventQueue = new List <AEvent> { new PlayerActionPlayCardEvent(Player.Player1, deck1.Cards.First(), new Id <CardMount>(new CardMount(1))), new PlayerActionEndTurnEvent(), new PlayerDrawCardEvent(Player.Player2), new PlayerActionPlayCardEvent(Player.Player2, deck1.Cards.First(), new Id <CardMount>(new CardMount(1))), new PlayerActionEndTurnEvent(), new PlayerActionForfeitGame(Player.Player1), }; var eventProvider = new TestEventProvider(eventQueue); var gameLoop = new GameLoop(eventProvider, deck1, deck2); // PlayGame() will trigger the beginning of game card draw events gameLoop.PlayGame(); }
public void AddCardTestMethod2() { var card = new TestCard(0, 0, "Test", new List <Effect>(), Protocol.RarityCode.Free); Deck deck = new Deck(1, "Test", 30, new List <Card>()); int eventCallCounter = 0; deck.OnCardChanged += (eventDeck, targetCard, code) => { Assert.AreEqual(code, Protocol.DataChangeCode.Add); eventCallCounter++; }; Assert.AreEqual(deck.TotalCardCount, 0); Assert.IsTrue(deck.AddCard(card)); Assert.AreEqual(eventCallCounter, 1); Assert.AreEqual(deck.TotalCardCount, 1); Assert.IsFalse(deck.AddCard(null)); Assert.AreEqual(deck.TotalCardCount, 1); Assert.AreEqual(eventCallCounter, 1); Assert.IsTrue(deck.AddCard(card)); Assert.AreEqual(deck.TotalCardCount, 2); Assert.AreEqual(eventCallCounter, 2); Assert.IsFalse(deck.AddCard(card)); Assert.AreEqual(deck.TotalCardCount, 2); Assert.AreEqual(eventCallCounter, 2); }
public void AddCard_CardCountIncreasesWhenSameCardIsAdded_Int() { Deck deck = new Deck("test deck"); deck.Save(); Card card = new Card("name", "1B", "black", "creature", "description", "test set", 1, 1, "picture.com", 1); card.Save(); deck.AddCard(card); deck.AddCard(card); MySqlConnection conn = DB.Connection(); conn.Open(); MySqlCommand cmd = conn.CreateCommand() as MySqlCommand; cmd.CommandText = @"SELECT count FROM cards_in_deck WHERE deckId = @DeckId AND cardId = @CardId;"; MySqlParameter deckId = new MySqlParameter("@DeckId", deck.Id); MySqlParameter cardId = new MySqlParameter("@CardId", card.Id); cmd.Parameters.Add(deckId); cmd.Parameters.Add(cardId); MySqlDataReader rdr = cmd.ExecuteReader() as MySqlDataReader; int result = 0; while (rdr.Read()) { result = rdr.GetInt32(0); } Assert.AreEqual(2, result); }
public void Draw(int numOfCards) { int i = numOfCards; while (i > 0) { if (drawPile.IsEmpty()) { // Special case where the draw pile and discard pile are both empty and therefore remaining draws cannot occur. if (discardPile.IsEmpty()) { return; } // Draw pile is empty; copy all card references from discard pile to draw pile and shuffle the draw pile, then clear out the discard pile. drawPile.deck.AddRange(discardPile.deck); drawPile.Shuffle(); discardPile.deck.Clear(); } // Actually add the card from the draw pile to your hand if it's not at max size, else it goes straight to discard. AbstractCard drawnCard = drawPile.PopTopCard(); drawnCard.OnDraw(this); // Trigger on-draw modifier for the card, supplying the current character. if (hand.Count < 10) { hand.Add(drawnCard); } else { discardPile.AddCard(drawnCard); } i--; // Repeat process <numOfCards> times. } return; }
public void TestAddCards() { var deck = new Deck(2); Assert.Equal(true, deck.AddCard(new Card("7", Suit.DIAMONDS, 0, 0))); Assert.Equal(true, deck.AddCard(new Card("8", Suit.DIAMONDS, 0, 1))); Assert.Equal(false, deck.AddCard(new Card("9", Suit.DIAMONDS, 0, 1))); }
public void AddCardToDeckTest(Mock <IRandomNumberGenerator> mockRandomNumberGenerator) { var deck = new Deck(mockRandomNumberGenerator.Object); deck.AddCard(Mock.Of <ICard>()); deck.AddCard(Mock.Of <ICard>()); deck.AddCard(Mock.Of <ICard>()); Assert.True(deck.CardsRemaining == 3); }
//Test Desk, Card public void TestMethod1() { Deck desk = new Deck(); Card card1 = new Card() { Word = "word1", FirstMeaning = "Meaning1" }; Thread.Sleep(500); Card card2 = new Card() { Word = "word2", FirstMeaning = "Meaning2" }; Thread.Sleep(500); Card card3 = new Card() { Word = "word3", FirstMeaning = "Meaning3" }; Thread.Sleep(500); Card card4 = new Card() { Word = "word4", FirstMeaning = "Meaning4" }; Thread.Sleep(500); Card card5 = new Card() { Word = "word5", FirstMeaning = "Meaning5" }; desk.AddCard(card1); desk.AddCard(card2); desk.AddCard(card3); desk.AddCard(card4); desk.AddCard(card5); Card tempCard; tempCard = desk.GetNextReviewCard(); Feedback feedback = new Feedback(4); desk.UpdateReviewDate(tempCard, feedback); for (int i = 0; i < 3; i++) { tempCard = desk.GetNextReviewCard(); feedback = new Feedback(5); desk.UpdateReviewDate(tempCard, feedback); } feedback = new Feedback(3); desk.UpdateReviewDate(tempCard, feedback); desk.SaveDataToXMLFile("Store.xml"); desk.LoadDataFromXMLFile("Store.xml"); Assert.AreEqual(desk.GetNextReviewCard().Word, "word5"); }
public void ShuffleDeckTest(Mock <IRandomNumberGenerator> mockRandomNumberGenerator) { mockRandomNumberGenerator.Setup(x => x.Generate(1)); var deck = new Deck(mockRandomNumberGenerator.Object); deck.AddCard(Mock.Of <ICard>()); deck.AddCard(Mock.Of <ICard>()); deck.Shuffle(); mockRandomNumberGenerator.Verify(x => x.Generate(2), Times.Exactly(2)); }
public void TestRemoveCard() { var deck = new Deck(2); Assert.Equal(true, deck.AddCard(new Card("7", Suit.DIAMONDS, 0, 0))); Assert.Equal(true, deck.AddCard(new Card("8", Suit.DIAMONDS, 0, 1))); Assert.Equal(true, deck.RemoveCard(deck.GetCardById(0))); Assert.Equal(null, deck.GetCardById(0)); Assert.NotEqual(null, deck.GetCardById(1)); }
public void GameStart() { List <AbilityConnection> abilities = new List <AbilityConnection>(); playerDeck.AddCard(CardFactory.CreateMinion("Alohai", "Some badass", 4, abilities, Enums.Rarity.COMMON, 400, 600)); playerDeck.AddCard(CardFactory.CreateMinion("Dimerant", "Another Badass", 7, abilities, Enums.Rarity.UNCOMMON, 300, 500)); playerDeck.AddCard(CardFactory.CreateMinion("Quinteef the Stricken", "Waow", 3, abilities, Enums.Rarity.COMMON, 100, 50)); playerDeck.AddCard(CardFactory.CreateMinion("Klunikan", "Who r u", 4, abilities, Enums.Rarity.EPIC, 400, 1000)); playerDeck.AddCard(CardFactory.CreateMinion("Duniken", "yeet", 1, abilities, Enums.Rarity.COMMON, 10, 20)); playerDeck.AddCard(CardFactory.CreateMinion("Joey", "Some ordinary dude", 8, abilities, Enums.Rarity.LEGENDARY, 1000, 1000)); playerDeck.AddCard(CardFactory.CreateMinion("Kuisee", "Hi", 4, abilities, Enums.Rarity.RARE, 400, 600)); playerDeck.AddCard(CardFactory.CreateMinion("Yesss", "Snek", 5, abilities, Enums.Rarity.COMMON, 400, 600)); playerDeck.AddCard(CardFactory.CreateMinion("Alohai2", "Some badass2", 6, abilities, Enums.Rarity.RARE, 300, 700)); enemyDeck.AddCard(CardFactory.CreateMinion("Alohai", "Some badass", 4, abilities, Enums.Rarity.COMMON, 400, 600)); enemyDeck.AddCard(CardFactory.CreateMinion("Dimerant", "Another Badass", 7, abilities, Enums.Rarity.UNCOMMON, 300, 500)); enemyDeck.AddCard(CardFactory.CreateMinion("Quinteef the Stricken", "Waow", 3, abilities, Enums.Rarity.COMMON, 100, 50)); enemyDeck.AddCard(CardFactory.CreateMinion("Klunikan", "Who r u", 4, abilities, Enums.Rarity.EPIC, 400, 1000)); enemyDeck.AddCard(CardFactory.CreateMinion("Duniken", "yeet", 1, abilities, Enums.Rarity.COMMON, 10, 20)); enemyDeck.AddCard(CardFactory.CreateMinion("Joey", "Some ordinary dude", 8, abilities, Enums.Rarity.LEGENDARY, 1000, 1000)); enemyDeck.AddCard(CardFactory.CreateMinion("Kuisee", "Hi", 4, abilities, Enums.Rarity.RARE, 400, 600)); enemyDeck.AddCard(CardFactory.CreateMinion("Yesss", "Snek", 5, abilities, Enums.Rarity.COMMON, 400, 600)); enemyDeck.AddCard(CardFactory.CreateMinion("Alohai2", "Some badass2", 6, abilities, Enums.Rarity.RARE, 300, 700)); playerDeck.Shuffle(); enemyDeck.Shuffle(); DealCards(5); }
private void AddCardsFromTalonToDeck() { for (int i = 0; i < TalonPile.Count; i++) { deck.AddCard(TalonPile[i]); } TalonPile = new Pile(); TalonBox.Image = imageList2.Images[empCard]; TalonClickQuantity--; DeckClickLabel.Text = deck.Count.ToString(); }
public void AddCardTestMethod4() { var card = new TestCard(0, 0, "Test", new List <Effect>(), Protocol.RarityCode.Legendary); Deck deck = new Deck(1, "Test", 30, new List <Card>()); Assert.AreEqual(deck.TotalCardCount, 0); Assert.IsTrue(deck.AddCard(card)); Assert.AreEqual(deck.TotalCardCount, 1); Assert.IsFalse(deck.AddCard(card)); Assert.AreEqual(deck.TotalCardCount, 1); }
public void IsCompletedTestMethod1() { var card = new TestCard(0, 0, "Test", new List <Effect>(), Protocol.RarityCode.Free); Deck deck = new Deck(1, "Test", 1, new List <Card>()); Assert.AreEqual(false, deck.IsCompleted); Assert.IsTrue(deck.AddCard(card)); Assert.AreEqual(true, deck.IsCompleted); Assert.IsFalse(deck.AddCard(card)); Assert.AreEqual(true, deck.IsCompleted); }
public void AddCardTestMethod3() { var card = new TestCard(0, 0, "Test", new List <Effect>(), Protocol.RarityCode.Free); Deck deck = new Deck(1, "Test", 30, new List <Card>()); for (int i = 0; i < 30; i++) { Assert.AreEqual(deck.TotalCardCount, i); Assert.IsTrue(deck.AddCard(new TestCard(i, 0, "Test", new List <Effect>(), Protocol.RarityCode.Free))); } Assert.IsFalse(deck.AddCard(new TestCard(30, 0, "Test", new List <Effect>(), Protocol.RarityCode.Free))); Assert.AreEqual(deck.TotalCardCount, 30); }
public void CardCountTestMethod1() { var card = new TestCard(0, 0, "Test", new List <Effect>(), Protocol.RarityCode.Free); Deck deck = new Deck(1, "Test", 30, new List <Card>()); Assert.AreEqual(deck.CardCount(0), 0); Assert.IsTrue(deck.AddCard(card)); Assert.AreEqual(deck.CardCount(0), 1); Assert.IsTrue(deck.AddCard(card)); Assert.AreEqual(deck.CardCount(0), 2); Assert.IsFalse(deck.AddCard(card)); Assert.AreEqual(deck.CardCount(0), 2); }
/// Called at end of game. Shuffle's players cards into deck from BOARD, hand, and destroyed cards. public void ShuffleBackDeck(List <Card> destoyedCards) { for (int i = destoyedCards.Count - 1; i >= 0; i--) { deck.AddCard(destoyedCards[i]); destoyedCards.RemoveAt(i); } for (int i = hand.Count - 1; i >= 0; i--) { deck.AddCard(hand[i]); hand.RemoveAt(i); } //TODO shuffle cards on board back into player's deck! Forogot to do this during game jam, thats why you lose your slashes when you kill an enemy. }
private void InitializeHardCodedLibrary() { Debug.Log("Initializing hard coded library."); Deck hardcodedDeck = new Deck(30, 60); hardcodedDeck.AddCard(0, 8); hardcodedDeck.AddCard(1, 8); hardcodedDeck.AddCard(2, 4); hardcodedDeck.AddCard(3, 4); hardcodedDeck.AddCard(4, 4); hardcodedDeck.AddCard(5, 4); hardcodedDeck.AddCard(6, 4); hardcodedDeck.AddCard(7, 4); int[] cardList; if (!hardcodedDeck.ExportDeckToArray(out cardList)) { Debug.LogError("Can't export hardcoded deck."); Application.Quit(); return; } hardCodedLibrary = new Library(cardList); }
public void RemoveCardInDeck() { Deck <Card> testDeck = new Deck <Card>(); Card cardOne = new Card(Suit.Hearts, Value.Nine); Card cardTwo = new Card(Suit.Spades, Value.Ace); testDeck.AddCard(cardOne); testDeck.AddCard(cardTwo); testDeck.RemoveCard(testDeck.cards[0]); Assert.Equal(Suit.Spades, testDeck.cards[0].Suit); Assert.Equal(Value.Ace, testDeck.cards[0].Value); }
public void AfterCardPlay(CardData card, CardData cardToOblivion = null) { if (card == null) // From SelectCardToOblivionEffect { card = lastCardPlayed; } waitForCardEffect = false; switch (card.CardPlayedOrigin) { case CardPlayedOrigin.HAND: hand.DiscardCard(card); if (card.DestroyAfterPlay || card == cardToOblivion) { library.RemoveCard(card); oblivionDeck.AddCard(card); } else { memoriesPile.AddCard(card.indexInDeck); } if (cardToOblivion != null && card != cardToOblivion) { hand.DiscardCard(cardToOblivion); library.RemoveCard(cardToOblivion); oblivionDeck.AddCard(cardToOblivion); } break; case CardPlayedOrigin.RENT: rent.RemoveCard(); break; case CardPlayedOrigin.EVENTS: currentEventPile.CardPlayed(); break; } card.ResetIndexes(); if (LoseConditionsMet()) { GameOverLose(); } else if (WinConditionsMet()) { GameOverWin(); } }
//Runs main Game Logic private void pictureBox4_Click(object sender, EventArgs e) { if (mDeck.GetNrOfCards() > 0 && mPcDeck.GetNrOfCards() > 0) { //draw a card from each deck Card mCard = mDeck.DrawTopCard(); Card mPcCard = mPcDeck.DrawTopCard(); //Display the cards displayCard(mCard); displayPcCard(mPcCard); //if player has highest card then add the cards to players deck if (mCard.mValue > mPcCard.mValue) { mDeck.AddCard(mCard); mDeck.AddCard(mPcCard); mDeck.Shuffle(new Random(new Random().Next())); NrCardsYou.Text = mDeck.GetNrOfCards().ToString(); NrCardsPC.Text = mPcDeck.GetNrOfCards().ToString(); WinnerName.Text = "Player Gets Cards"; WinnerName.Visible = true; } //if pc has highest card then add the cards to the pc deck else if (mCard.mValue < mPcCard.mValue) { mPcDeck.AddCard(mCard); mPcDeck.AddCard(mPcCard); mPcDeck.Shuffle(); NrCardsYou.Text = mDeck.GetNrOfCards().ToString(); NrCardsPC.Text = mPcDeck.GetNrOfCards().ToString(); WinnerName.Text = "PC Gets Cards"; WinnerName.Visible = true; } //draw so discard booth of the cards else { WinnerName.Text = "Draw"; WinnerName.Visible = true; NrCardsYou.Text = mDeck.GetNrOfCards().ToString(); NrCardsPC.Text = mPcDeck.GetNrOfCards().ToString(); } } else { //we have a winner so show the winner DisplayWinnerScreen(); } }
public void Test_DeckShouldNotAddCardWhenThereAreAlreadyTwoCopies() { //arrange CardStack deck = new Deck(); Card dragon = new Dragon("Great Dragon", 40, ElementType.Normal); //act bool cardAdded; deck.AddCard(dragon); deck.AddCard(dragon); cardAdded = deck.AddCard(dragon); //assert Assert.IsFalse(cardAdded); }
public void MoveCardDecktoDeck(Deck moveDeck, int startCardIdx, int cardNum, float intervalTime, float moveTime, Action complete = null) { Observable.Interval(TimeSpan.FromSeconds(intervalTime)) .Take(cardNum) .Subscribe(i => { int idx = startCardIdx; moveDeck.AddCard(DeckList[idx]); DeckList[idx].transform.DOMove(moveDeck.GetPosition(), moveTime); CardAnimationSystem.GetInstance().ReverseAnimation( DeckList[idx], moveTime); DeckList.RemoveAt(idx); }, () => { for (int i = 0; i < DeckList.Count; i++) { DeckList[i].SetSortingOrder(i); } if (complete != null) { complete(); } }); }
private Deck InitializaDeck() { Deck deck = new Deck("Test Deck"); Card card = deck.AddCard(); card.SideA = "sideA - 你好"; card.SideB = "sideB - 你好"; card.Notes = "notes - 你好"; card.Tags = "tags"; CardInstance sideAToB = card.GetInstanceSideAToB(); CardPlan sideAToBPlan = sideAToB.Plan; sideAToBPlan.LastDays = 1; CardReview sideAToBValue = sideAToB.AddReview(); sideAToBValue.DateTime = DateTimeOffset.Now; sideAToBValue.Value = ReviewValues.Values.VALUE_1; CardInstance sideBToA = card.GetInstanceSideBToA(); CardPlan sideBToAPlan = sideBToA.Plan; sideBToAPlan.LastDays = 1; CardReview sideBToAValue = sideBToA.AddReview(); sideBToAValue.DateTime = DateTimeOffset.Now; sideBToAValue.Value = ReviewValues.Values.VALUE_1; return(deck); }
public void TestRemoveCard() { Player player = new Player("Adam", 1000); Deck deck = new Deck("talia", player); Card card = new Card(3, "Kowal", 200, "To jest tekst karty"); Card card2 = new Card(32, "Kowal2", 2020, "To jest tekst karty"); deck.AddCard(card); deck.AddCard(card2); deck.RemoveCard(card2); Contains(deck.Cards, card); DoesNotContain(deck.Cards, card2); }
public void AllMoveCardDecktoDeck(Deck moveDeck, float intervalTime, float moveTime, Action complete = null) { Observable.Interval(TimeSpan.FromSeconds(intervalTime)) .Take(DeckList.Count) .Subscribe(_ => { int i = (int)_; DeckList[i].SetSortingOrder(i); DeckList[i].ObjTransform.DOMove(moveDeck.GetPosition(), moveTime); CardAnimationSystem.GetInstance().ReverseAnimation( DeckList[i], moveTime); moveDeck.AddCard(DeckList[i]); }, () => { DeckList.Clear(); if (complete != null) { complete(); } }); }
public void AddCardsToDeck(TMP_InputField amount) { for (int i = 0; i < int.Parse(amount.text); i++) { deck.AddCard(); } }
public static void Drawl() { Console.WriteLine("Lab 06: Card Game"); Deck <Card> dealer = DealDeck(15); Console.WriteLine($"The number of cards in your deck {dealer.Count()}"); Console.WriteLine("The cards in your deck are:"); Console.ReadKey(); ViewAllCards(dealer); Console.WriteLine(""); Console.WriteLine($"Removing {dealer.IndividualCard(10).Rank} of {dealer.IndividualCard(10).Suits}"); dealer.RemoveCard(10); Console.WriteLine(""); Console.WriteLine("Press enter to see cards left"); Console.ReadKey(); Console.WriteLine("cards left:"); Console.WriteLine(""); ViewAllCards(dealer); Card card = new Card(Card.Suit.Clubs, Card.CardsNomenclature.Ace); dealer.AddCard(card); Console.WriteLine(""); Console.WriteLine($"{card.Rank} of {card.Suits} was added to the deck"); Console.WriteLine(""); Console.WriteLine("List with added card"); Console.WriteLine(""); ViewAllCards(dealer); Console.WriteLine(""); Console.WriteLine("Thank you for checking out my game"); Console.WriteLine("Press enter to exit"); Console.ReadKey(); }
public void DisplayNewCard() { if (deck.DeckCount == 0) { coveredDeckImage.color = new Color(1f, 1f, 1f, 1f); ClearRevealedCardsOnDisplay(); for (int i = 0; i < discardedCards.Count; i++) { deck.AddCard(discardedCards.Pop()); } //discardedCards.Clear(); return; } if (visibleCards.Count >= 3) { ClearRevealedCardsOnDisplay(); } CardData newCardData = deck.DrawCard(); if (deck.DeckCount == 0) { coveredDeckImage.color = new Color(0f, 0f, 0f, 0f); } Card newCard = factory.SpawnCard(newCardData); newCard.transform.SetParent(transform); newCard.TurnFaceUp(); visibleCards.Add(newCard); }
public static Deck Read(string name, byte[] content) { using (var reader = new StreamReader(new MemoryStream(content))) { string line; var lineNumber = 0; var deck = new Deck(); deck.Name = name; while ((line = reader.ReadLine()) != null) { lineNumber++; line = line.Trim(); if (line.Trim().Length == 0) continue; if (line.StartsWith("#")) { var match = DescriptionRegex.Match(line); if (match.Success) { deck.Description = match.Groups[1].Value; continue; } match = RatingRegex.Match(line); int rating; if (match.Success) { int.TryParse(match.Groups[1].Value, out rating); deck.Rating = rating; continue; } match = LimitedCodeRegex.Match(line); int limitedCode; if (match.Success) { int.TryParse(match.Groups[1].Value, out limitedCode); deck.LimitedCode = limitedCode; continue; } continue; } var row = ParseRow(line, lineNumber); deck.AddCard(row.Card, row.Count); } return deck; } }
static void Main(string[] args) { /* Making objects assigning ctor's the stuff */ var myDeck = new Deck(); IGame myGame = new LowGame(myDeck); var myPlayers = new List<IPlayer>(); /* Filling deck with 1 of every card */ for (var i = 1; i < 9; i++) /* There are 8 different numbervalues */ { for (var u = 1; u < 6; u++) /* There are 5 different cardtypes */ { ICard myCard = new Card(i, u); /* Making instans of every card */ myDeck.AddCard(myCard); /* Adding card to deck */ } } /* Making players, both weak and normal */ myPlayers.Add(new WeakPlayer("Dennis")); myPlayers.Add(new WeakPlayer("Joachim")); myPlayers.Add(new Player("Bjørn")); //myPlayers.Add(new Player("Maria")); //myPlayers.Add(new Player("Tobias")); //myPlayers.Add(new WeakPlayer("Jacob")); /* Adding players to the game */ foreach (var myPlayer in myPlayers) { myGame.AddPlayer(myPlayer); } /* Making console output pretty */ System.Console.WriteLine(""); /* Giving each player some cards */ myGame.DealCards(); /* Outputting players hands to console */ foreach (var myPlayer in myPlayers) { myPlayer.ShowHand(); } /* Determining who wins and outputting result */ myGame.AnnounceWinner(); }
private static Deck CreateDeckFromCardList(List<Card> cards, IEnumerable<CardInfo> library) { var deck = new Deck(); foreach (var card in cards) { var info = library.FirstOrDefault(x => x.Name.Equals(card.Name)) ?? new CardInfo(card.Name, Rarity.C); // basic lands are not included in library deck.AddCard(info); } return deck; }