如何在按钮单击的随机位置生成picturebox1的多个克隆

本文关键字:picturebox1 位置 按钮 单击 随机 | 更新日期: 2023-09-27 18:09:10

我们正在用Visual Studio 10为学校制作一个僵尸游戏。

我们想随机生成僵尸,也就是PictureBoxes。所有这些图片盒都需要自己的坐标,因为如果玩家的坐标与僵尸相同,玩家就需要失去HP。

我正在寻找这个功能3天了,所以我想为什么不在这里问一个专业的建议呢?

我们现在只有这段代码让一个(Picturebox)僵尸行走:

private void ZombieLopenOne()
        {
            // Begin Zombie Lopen
            int zombx = EenZombie1.Location.X;
            int zomby = EenZombie1.Location.Y;
            if ( zomby > 420 + EenZombie1.Height ) {
                zomby = -EenZombie1.Height;
                EenZombie1.Location = new Point(zombx, zomby);
            }
            else
            {
                zomby += 3;
                EenZombie1.Location = new Point(zombx, zomby);
            }
            // End Zombie Lopen
          }

你能帮我们吗?

如何在按钮单击的随机位置生成picturebox1的多个克隆

您可以使用List<T>,它将包含所有僵尸。僵尸是一个简单的类,叫做zombie。类包含僵尸的x和y坐标。在窗体的Paint-Event中,程序循环遍历列表中的所有元素并在窗口上绘制纹理。

在你的窗口代码中:

class Zombie {
   public Zombie(int x, int y) {
      this.x = x;
      this.y = y;
   }
   public int x;
   public int y;
}
List<Zombie> zombies;
//Constructor of your window
public MainWindow() {
   InitializeComponet(); //This is autogenerated by Visual Studio
   this.Paint += new PaintEventHandler(Paint);
   zombies = new List<Zombie>;
}
public void Paint(object sender, PaintEventArgs e) {
   foreach(Zombie zombie in zombies) {
      e.Graphics.DrawImage(/*Your zombie image*/, new Point(zombie.x, zombie.y));
   }
}

您可以使用List<T>类的方法添加和删除僵尸。