コード例 #1
0
		internal void player_Action(Player player, ref CardsDiscardEventArgs e)
		{
			e.Cards.Remove(this.PhysicalCard);
			Card thisCard = null;
			if (player.InPlay.Contains(this.PhysicalCard))
				thisCard = player.RetrieveCardFrom(DeckLocation.InPlay, this.PhysicalCard);
			else
				thisCard = player.RetrieveCardFrom(DeckLocation.SetAside, this.PhysicalCard);
			player.AddCardToDeck(thisCard, DeckPosition.Top);
		}
コード例 #2
0
		internal void player_Action(Player player, ref CardsDiscardEventArgs e)
		{
			Choice choice = new Choice("Select a treasure to place on your deck", this, e.Cards.Where(c => (c.Category & Category.Treasure) == Cards.Category.Treasure), player);
			ChoiceResult result = player.MakeChoice(choice);
			if (result.Cards.Count > 0)
			{
				e.Cards.Remove(result.Cards[0]);
				if (player.InPlay.Contains(result.Cards[0]))
					player.RetrieveCardFrom(DeckLocation.InPlay, result.Cards[0]);
				else
					player.RetrieveCardFrom(DeckLocation.SetAside, result.Cards[0]);
				player.AddCardToDeck(result.Cards[0], DeckPosition.Top);
			}

			e.HandledBy.Add(this);
		}
コード例 #3
0
		public override void Play(Player player)
		{
			base.Play(player);

			Choice choice = new Choice("Choose a card to put on top of your deck", this, player.Hand, player);
			ChoiceResult result = player.MakeChoice(choice);
			if (result.Cards.Count > 0)
				player.AddCardToDeck(player.RetrieveCardFrom(DeckLocation.Hand, result.Cards[0]), DeckPosition.Top);
		}
コード例 #4
0
		internal void player_DiscardAction(Player player, ref CardsDiscardEventArgs e)
		{
			Card cardToTopDeck = e.Data as Card;
			e.Cards.Remove(cardToTopDeck);
			if (player.InPlay.Contains(cardToTopDeck))
				player.RetrieveCardFrom(DeckLocation.InPlay, cardToTopDeck);
			else
				player.RetrieveCardFrom(DeckLocation.SetAside, cardToTopDeck);
			player.AddCardToDeck(cardToTopDeck, DeckPosition.Top);

			e.HandledBy.Add(cardToTopDeck);
		}
コード例 #5
0
		public override void Play(Player player)
		{
			base.Play(player);

			if (player.CanDraw)
			{
				Card card = player.DrawFrom(DeckPosition.Bottom, 1, DeckLocation.Private)[0];

				Choice choice = Choice.CreateYesNoChoice(String.Format("Do you want to put {0} on top of your deck?", card.Name), this, card, player, null);
				ChoiceResult result = player.MakeChoice(choice);
				card = player.RetrieveCardFrom(DeckLocation.Private, card);
				if (result.Options[0] == "Yes")
					player.AddCardToDeck(card, DeckPosition.Top);
				else if (result.Options[0] == "No")
					player.AddCardToDeck(card, DeckPosition.Bottom);
			}
		}