public Team(Player aPlayer1, Player aPlayer2) { player1 = aPlayer1; player1.Team = this; player2 = aPlayer2; player2.Team = this; }
public void AddMove(Card card, Player player) { moves.Add(card, player); if (Cards.Exists(c => { return c.isShoha(); }) && Cards.Exists(c => { return c.isClubQueen(); })) { Card shoha = Cards.Find(c => { return c.isShoha(); }); Card clubQueen = Cards.Find(c => { return c.isClubQueen(); }); if (moves[shoha].Team != moves[clubQueen].Team) { if (ShohaCatchQueen != null) { ShohaCatchQueen(this, new ShohaCatchQueenEventArgs(moves[shoha])); } } } }
public void CanThrowCard() { Player p1 = new Player(); Player p2 = new Player(); Player p3 = new Player(); Player p4 = new Player(); Team team1 = new Team(p1, p3); Team team2 = new Team(p2, p4); Round round = new Round(new ObservableCollection<Player>() { p1, p2, p3, p4 }); 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.Six); p1.AddCard(card1); p2.AddCard(card2); p3.AddCard(card3); p4.AddCard(card4); round.Trick.AddMove(card1, p1); round.Trick.AddMove(card2, p2); round.Trick.AddMove(card3, p3); // round.Trick.AddMove(card4, p4); Assert.IsTrue(round.CanThrowCard(p4, card1)); }
private void AddCardToTrick(Player player, Card card) { trick.AddMove(card, player); }
public void Start(Player startRoundPlayer) { if(startRoundPlayer == null) { activePlayer = GetTrumpedPlayerIndex(); } else { activePlayer = FindPlayerIndexByPlayer(startRoundPlayer); } SortCards(); if(RoundStarted != null) { RoundStarted(this, new PlayerEventArgs(ActivePlayer)); } }
public GameFinishedEventArgs(Player lastRoundWinner) { LastRoundWinner = lastRoundWinner; }
public ShohaCatchQueenEventArgs(Player ShohaOwner) { this.ShohaOwner = ShohaOwner; }
private Panel FindTablePanelByPlayer(Player activePlayer) { foreach (Panel panel in new List<Panel> { TablePlayer1, TablePlayer2, TablePlayer3, TablePlayer4 }) { if (panel.Tag == activePlayer) { return panel; } } return null; }
private void Stop(Player lastRoundWinner) { Player trumpedPlayer = players.First(p => { return p.Trumped; }); trumpedPlayer.Trumped = false; int index = players.IndexOf(trumpedPlayer); index = index == 3 ? 0 : index + 1; players.ToList().ForEach(p => { p.Cards.Clear(); }); players[index].Trumped = true; if (GameFinished != null) { GameFinished(this, new GameFinishedEventArgs(lastRoundWinner)); } }
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); }
private void DeactivatePlayer(Player player) { DeactivePlayer(FindPlayerPanelByPlayer(player)); }
private void ActivatePlayer(Player player) { ActivatePlayer(FindPlayerPanelByPlayer(player)); }
private void RefreshStat(Player lastRoundWinner) { lLastWinner.Content = lastRoundWinner.ToString(); //lScoreTeam1.Content = Game.Team1.Score; //lScoreTeam2.Content = Game.Team2.Score; //lGameScoreTeam1.Content = Game.Team1.GameScore; //lGameScoreTeam2.Content = Game.Team2.GameScore; }
private int FindPlayerIndexByPlayer(Player startRoundPlayer) { return Players.ToList().FindIndex(p => { return p == startRoundPlayer; }); }
public bool CanThrowCard(Player player, Card card) { return player.CanThrowCard(trick, card); }
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 RoundFinishedEventArgs(Player lastRoundWinner, Team roundOwner) { LastRoundWinner = lastRoundWinner; RoundOwner = roundOwner; }
private Panel FindPlayerPanelByPlayer(Player player) { return PlayerPanels.Single(p => (p.Tag as Player) == player); }