Exemple #1
0
        private async void Deal()
        {
            var deck = Cards.Shuffle(Cards.FullDeck);

            foreach (var card in deck)
            {
                PossibleDeck.Add(card); // Possible list of card
                RemainingDeck.Add(card);
                await Task.Delay(1);
            }

            for (int i = 0; i < 10; i++)
            {
                Cards.Card computerCard = DrawTopCardFromDeck();
                ComputerCards.Add(computerCard);
                // Remove the list of card on computer hand, as it is seen
                removePossibleCard(computerCard);
                await Task.Delay(30);

                HumanCards.Add(DrawTopCardFromDeck());
                await Task.Delay(30);
            }

            Discards.Add(DrawTopCardFromDeck());
            // Remove the discard from possible deck
            removePossibleCard(Discards[Discards.Count - 1]);
            ScoreToWin = "Score To Win : " + winingScore.ToString();
            scoreLabel(firstWinnerScore, secondWinnerScore);
        }
Exemple #2
0
 //Function to remove possible card after it is seen by computer
 private void removePossibleCard(Cards.Card p)
 {
     if (PossibleDeck.Contains(p))
     {
         PossibleDeck.Remove(p);
     }
 }
Exemple #3
0
        // Function to reset the game for next rounds
        // The game will continue if none of player has exceeded
        // maximum score to win
        private void resetGame()
        {
            Discards.Clear();
            HumanCards.Clear();
            ComputerCards.Clear();
            RemainingDeck.Clear();
            PossibleDeck.Clear();
            startGame    = false;
            playerTurn   = true;
            humanDraw    = false;
            humanDiscard = false;

            if (firstWinnerScore >= winingScore || secondWinnerScore >= winingScore)
            {
                scoreReset();
            }
            Deal();
        }
Exemple #4
0
 private void ComputerTakeCardFromDiscardPile()
 {
     Cards.Card topDiscard = Discards[Discards.Count - 1];
     if (humanDraw)
     {
         bool computerPickUp = ComputerPlayer.ComputerPickupDiscard(ComputerCards, topDiscard, PossibleDeck);
         if (computerPickUp)
         {
             ComputerCards.Add(topDiscard);
             Discards.Remove(topDiscard);
             humanDraw = false;
             ComputerDiscardCardFromHand();
         }
         else
         {
             var topHiddenCard = RemainingDeck[RemainingDeck.Count - 1];
             ComputerCards.Add(topHiddenCard);
             PossibleDeck.Remove(topHiddenCard);
             RemainingDeck.Remove(topHiddenCard);
             humanDraw = false;
             ComputerDiscardCardFromHand();
         }
     }
 }