Пример #1
0
 public Team(Player aPlayer1, Player aPlayer2)
 {
     player1 = aPlayer1;
     player1.Team = this;
     player2 = aPlayer2;
     player2.Team = this;
 }
Пример #2
0
 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]));
             }
         }
     }
 }
Пример #3
0
        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));
        }
Пример #4
0
 private void AddCardToTrick(Player player, Card card)
 {
     trick.AddMove(card, player);
 }
Пример #5
0
        public void Start(Player startRoundPlayer)
        {
            if(startRoundPlayer == null) {
                activePlayer = GetTrumpedPlayerIndex();
            }
            else {
                activePlayer = FindPlayerIndexByPlayer(startRoundPlayer);
            }

            SortCards();
            if(RoundStarted != null) {
                RoundStarted(this, new PlayerEventArgs(ActivePlayer));
            }
        }
Пример #6
0
 public GameFinishedEventArgs(Player lastRoundWinner)
 {
     LastRoundWinner = lastRoundWinner;
 }
Пример #7
0
 public ShohaCatchQueenEventArgs(Player ShohaOwner)
 {
     this.ShohaOwner = ShohaOwner;
 }
Пример #8
0
 private Panel FindTablePanelByPlayer(Player activePlayer)
 {
     foreach (Panel panel in new List<Panel> { TablePlayer1, TablePlayer2, TablePlayer3, TablePlayer4 }) {
         if (panel.Tag == activePlayer) {
             return panel;
         }
     }
     return null;
 }
Пример #9
0
 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));
     }
 }
Пример #10
0
 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);
 }
Пример #11
0
 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);
 }
Пример #12
0
 private void DeactivatePlayer(Player player)
 {
     DeactivePlayer(FindPlayerPanelByPlayer(player));
 }
Пример #13
0
 private void ActivatePlayer(Player player)
 {
     ActivatePlayer(FindPlayerPanelByPlayer(player));
 }
Пример #14
0
 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;
 }
Пример #15
0
 private int FindPlayerIndexByPlayer(Player startRoundPlayer)
 {
     return Players.ToList().FindIndex(p => { return p == startRoundPlayer; });
 }
Пример #16
0
 public bool CanThrowCard(Player player, Card card)
 {
     return player.CanThrowCard(trick, card);
 }
Пример #17
0
 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);
 }
Пример #18
0
 public RoundFinishedEventArgs(Player lastRoundWinner, Team roundOwner)
 {
     LastRoundWinner = lastRoundWinner;
     RoundOwner = roundOwner;
 }
Пример #19
0
 private Panel FindPlayerPanelByPlayer(Player player)
 {
     return PlayerPanels.Single(p => (p.Tag as Player) == player);
 }