public Card(CardStr CardDetails) { this.Size = new System.Drawing.Size(120, 167); _card = CardDetails; SetSuitIndex(); SetSuitIndex(); SetRankIndex(); this.Invalidate(); }
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)); } } }
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); }
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(); }
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); }