// Victory Points awarded from the number of specific structure colour each neighbours constructed private static void AddVictoryNeighboursColour(Player p, Player east, Player west, CardColour c, int amount) { p.addScore(Score.VICTORY, GetVictoryNeighboursColour(east, west, c, amount)); }
public static void ComputersTurn() { int cardInPlay = Deck.playDeck.Count - 1; CardColour colour = Deck.playDeck[cardInPlay].Colour; CardValue value = Deck.playDeck[cardInPlay].Value; bool validCardInHand = false; foreach (CardModel card in Deck.computerHand) { if (card.Colour == colour || card.Value == value) { Console.WriteLine(); Console.WriteLine($"The Computer played {card.Colour} " + $"{card.Value}. Press enter to continue."); Console.ReadLine(); Deck.playDeck.Add(card); Deck.computerHand.Remove(card); validCardInHand = true; return; } } if (validCardInHand == false) { PickUpACard(Deck.computerHand, "The Computer picked up a card. Press enter to continue."); } }
public static void PlayersTurn() { int cardInPlay = Deck.playDeck.Count - 1; CardColour colour = Deck.playDeck[cardInPlay].Colour; CardValue value = Deck.playDeck[cardInPlay].Value; bool validCardInHand = false; bool isValidSelection = false; foreach (CardModel card in Deck.playerHand) { if (card.Colour == colour || card.Value == value) { validCardInHand = true; } } do { if (validCardInHand == true) { isValidSelection = SelectCard(colour, value); } else { isValidSelection = PickUpACard(Deck.playerHand, "You do not have any matching cards. So you have to pick one up. " + "Press enter to continue."); } } while (isValidSelection == false); }
public static bool SelectCard(CardColour colour, CardValue value) { int card = GetInfo.GetPlayerCardSelection(); try { if (Deck.playerHand.Contains(Deck.playerHand[card])) { if (Deck.playerHand[card].Colour == colour || Deck.playerHand[card].Value == value) { Deck.playDeck.Add(Deck.playerHand[card]); Deck.playerHand.Remove(Deck.playerHand[card]); return(true); } else { Console.WriteLine("That was an invalid selction. Press enter to try again"); return(false); } } } catch (Exception) { Console.WriteLine("That was an invalid selction. Please try again"); return(false); } return(false); }
public Card(string unicode, CardColour cardColour, Value value) { Unicode = unicode; CardColour = cardColour; Value = value; cardName = this.CardColour.ToString() + " " + this.Value.ToString(); }
public GraphicCard(KindsOfCards kinds, CardColour colour, PictureBox pb, bool opened = true) : base(colour, kinds) { Pb = pb; Pb.SizeMode = PictureBoxSizeMode.Zoom; Pb.Visible = false; fileName = Application.StartupPath + @"\images\" + this.ToString() + ".png"; Opened = opened; }
public void GetCardColourTest(CardSuit cardSuit, CardColour expectedColour) { //Arrange Card card = new Card(cardSuit, CardValue.Ace); //Act CardColour result = card.GetCardColour(); //Assert Assert.AreEqual(expectedColour, result); }
public CardColour Validate(CardColour cardColour) { switch (cardColour) { case CardColour.Black: break; default: throw new ArgumentOutOfRangeException("cardColour"); } return cardColour; }
public CardColour Validate(CardColour cardColour) { switch (cardColour) { case CardColour.Black: break; default: throw new ArgumentOutOfRangeException("cardColour"); } return(cardColour); }
public PlayCard[] RemoveCardsNotOfColor(CardColour colour, PlayCard[] cards) { int[] pos = new int[6] { -1, -1, -1, -1, -1, -1 }; for (int i = 0; i < cards.Length; ++i) { if (cards[i].Colour == colour) { for (int j = 0; j < 6; ++j) { if (pos[j] == -1) { pos[j] = i; break; } } } } if (pos[5] != -1) { return(new PlayCard[6] { cards[pos[0]], cards[pos[1]], cards[pos[2]], cards[pos[3]], cards[pos[4]], cards[pos[5]], }); } else { return(new PlayCard[5] { cards[pos[0]], cards[pos[1]], cards[pos[2]], cards[pos[3]], cards[pos[4]], }); } }
public CardColour Validate(CardColour cardColour) { switch (cardColour) { case CardColour.Blue: case CardColour.Green: case CardColour.Red: case CardColour.Yellow: break; default: throw new ArgumentOutOfRangeException("cardColour"); } return cardColour; }
public CardColour Validate(CardColour cardColour) { switch (cardColour) { case CardColour.Blue: case CardColour.Green: case CardColour.Red: case CardColour.Yellow: break; default: throw new ArgumentOutOfRangeException("cardColour"); } return(cardColour); }
private static void AddNumberedCards(IDeck deck, CardColour cardColour) { var deckCount = deck.NumberOfCardsInDeck; // Add Numbers 1 to 9 (twice) for (var i = 1; i <= 9; i++) { deck.Push(new Number(i, cardColour)); deck.Push(new Number(i, cardColour)); } // Add One Zero card for this colour deck.Push(new Number(0, cardColour)); //Debug.WriteLine(deck.NumberOfCardsInDeck - deckCount, string.Format("{0} Cards", cardColour)); }
public void SuitsHaveTheCorrectColours() { //Arrange Card spade = new Card(CardSuit.Spade, CardRank.Ace); Card club = new Card(CardSuit.Club, CardRank.Ace); Card heart = new Card(CardSuit.Heart, CardRank.Ace); Card diamond = new Card(CardSuit.Diamond, CardRank.Ace); //Action CardColour spadeCol = spade.Colour; CardColour clubCol = club.Colour; CardColour heartCol = heart.Colour; CardColour diamondCol = diamond.Colour; //Assert Assert.AreEqual(CardColour.Black, spadeCol); Assert.AreEqual(CardColour.Black, clubCol); Assert.AreEqual(CardColour.Red, heartCol); Assert.AreEqual(CardColour.Red, diamondCol); }
public void Move(Card card, CardColour colour) { if (activePlayer.Cards.Cards.IndexOf(card) == -1) { Fail("ActivePlayer don't have this card"); return; } if (!IsCorrect(DeckCard, card)) { Fail("This card can't been put now"); return; } DeckCard = card; activePlayer.Cards.Cards.Remove(card); activeColor = colour; if (DeckCard.Kinds == KindsOfCards.reverse) { Reversed = !Reversed; } if (DeckCard.Kinds == KindsOfCards.add2) { NextPlayer(activePlayer).Cards.Add(CommonDeck.Deal(2)); } giveMove = false; activePlayer = DeckCard.Kinds == KindsOfCards.skip ? NextPlayer(NextPlayer(activePlayer)) : NextPlayer(activePlayer); SelectPlayer(activePlayer); Refresh(); }
public Skip(CardColour colour) : base(colour, 20) { }
public Card(CardColour colour, KindsOfCards kinds) { Colour = colour; Kinds = kinds; }
public DrawTwo(CardColour colour) : base(colour, 20) { }
public int getCardColourCount(CardColour c) { return cardColour[c]; }
public PlayCard[] RemoveCardsNotOfColor( CardColour colour, PlayCard[] cards ) { int[] pos = new int[6] { -1, -1, -1, -1, -1, -1 }; for (int i = 0; i < cards.Length; ++i) { if (cards[i].Colour == colour) { for (int j = 0; j < 6; ++j) { if (pos[j] == -1) { pos[j] = i; break; } } } } if (pos[5] != -1) { return new PlayCard[6] { cards[pos[0]], cards[pos[1]], cards[pos[2]], cards[pos[3]], cards[pos[4]], cards[pos[5]], }; } else { return new PlayCard[5] { cards[pos[0]], cards[pos[1]], cards[pos[2]], cards[pos[3]], cards[pos[4]], }; } }
protected BaseCard(CardColour colour, int value) { Colour = ValidateCardColour(colour); Value = ValidateCardValue(value); }
public GraphicCard(KindsOfCards kinds, CardColour colour) : this(kinds, colour, new PictureBox()) { }
// Victory Points awarded // Through the number of specific structure colour the player has constructed private static void AddVictoryColour(Player p, CardColour c, int amount) { p.addScore(Score.VICTORY, GetVictoryColour(p, c, amount)); }
public override Card GetCard(CardColour colour, KindsOfCards kind) { return(new GraphicCard(colour, kind)); }
public PlayCard(CardValue val, CardColour col) { Value = val; Colour = col; }
public Reverse(CardColour colour) : base(colour, 20) { }
public Card(CardType cardType, CardColour cardColour) { CardType = cardType; CardColour = cardColour; CardValue = GetCardValue(CardType); }
// Coin awarded with the basis of Card Colour the Player owns private static void AddCoinColour(Player p, CardColour c, int amount) { p.addResource(Resource.COIN, GetCoinColour(p, c, amount)); }
// Returns the number of coins awarded from the number of specific structure colour each neighbours have constructed private static int GetCoinAllColour(Player p, Player east, Player west, CardColour c, int amount) { return (p.getCardColourCount(c) + east.getCardColourCount(c) + west.getCardColourCount(c)) * amount; }
internal CardPlayedEventArgs(CardValue value, CardColour colour, bool wasPeak) { Value = value; Colour = colour; WasPeakCard = wasPeak; }
public void addCardColour(CardColour c, int x) { cardColour[c] += x; }
public GraphicCard(CardColour colour, KindsOfCards kinds) : base(colour, kinds) { }
public Number(int value, CardColour colour) : base(colour, value) { }
private CardColour ValidateCardColour(CardColour colour) { return AutofacResolver.Container.Resolve<ICardColourValidator>(new NamedParameter("cardType", GetType())).Validate(colour); }
public void FaceCard_ValidColour_ColourIsSetCorrectly(CardColour colour) { var card = new Number(0, colour); Assert.AreEqual(colour, card.Colour); }
private CardColour ValidateCardColour(CardColour colour) { return(AutofacResolver.Container.Resolve <ICardColourValidator>(new NamedParameter("cardType", GetType())).Validate(colour)); }
public virtual Card GetCard(CardColour colour, KindsOfCards kind) { return new Card(colour, kind); }
public PlayCard( CardValue val, CardColour col ) { Value = val; Colour = col; }
// Victory Points returned from the number of specific structure colour the player has constructed private static int GetVictoryColour(Player p, CardColour c, int amount) { return p.getCardColourCount(c) * amount; }
// Victory Points returned from the number of specific structure colour each neighbours constructed private static int GetVictoryNeighboursColour(Player east, Player west, CardColour c, int amount) { return (east.getCardColourCount(c) + west.getCardColourCount(c)) * amount; }
public override string ToString() { var cardName = CardType.ToString() + " of " + CardColour.ToString() + "s"; return(cardName); }
public GraphicCard(CardColour colour, KindsOfCards kinds) : this(kinds, colour) { }
// Coin awarded from the number of specific structure colour each neighbours have constructed private static void AddCoinAllColour(Player p, Player east, Player west, CardColour c, int amount) { p.addResource(Resource.COIN, GetCoinAllColour(p, east, west, c, amount)); }