Exemplo n.º 1
0
        public override void Process(CardCollection deck, CardCollection discard, CardCollection hand, CardCollection sequence, Lock currentLock, string choice, int cardChoice)
        {
            int ChoiceAsInteger;

            if (int.TryParse(choice, out ChoiceAsInteger))
            {
                if (ChoiceAsInteger >= 1 && ChoiceAsInteger <= 5)
                {
                    if (ChoiceAsInteger >= cardChoice)
                    {
                        ChoiceAsInteger -= 1;
                    }
                    if (ChoiceAsInteger > 0)
                    {
                        ChoiceAsInteger -= 1;
                    }
                    if (hand.GetCardDescriptionAt(ChoiceAsInteger)[0] == 'K')
                    {
                        Card CardToMove = hand.RemoveCard(hand.GetCardNumberAt(ChoiceAsInteger));
                        discard.AddCard(CardToMove);
                        return;
                    }
                }
            }
            int Count = 0;

            while (Count < 5 && deck.GetNumberOfCards() > 0)
            {
                Card CardToMove = deck.RemoveCard(deck.GetCardNumberAt(0));
                discard.AddCard(CardToMove);
                Count += 1;
            }
        }
Exemplo n.º 2
0
 private void AddDifficultyCardsToDeck()
 {
     for (int Count = 1; Count <= 5; Count++)
     {
         Deck.AddCard(new DifficultyCard());
     }
 }
Exemplo n.º 3
0
        private void SetupCardCollectionFromGameFile(string lineFromFile, CardCollection cardCol)
        {
            List <string> SplitLine;
            int           CardNumber;

            if (lineFromFile.Length > 0)
            {
                SplitLine = lineFromFile.Split(',').ToList();
                foreach (var Item in SplitLine)
                {
                    if (Item.Length == 5)
                    {
                        CardNumber = Convert.ToInt32(Item[4]);
                    }
                    else
                    {
                        CardNumber = Convert.ToInt32(Item.Substring(4, 2));
                    }
                    if (Item.Substring(0, 3) == "Dif")
                    {
                        DifficultyCard CurrentCard = new DifficultyCard(CardNumber);
                        cardCol.AddCard(CurrentCard);
                    }
                    else
                    {
                        ToolCard CurrentCard = new ToolCard(Item[0].ToString(), Item[2].ToString(), CardNumber);
                        cardCol.AddCard(CurrentCard);
                    }
                }
            }
        }
Exemplo n.º 4
0
 private void GetCardFromDeck(int cardChoice)
 {
     if (Deck.GetNumberOfCards() > 0)
     {
         if (Deck.GetCardDescriptionAt(0) == "Dif")
         {
             Card CurrentCard = Deck.RemoveCard(Deck.GetCardNumberAt(0));
             Console.WriteLine();
             Console.WriteLine("Difficulty encountered!");
             Console.WriteLine(Hand.GetCardDisplay());
             Console.Write("To deal with this you need to either lose a key ");
             Console.Write("(enter 1-5 to specify position of key) or (D)iscard five cards from the deck:> ");
             string Choice = Console.ReadLine();
             Console.WriteLine();
             Discard.AddCard(CurrentCard);
             CurrentCard.Process(Deck, Discard, Hand, Sequence, CurrentLock, Choice, cardChoice);
         }
     }
     while (Hand.GetNumberOfCards() < 5 && Deck.GetNumberOfCards() > 0)
     {
         if (Deck.GetCardDescriptionAt(0) == "Dif")
         {
             MoveCard(Deck, Discard, Deck.GetCardNumberAt(0));
             Console.WriteLine("A difficulty card was discarded from the deck when refilling the hand.");
         }
         else
         {
             MoveCard(Deck, Hand, Deck.GetCardNumberAt(0));
         }
     }
     if (Deck.GetNumberOfCards() == 0 && Hand.GetNumberOfCards() < 5)
     {
         GameOver = true;
     }
 }
Exemplo n.º 5
0
        private int MoveCard(CardCollection fromCollection, CardCollection toCollection, int cardNumber)
        {
            int Score = 0;

            if (fromCollection.GetName() == "HAND" && toCollection.GetName() == "SEQUENCE")
            {
                Card CardToMove = fromCollection.RemoveCard(cardNumber);
                if (CardToMove != null)
                {
                    toCollection.AddCard(CardToMove);
                    Score = CardToMove.GetScore();
                }
            }
            else
            {
                Card CardToMove = fromCollection.RemoveCard(cardNumber);
                if (CardToMove != null)
                {
                    toCollection.AddCard(CardToMove);
                }
            }
            return(Score);
        }