Пример #1
0
 public Player(string name, DiscardDeck discardDeck)
 {
     this.name        = Function.titleCase(name);
     this.hand        = new PlayerHand();
     this.discardDeck = discardDeck;
     this.saidUno     = false;
 }
Пример #2
0
        public void DiscardDeckIsEmptied_ReturnsListOfCards()
        {
            // Arrange
            const int NumberOfCards = 5;
            Card      card          = new Card(
                new Hashtable()
            {
                { "display", "A" },
                { "value", 11 },
                { "alternativeValue", 1 },
            },
                new Hashtable()
            {
                { "suit", "Hearts" },
                { "color", "Red" },
            }
                );
            DiscardDeck discardDeck = new DiscardDeck();
            List <Card> emptiedCards;

            // Act
            for (int i = 0; i < NumberOfCards; i++)
            {
                discardDeck.addCard(card);
            }
            emptiedCards = discardDeck.clearDiscardPile();

            // Assert
            Assert.AreEqual(0, discardDeck.getCount());
            Assert.AreEqual(NumberOfCards, emptiedCards.Count);
        }
Пример #3
0
        public static void startNextGame()
        {
            // take cards from dealer and players and add to discard pile
            TableDealer.reset();
            Players.ForEach(player => player.reset());

            // if active deck has less than shuttle trigger value,
            // reset discard deck and active deck
            if (ActiveDeck.getCount() < Settings.ActiveDeckReshuffleTarget)
            {
                ActiveDeck = new ActiveDeck();
                ActiveDeck.createDeck();
                updateActiveDeckCount();

                DiscardDeck = new DiscardDeck();
                updateDiscardDeckCount();
            }

            // reset game status
            GameStatus      = GameStatusEnum.InProgress;
            PlayerTurnIndex = 0;

            // retoggle visibility handlers
            DealerHandVisibility = Visibility.Hidden;

            NextGameControlsVisibility   = Visibility.Hidden;
            ActiveGameControlsVisibility = Visibility.Visible;

            // deal initial hand
            dealInititalHand();
        }
Пример #4
0
        public void determinePlayers(DiscardDeck discardDeck)
        {
            string playerName;
            string addAnotherPlayer = "y";
            int    count            = 1;

            while (addAnotherPlayer[0] == 'y')
            {
                Console.WriteLine("Please enter a name for the player:");
                playerName = Console.ReadLine();
                addPlayer(playerName, discardDeck);

                if (count > 1)
                {
                    Console.WriteLine("Would you like to add another player? Enter y for yes another character for no.");
                    addAnotherPlayer = Console.ReadLine().Trim().ToLower();
                    if (addAnotherPlayer.Length == 0)
                    {
                        addAnotherPlayer = "n";
                    }
                }

                count++;
            }
        }
Пример #5
0
        // methods
        // ----------
        // create initial game state
        // ----------
        public static void createGameState(GameTypeEnum gameType)
        {
            GameType   = gameType;
            GameStatus = GameStatusEnum.InProgress;

            // initialize decks
            ActiveDeck       = new ActiveDeck();
            ActiveDeckCount  = "0";
            DiscardDeck      = new DiscardDeck();
            DiscardDeckCount = "0";

            // initialise actors
            TableDealer          = createDealer();
            DealerHandVisibility = Visibility.Hidden;

            NextGameControlsVisibility   = Visibility.Hidden;
            ActiveGameControlsVisibility = Visibility.Visible;

            // initialise players list
            Players         = new List <Player>();
            PlayerTurnIndex = 0;

            // clear all event delegates
            clearEventDelegates();
        }
Пример #6
0
 public void PopulatePlayerhand()
 {
     if (playerHand.Count == 0)
     {
         playerHand = playerHand.Concat(DiscardDeck).ToList();
         DiscardDeck.Clear();
     }
 }
Пример #7
0
        public void addPlayer(string name, DiscardDeck discardDeck)
        {
            name = Function.titleCase(name);

            Player player = new Player(name, discardDeck);

            players.Add(player);
        }
 public virtual void DiscardAll(DiscardDeck ddeck) // 이동 끝
 {
     for (int i = 0; i < this.cards.Count; ++i)
     {
         ddeck.Discard(this.cards[i]);
     }
     this.cards.Clear();
 }
Пример #9
0
 public Mediator()
 {
     turn              = new Turn();
     drawDeck          = new DrawDeck();
     discardDeck       = new DiscardDeck();
     performCardAction = new PerformCardAction(drawDeck, discardDeck, turn);
     cardFactory       = new CardFactory(performCardAction);
 }
Пример #10
0
        public void InitializesDiscardDeck_ReturnsVoid()
        {
            // Arrange
            DiscardDeck discardDeck = new DiscardDeck();

            // Act

            // Assert
            Assert.AreEqual(0, discardDeck.getCount());
        }
    public override void DiscardAll(DiscardDeck ddeck) // 디스카드덱이 도착하면 호출
    {
        base.DiscardAll(ddeck);

        isSurrender = false;
        isDouble    = false;
        isSplitAce  = false;
        isInsurance = false;

        DestroyStateUI();
    }
Пример #12
0
    public void DiscardAll(DiscardDeck dDeck)// 카드 전달, 핸드 초기화(size 1)
    {
        currentHandIndex = 0;

        // 카드 회수
        for (int i = 0; i < hands.Count; ++i)
        {
            hands[i].DiscardAll(dDeck);
        }

        hands[0].transform.position = this.transform.position;

        // 추가된 핸드 삭제
        if (hands.Count > 1)
        {
            for (int i = 1; i < hands.Count; ++i)
            {
                Destroy(hands[i].gameObject);
            }

            hands.RemoveRange(1, hands.Count - 1);
        }
    }
Пример #13
0
        public void AddsToDiscardDeck_ReturnsVoid()
        {
            // Arrange
            Card card = new Card(
                new Hashtable()
            {
                { "display", "A" },
                { "value", 11 },
                { "alternativeValue", 1 },
            },
                new Hashtable()
            {
                { "suit", "Hearts" },
                { "color", "Red" },
            }
                );
            DiscardDeck discardDeck = new DiscardDeck();

            // Act
            discardDeck.addCard(card);

            // Assert
            Assert.AreEqual(1, discardDeck.getCount());
        }
Пример #14
0
 private static void onPlayerDiscardHandHandler(PlayerEventArgs e)
 {
     // place discarded cards in discard pile
     DiscardDeck.discardMultipleCards(e.Cards);
     updateDiscardDeckCount();
 }
Пример #15
0
 private static void updateDiscardDeckCount()
 {
     DiscardDeckCount = DiscardDeck.getCount().ToString();
 }
    public void Shuffle(DiscardDeck dDeck, float time)
    {
        dDeck.ReturnAll(this);

        dDeck.EmptyStackSmooth(time);
    }
    public override void DiscardAll(DiscardDeck ddeck) // 이동 끝
    {
        base.DiscardAll(ddeck);

        stateUI.gameObject.SetActive(false);
    }
Пример #18
0
 public PerformCardAction(DrawDeck drawDeck, DiscardDeck discardDeck, Turn turn)
 {
     this.drawDeck    = drawDeck;
     this.discardDeck = discardDeck;
     this.turn        = turn;
 }
Пример #19
0
        public void TakeWinCards(List <Card> player1DealtCards, List <Card> player2DealtCards)
        {
            List <Card> holder = player1DealtCards.Concat(player2DealtCards).ToList();

            DiscardDeck = DiscardDeck.Concat(holder).ToList();
        }