Exemplo n.º 1
0
        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);
                }
            }));
        }
Exemplo n.º 2
0
        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);
                }
            }));
        }
Exemplo n.º 3
0
        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);
                }
            }));
        }