示例#1
0
        public void GiveCard(ICard card)
        {
            switch (card.GetCardType())
            {
            case CardType.Locomotive:
                if (!wagonPile.ContainsKey(CardColor.All))
                {
                    wagonPile.Add(CardColor.All, 1);
                }
                else
                {
                    wagonPile[CardColor.All]++;
                }
                break;

            case CardType.Wagon:
                if (!wagonPile.ContainsKey(card.GetCardColor()))
                {
                    wagonPile.Add(card.GetCardColor(), 1);
                }
                else
                {
                    wagonPile[card.GetCardColor()]++;
                }
                break;

            case CardType.Task:
                tasksPile.AddCard(card);
                break;

            case CardType.MainTask:
                tasksPile.AddCard(card);
                break;

            default:
                break;
            }
        }
示例#2
0
        void AddTask(string line)
        {
            string[] lines = line.Split(' ');
            City     firstCity;
            City     secondCity;

            firstCity  = citiesNames[lines[1]];
            secondCity = citiesNames[lines[2]];
            int points;

            if (int.TryParse(lines[3], out points))
            {
                tasks.AddCard(new Task(firstCity, secondCity, points, CardType.Task));
            }
        }
示例#3
0
文件: Game.cs 项目: SafrJ/WorkSamples
 public void PlayerDiscardsCard(ICard card)
 {
     players[activePlayer].DiscardCard(card);
     discarded.AddCard(card);
     gv.UpdateTable();
 }
示例#4
0
        void AddCard(string line)
        {
            string[] lines = line.Split(' ');
            int      number;

            switch (lines[0])
            {
            case "L":
                if (int.TryParse(lines[1], out number))
                {
                    for (int i = 0; i < number; i++)
                    {
                        cards.AddCard(new Card(CardType.Locomotive, CardColor.All));
                    }
                }
                break;

            case "W":
            {
                switch (lines[1])
                {
                case "P":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Pink));
                        }
                    }
                    break;

                case "O":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Orange));
                        }
                    }
                    break;

                case "R":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Red));
                        }
                    }
                    break;

                case "K":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Black));
                        }
                    }
                    break;

                case "G":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Green));
                        }
                    }
                    break;

                case "W":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.White));
                        }
                    }
                    break;

                case "Y":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Yellow));
                        }
                    }
                    break;

                case "B":
                    if (int.TryParse(lines[2], out number))
                    {
                        for (int i = 0; i < number; i++)
                        {
                            cards.AddCard(new Card(CardType.Wagon, CardColor.Blue));
                        }
                    }
                    break;
                }
                break;
            }
            }
        }