Пример #1
0
 public Card(CardStr CardDetails)
 {
     this.Size = new System.Drawing.Size(120, 167);
     _card = CardDetails;
     SetSuitIndex(); SetSuitIndex();
     SetRankIndex();
     this.Invalidate();
 }
Пример #2
0
 private void AddDownCard(CardStr card)
 {
     DownCards.Add(card);
     Card newCard = new Card(card);
     newCard.Size = CardSize;
     newCard.BackColor = CardBackGroundColor;
     newCard.Enabled = false;
     newCard.Location = new Point((CardSize.Width + 5) * (DownCards.Count - 1) + 10, 170);
     newCard.Name = "Downcard_" + DownCards.Count;
     newCard.player = Players.None;
     addControl(newCard);
     tofrontControl("Downcard_" + DownCards.Count);
     if (DownCards.Count > 6) {
         for (int c = 1; c <= DownCards.Count; c++) {
             relocateControl("Downcard_" + c, new Point(10 + (int)((c - 1) * ((float)CardSize.Width * (float)(6 / (float)DownCards.Count))), 170));
         }
     }
 }
Пример #3
0
 private void TakeCard(CardStr card)
 {
     PlayerCards.Add(card);
     Card newCard = new Card(card);
     newCard.Size = CardSize;
     newCard.BackColor = CardBackGroundColor;
     newCard.Enabled = false;
     newCard.Click += new EventHandler(newCard_Click);
     newCard.Name = "Card_" + PlayerCards.Count;
     newCard.Location = new Point((CardSize.Width + 5) * (PlayerCards.Count - 1) + 10, 30);
     newCard.player = Players.Player1;
     this.Controls.Add(newCard);
 }
Пример #4
0
 private void AfterPlayedCalculations(Players player, CardStr card)
 {
     CommandStruct cmd;
     if (DownCards.Count > 1) {
         if (DownCards[DownCards.Count - 2].rank == card.rank) {
             if (DownCards.Count == 2) {
                 if (card.rank == Ranks.Jack) {
                     AddScore(player, 20, DownCards.Count);
                 } else {
                     AddScore(player, 10, DownCards.Count);
                 }
             } else {
                 AddScore(player, CalculateDownCardPoints(), DownCards.Count);
             }
             RemoveDownCards();
             cmd.CommandIndex = (ushort)NetworkCommands.ClearDownCards;
             cmd.ExtraDataSize = 0;
             SendCommandToClient(cmd, null);
         } else {
             if (card.rank == Ranks.Jack) {
                 AddScore(player, CalculateDownCardPoints(), DownCards.Count);
                 RemoveDownCards();
                 cmd.CommandIndex = (ushort)NetworkCommands.ClearDownCards;
                 cmd.ExtraDataSize = 0;
                 SendCommandToClient(cmd, null);
             }
         }
     }
     NextPlayer();
 }
Пример #5
0
        private void CardPlayed(Players player, CardStr card)
        {
            AddDownCard(card);

            if (player == Players.Player1) {
                CommandStruct cmd;
                cmd.CommandIndex = (ushort)NetworkCommands.oppPlayed;
                cmd.ExtraDataSize = 0;
                SendCommandToClient(cmd, null);

                cmd.CommandIndex = (ushort)NetworkCommands.AddDownCard;
                cmd.ExtraDataSize = Common.CardStructSize;
                SendCommandToClient(cmd, Common.SerializeStruct<CardStr>(card));
            } else {
                removeControl("oppCard_" + oppCards);
                oppCards--;

                CommandStruct cmd;
                cmd.CommandIndex = (ushort)NetworkCommands.AddDownCard;
                cmd.ExtraDataSize = Common.CardStructSize;
                SendCommandToClient(cmd, Common.SerializeStruct<CardStr>(card));
            }

            AfterPlayedCalculations(player, card);
        }