public void DrawPlayer(Player player) //绘制玩家 { this.Invoke(new Action(() => { if (PlayerLabelSet.ContainsKey(player.id)) { PlayerLabelSet[player.id].label.Location = new Point((player.x * MapcellWidth + Program.cell / 2) / Program.cell - (MapcellWidth + 1) / 2 + Interval, (player.y * MapcellHeight + Program.cell / 2) / Program.cell - (MapcellHeight + 1) / 2 + Interval); PlayerLabelSet[player.id].label.BringToFront(); PlayerLabelSet[player.id].used = true; PlayerLabelSet[player.id].label.Click += delegate(object sender, EventArgs e) { PlayerClick(sender, e, player); };; } else { BoolLabel label = new BoolLabel(); label.label.Size = new Size(MapcellWidth + 1, MapcellHeight + 1); label.label.Location = new Point((player.x * MapcellWidth + Program.cell / 2) / Program.cell - (MapcellWidth + 1) / 2 + Interval, (player.y * MapcellHeight + Program.cell / 2) / Program.cell - (MapcellHeight + 1) / 2 + Interval); label.label.Text = Convert.ToString(player.playernum); label.label.ForeColor = Color.White; label.label.TextAlign = ContentAlignment.TopRight; label.label.Font = new Font("Times New Roman", fontfornum, GraphicsUnit.Pixel); label.label.Click += delegate(object sender, EventArgs e) { PlayerClick(sender, e, player); };; switch (player.teamnum) { case 1: label.label.BackColor = Color.SteelBlue; break; case 2: label.label.BackColor = Color.Green; break; case 3: label.label.BackColor = Color.Blue; break; case 4: label.label.BackColor = Color.Pink; break; } this.Controls.Add(label.label); label.label.BringToFront(); PlayerLabelSet.Add(player.id, label); } })); }
public void DrawBullet(Bullet bullet) //绘制子弹 { this.Invoke(new Action(() => { if (BulletLabelSet.ContainsKey(bullet.id)) { BulletLabelSet[bullet.id].label.Location = new Point((bullet.x * MapcellWidth + Program.cell / 2) / Program.cell - (MapcellWidth + 1) / 2 + Interval, (bullet.y * MapcellHeight + Program.cell / 2) / Program.cell - (MapcellHeight + 1) / 2 + Interval); BulletLabelSet[bullet.id].label.BringToFront(); BulletLabelSet[bullet.id].used = true; } else { BoolLabel label = new BoolLabel(); label.label.Size = new Size(5, 5); label.label.Location = new Point((bullet.x * MapcellWidth + Program.cell / 2) / Program.cell - (MapcellWidth + 1) / 2 + Interval, (bullet.y * MapcellHeight + Program.cell / 2) / Program.cell - (MapcellHeight + 1) / 2 + Interval); //或许会再修改 switch (bullet.teamnum) { case 1: label.label.BackColor = Color.SteelBlue; break; case 2: label.label.BackColor = Color.Green; break; case 3: label.label.BackColor = Color.Blue; break; case 4: label.label.BackColor = Color.Pink; break; } this.Controls.Add(label.label); label.label.BringToFront(); BulletLabelSet.Add(bullet.id, label); } })); }
public void DrawItem(Item item) //绘制道具 { this.Invoke(new Action(() => { if (ItemLabelSet.ContainsKey(item.id)) { ItemLabelSet[item.id].label.Location = new Point(item.xnum * MapcellWidth + Interval, item.ynum * MapcellHeight + Interval); ItemLabelSet[item.id].label.BringToFront(); ItemLabelSet[item.id].used = true; } else { BoolLabel label = new BoolLabel(); label.label.Location = new Point(item.xnum * MapcellWidth + Interval, item.ynum * MapcellHeight + Interval); //或许会再修改 label.label.Size = new Size(MapcellWidth, MapcellHeight); label.label.ForeColor = Color.Red; label.label.TextAlign = ContentAlignment.TopCenter; label.label.Font = new Font("Times New Roman", fontforpic, GraphicsUnit.Pixel); label.label.BackColor = Color.Yellow; switch (item.type) { case 0: break; case 1: label.label.Text = "🏃"; break; case 2: label.label.Text = "⚔"; break; case 3: label.label.Text = "⭯"; break; case 4: label.label.Text = "❤"; break; case 5: label.label.Text = "⛨"; break; case 6: label.label.Text = "⍏"; break; case 7: label.label.Text = "❎"; break; case 8: case 9: case 10: label.label.Text = "🚩"; break; } label.label.Click += delegate(object sender, EventArgs e) { ItemClick(sender, e, item); };; this.Controls.Add(label.label); label.label.BringToFront(); ItemLabelSet.Add(item.id, label); } })); }