我们正在使用Visual Studio 10为学校制作僵尸游戏。
我们想随机生成Zombies,a.k.a。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
}
你能帮助我们吗?
答案 0 :(得分:0)
您可以使用List<T>
,其中包含所有僵尸。僵尸是一个叫Zombie的简单类。该类包含僵尸的x和y坐标。在Form的Paint-Event中,程序遍历List中的所有元素并在窗口上绘制纹理。
在您的窗口代码中:
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>
类的方法添加和删除僵尸。