1
I’m creating a game for a college job, this game consists of several Picturebox, one is the main character who walks, jumps and shoots, the PictureBox of the shooting and the PictureBox of monsters (randomly generated by a Random), currently, when the program detects the collision of the picturebox of the shots with that of the monster, the monster is deleted and the shot also.
What I would like to do is let these monsters having a "life", for example, take 3 shots for the monster to die, but for this I have to create a variable "int life" and correlate it with the PictureBox of the monster that was created and I don’t know how to do it
This is the part of the code where the monsters are created:
Random random = new Random();
int a = random.Next(0, 300);
if (a == 150)
{
NovoMonstro();
}
This is the Novomonstro Method:
PictureBox monstro = new PictureBox();
Bitmap imagem;
imagem = Properties.Resources.monstro;
monstro.Image = imagem;
monstro.Size = new Size(51, 85);
monstro.SizeMode = PictureBoxSizeMode.StretchImage;
monstro.Tag = "monstros";
monstro.Left = 1024;
monstro.Top = 555;
monstro.BackColor = Color.Transparent;
this.Controls.Add(monstro);
monstro.BringToFront();
This is part of the program of the collision between the shot and the monster:
foreach (Control y in this.Controls)
{
foreach (Control j in this.Controls)
{
if (y is PictureBox && (y.Tag == "bulletD" || y.Tag == "bulletE"))
{
if (j is PictureBox && (j.Tag == "monstros" || j.Tag == "monstrosinvertidos"))
{
//detecta se teve colisão entre as picturebox
if (y.Bounds.IntersectsWith(j.Bounds))
{
this.Controls.Remove(j);
this.Controls.Remove(y);
contador++;
}
}
}
}
}
The generation of monsters is inside a Timer and the collision too.
Yes, I managed to solve the problem yesterday by doing just that, I did not know that it was possible to create a picturebox or any "custom" component and add the type of variable I wish to it, thank you very much
– Renato Vieira