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; } }
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)); } }
public void PlayerDiscardsCard(ICard card) { players[activePlayer].DiscardCard(card); discarded.AddCard(card); gv.UpdateTable(); }
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; } } }