public bool CanThrowCard(Trick trick, Card card) { if (ai != null && ai.Trick == null) { ai.Trick = trick; } if (trick.Cards.Count == 0) { if (!Team.Trumped && Cards.Exists(c => { return(!c.IsTrump); }) && Cards.Exists(c => { return(!c.IsTrump); }) && card.IsTrump) { return(false); } return(true); } if (trick.Cards[0].IsTrump) { if (Cards.Exists(c => { return(c.IsTrump); }) && !card.IsTrump) { return(false); } return(true); } if (Cards.Exists(c => { return(c.Suit == trick.Cards[0].Suit && !c.IsTrump); }) && (card.Suit != trick.Cards[0].Suit || card.IsTrump)) { return(false); } return(true); }
public bool CanThrowCard(Trick trick, Card card) { if (ai != null && ai.Trick == null) { ai.Trick = trick; } if (trick.Cards.Count == 0) { if (!Team.Trumped && Cards.Exists(c => { return !c.IsTrump; }) && Cards.Exists(c => { return !c.IsTrump; }) && card.IsTrump) { return false; } return true; } if (trick.Cards[0].IsTrump) { if (Cards.Exists(c => { return c.IsTrump; }) && !card.IsTrump) { return false; } return true; } if (Cards.Exists(c => { return c.Suit == trick.Cards[0].Suit && !c.IsTrump; }) && (card.Suit != trick.Cards[0].Suit || card.IsTrump)) { return false; } return true; }
public void AddTrick(Trick trick) { tricks.Add(trick); }
public void TrickOwnerOneSuit() { Kozel.Card card1 = new Kozel.Card(Kozel.CardSuit.Club, Kozel.CardValue.Eight); Kozel.Card card2 = new Kozel.Card(Kozel.CardSuit.Club, Kozel.CardValue.Ten); Kozel.Card card3 = new Kozel.Card(Kozel.CardSuit.Club, Kozel.CardValue.Ace); Kozel.Card card4 = new Kozel.Card(Kozel.CardSuit.Club, Kozel.CardValue.King); Player p1 = new Player(); Player p2 = new Player(); Player p3 = new Player(); Player p4 = new Player(); Trick t = new Trick(); t.AddMove(card1, p1); t.AddMove(card2, p2); t.AddMove(card3, p3); t.AddMove(card4, p4); Assert.AreEqual(t.GetTrickWinner(), p3); }
public void TrickOwnerWithTrump() { Kozel.Card card1 = new Kozel.Card(Kozel.CardSuit.Club, Kozel.CardValue.Ace); Kozel.Card card2 = new Kozel.Card(Kozel.CardSuit.Diamond, Kozel.CardValue.Eight); Kozel.Card card3 = new Kozel.Card(Kozel.CardSuit.Spade, Kozel.CardValue.Ten); Kozel.Card card4 = new Kozel.Card(Kozel.CardSuit.Heart, Kozel.CardValue.Eight); card2.IsTrump = true; Player p1 = new Player(); Player p2 = new Player(); Player p3 = new Player(); Player p4 = new Player(); Trick t = new Trick(); t.AddMove(card1, p1); t.AddMove(card2, p2); t.AddMove(card3, p3); t.AddMove(card4, p4); Assert.AreEqual(t.GetTrickWinner(), p2); }
public void TrickOwnerSmallestSuit() { Kozel.Card card1 = new Kozel.Card(Kozel.CardSuit.Diamond, Kozel.CardValue.Six); Kozel.Card card2 = new Kozel.Card(Kozel.CardSuit.Spade, Kozel.CardValue.Ace); Kozel.Card card3 = new Kozel.Card(Kozel.CardSuit.Club, Kozel.CardValue.Ace); Kozel.Card card4 = new Kozel.Card(Kozel.CardSuit.Heart, Kozel.CardValue.Ace); Player p1 = new Player(); Player p2 = new Player(); Player p3 = new Player(); Player p4 = new Player(); Trick t = new Trick(); t.AddMove(card1, p1); t.AddMove(card2, p2); t.AddMove(card3, p3); t.AddMove(card4, p4); Assert.AreEqual(t.GetTrickWinner(), p1); }