private static void Test2()
        {
            var card  = new PlayingCard(CardValue.Ess, CardSuit.Spader);
            var card2 = new PlayingCard(CardValue.Fyra, CardSuit.Klöver);

            // PrintCard(card);

            card.PrintCard();
            card2.PrintCard();
            card.PrintCard();
        }
Exemple #2
0
        //private static List<PlayingCard> DrawCards(CardDeck currentDeck, int numberOfCards)
        //{
        //    var random = new Random();

        //    List<PlayingCard> visibleCards = new List<PlayingCard>();

        //    for (int i = 1; i <= numberOfCards; i++)
        //    {
        //        int index = random.Next(currentDeck.PlayingCards.Count);

        //        currentDeck.PlayingCards[index].IsVisible = true;
        //        visibleCards.Add(currentDeck.PlayingCards[index]);
        //        currentDeck.PlayingCards.Remove(currentDeck.PlayingCards[index]);
        //    }

        //    return visibleCards;
        //}

        private static PlayingCard DrawRandomCard(CardDeck currentDeck)
        {
            var random = new Random();

            int index = random.Next(currentDeck.PlayingCards.Count);

            currentDeck.PlayingCards[index].IsVisible = true;
            PlayingCard playingCard = currentDeck.PlayingCards[index];

            currentDeck.PlayingCards.Remove(currentDeck.PlayingCards[index]);


            return(playingCard);
        }
Exemple #3
0
        private static CardDeck CreateCardDeck()
        {
            List <PlayingCard> cardList = new List <PlayingCard>();

            for (int i = 1; i <= 13; i++)
            {
                PlayingCard playingCard1 = new PlayingCard
                {
                    Color     = CardColor.Hjärter,
                    Value     = i,
                    IsVisible = false
                };
                cardList.Add(playingCard1);

                PlayingCard playingCard2 = new PlayingCard
                {
                    Color     = CardColor.Ruter,
                    Value     = i,
                    IsVisible = false
                };
                cardList.Add(playingCard2);

                PlayingCard playingCard3 = new PlayingCard
                {
                    Color     = CardColor.Spader,
                    Value     = i,
                    IsVisible = false
                };
                cardList.Add(playingCard3);

                PlayingCard playingCard4 = new PlayingCard
                {
                    Color     = CardColor.Klöver,
                    Value     = i,
                    IsVisible = false
                };
                cardList.Add(playingCard4);
            }

            CardDeck cardDeck = new CardDeck
            {
                PlayingCards = cardList
            };

            return(cardDeck);
        }
        public void AddSomeCards()
        {
            foreach (CardSuit suit in Enum.GetValues(typeof(CardSuit)))
            {
                foreach (CardValue value in Enum.GetValues(typeof(CardValue)))
                {
                    var card = new PlayingCard(value, suit, faceDown);
                    cards.Add(card);
                }
            }
            //var card = new PlayingCard(CardValue.Kung, CardSuit.Klöver);
            //cards.Add(card);

            //var card2 = new PlayingCard(CardValue.Tio, CardSuit.Ruter);
            //cards.Add(card2);

            //var card3 = new PlayingCard(CardValue.Sju, CardSuit.Hjärter);
            //cards.Add(card3);
        }
Exemple #5
0
        public List <PlayingCard> CreateDeck()
        {
            List <PlayingCard> cards = new List <PlayingCard>();

            var suitArray   = Enum.GetValues(typeof(Suit));
            var valuesArray = Enum.GetValues(typeof(Value));

            foreach (var suit in suitArray)
            {
                foreach (var value in valuesArray)
                {
                    PlayingCard card = new PlayingCard();
                    card.Suit  = (Suit)Enum.Parse(typeof(Suit), suit.ToString());
                    card.Value = (Value)Enum.Parse(typeof(Value), value.ToString());
                    cards.Add(card);
                }
            }

            return(cards);
        }
        private bool CompareCards(PlayingCard playerCard, PlayingCard computerCard, string guess)
        {
            bool win = false;

            if (playerCard.Face > computerCard.Face || (playerCard.Face == computerCard.Face && playerCard.Suit < computerCard.Suit))
            {
                if (guess == "h")
                {
                    win = true;
                }
            }
            else
            {
                if (guess == "l")
                {
                    win = true;
                }
            }
            return(win);
        }
Exemple #7
0
        private void CurrentTrickPlay(Player currentPlayer, Trick trick)
        {
            var playerIndex = game.Players.IndexOf(currentPlayer);

            var playedCardCounter = 0;

            while (playedCardCounter < game.Players.Count)
            {
                if (IsPlayerHuman(playerIndex))
                {
                    PlayingCard.ForHuman(trick, game.Players[playerIndex], currentPlayer);
                }
                else
                {
                    PlayingCard.ForComputer(trick, game.Players[playerIndex], currentPlayer);
                }
                if (playerIndex == game.Players.Count - 1)
                {
                    playerIndex = -1;
                }
                playerIndex++;
                playedCardCounter++;
            }
        }
Exemple #8
0
 internal static void PutCardLast(List <PlayingCard> deck, PlayingCard x)
 {
     deck.Add(x);
 }
 public void PlaceCardAtBottom(PlayingCard card)
 {
     Deck.Enqueue(card);
 }
Exemple #10
0
        public void PlayGame()
        {
            Console.Clear();

            string userName = AskUserForName();

            WelcomeUser(userName);
            int score        = 0;
            int roundCounter = 0;


            //Skapar en ny kortlek
            PlayingCardDeck    playingCardDeck = new PlayingCardDeck();
            List <PlayingCard> cards           = playingCardDeck.CreateDeck();

            playingCardDeck.Shuffle(cards); //Har nu skapat en kortlek med randomiserad ordning i

            Console.Clear();
            while (cards.Count >= 2)
            {
                PrintInstructions("\nWrite 'h' for higher and 'l' for lower. Write 'exit' to go back to main menu ");

                PlayingCard firstCard = playingCardDeck.PickFirstCardFromDeck(cards);

                Console.WriteLine($"\nThe card is {firstCard.Suit} {firstCard.Value}");
                cards.Remove(firstCard);

                string input = "";

                Console.Write("Do you think the next card will be higher or lower? ");

                while (true)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    input = Console.ReadLine();
                    Console.ResetColor();

                    if (input.ToLower() == "l" || input.ToLower() == "h")
                    {
                        score = CompareCards(playingCardDeck, cards, firstCard, input, score);
                        roundCounter++;
                        break;
                    }
                    else if (input.ToLower() == "exit")
                    {
                        break;
                    }
                    else
                    {
                        Console.Write("I didn't quite get that. Please write 'h' or 'l': ");
                        continue;
                    }
                }

                if (input.ToLower() == "exit")
                {
                    break;
                }

                if (roundCounter == 10)
                {
                    WriteGreen("\nThe round is over!\n");
                    break;
                }
            }

            double percent = CalculatePercent(score, roundCounter);

            EndGame(userName, percent);
        }
Exemple #11
0
        private int CompareCards(PlayingCardDeck playingCardDeck, List <PlayingCard> cards, PlayingCard firstCard, string answer, int score)
        {
            PlayingCard secondCard = playingCardDeck.PickFirstCardFromDeck(cards);

            Console.Write($"The second card is {secondCard.Suit} {secondCard.Value}, ");
            cards.Remove(secondCard);

            switch (answer)
            {
            case "l":
                if (firstCard.Value > secondCard.Value)
                {
                    WriteGreen("your answer was correct!\n");
                    score++;
                    Console.ReadKey();
                    Console.Clear();
                }
                else if (firstCard.Value == secondCard.Value)
                {
                    WriteGreen("the cards have the same value!\n");
                    Console.ReadKey();
                    Console.Clear();
                }
                else
                {
                    WriteRed("your answer was wrong!\n");
                    Console.ReadKey();
                    Console.Clear();
                }
                break;

            case "h":
                if (firstCard.Value < secondCard.Value)
                {
                    WriteGreen("your answer was correct!\n");
                    score++;
                    Console.ReadKey();
                    Console.Clear();
                }
                else if (firstCard.Value == secondCard.Value)
                {
                    WriteGreen("the cards have the same value!\n");
                    Console.ReadKey();
                    Console.Clear();
                }
                else
                {
                    WriteRed("your answer was wrong!\n");
                    Console.ReadKey();
                    Console.Clear();
                }
                break;

            default:
                break;
            }

            return(score);
        }
Exemple #12
0
 public PlayingCard GetFirstCard(PlayingCard playingCardDeck)
 {
     return(null);
 }
 private void DisplayCard(PlayingCard card)
 {
     Console.WriteLine(card.Face.ToString() + " of " + card.Suit.ToString() + "\n");
 }
 public void PutCardLast(List <PlayingCard> playingCards, PlayingCard card) => playingCards.Add(card);
 private static void PrintCard(PlayingCard card)
 {
     Console.WriteLine($"Ditt kort är: {card.Suit} {card.Value}");
 }