для школы мне нужно сделать игру понг, она почти закончена, но я хочу добавить окно с надписью «хорошая работа» после того, как я уничтожил все блоки, но я попытался поместить его в свой таймер, и когда я начал В игре появляются тысячи ящиков сообщений, и я не могу пошевелить веслом.
вот мой код таймера
private void timer1_Tick(object sender, EventArgs e)
{ //afstand bal van de top
picBall.Top += vSpeed;
//afstand bal van links
picBall.Left += hSpeed;
//zorgt dat die niet door bottom gaat
if (picBall.Bottom > this.ClientSize.Height)
{
vSpeed = -vSpeed;
}
//zorgt dat die niet door top gaat
if (picBall.Top < 0)
{
vSpeed = -vSpeed;
}
//zorgt dat die niet door right gaat
if (picBall.Right > this.ClientSize.Width)
{
hSpeed = -hSpeed;
}
//zorgt dat die niet door left gaat
if (picBall.Left < 0)
{
hSpeed = -hSpeed;
}
//wanneer de bal de paddle raakt
if (picBall.Bounds.IntersectsWith(picPaddle.Bounds) == true)
{
vSpeed = -vSpeed;
}
//als de bal de grond raakt verlies je en gaat de form dicht
if (picBall.Bounds.IntersectsWith(picGrond.Bounds) == true)
{
timer1.Stop();
MessageBox.Show("you lose!");
this.Close();
}
//DIT ZORGT DAT ALLE BLOKKEN WEG GAAN
//DIT ZORGT DAT ALLE BLOKKEN WEG GAAN
//DIT ZORGT DAT ALLE BLOKKEN WEG GAAN
//zorgt dat de bal de blokken raakt en niet door de blokken heen ga
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox1.Bounds) && pictureBox1.Visible == true)
{
pictureBox1.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox2.Bounds) && pictureBox2.Visible == true)
{
pictureBox2.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox3.Bounds) && pictureBox3.Visible == true)
{
pictureBox3.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox4.Bounds) && pictureBox4.Visible == true)
{
pictureBox4.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox5.Bounds) && pictureBox5.Visible == true)
{
pictureBox5.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox6.Bounds) && pictureBox6.Visible == true)
{
pictureBox6.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox7.Bounds) && pictureBox7.Visible == true)
{
pictureBox7.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox8.Bounds) && pictureBox8.Visible == true)
{
pictureBox8.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox9.Bounds) && pictureBox9.Visible == true)
{
pictureBox9.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox10.Bounds) && pictureBox10.Visible == true)
{
pictureBox10.Visible = false;
vSpeed = -vSpeed;
}
}
}
//PICTUREBOX 11 : 3X RAKEN DAT DIE WEG GAAT EN 3X KLEUR VERANDERING
//for (int x = 0; x < row; x++)
//{
//for (int y = 0; y < col; y++)
//{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
// if (picBall.Bounds.IntersectsWith(pictureBox11.Bounds) && pictureBox11.Visible == true)
if (picBall.Bounds.IntersectsWith(pictureBox11.Bounds) && HitCount ==3)
{
pictureBox11.BackColor = Color.Orange;
vSpeed = -vSpeed;
HitCount--;
}
else if (picBall.Bounds.IntersectsWith(pictureBox11.Bounds) && HitCount == 2)
{
pictureBox11.BackColor = Color.Yellow;
vSpeed = -vSpeed;
HitCount--;
}
else if (picBall.Bounds.IntersectsWith(pictureBox11.Bounds) && HitCount == 1)
{
pictureBox11.BackColor = Color.Blue;
vSpeed = -vSpeed;
HitCount--;
}
else if (picBall.Bounds.IntersectsWith(pictureBox11.Bounds) && HitCount == 0 && pictureBox11.Visible == true)
{
pictureBox11.Visible = false;
vSpeed = -vSpeed;
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox12.Bounds) && pictureBox12.Visible == true)
{
pictureBox12.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox13.Bounds) && pictureBox13.Visible == true)
{
pictureBox13.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox14.Bounds) && pictureBox14.Visible == true)
{
pictureBox14.Visible = false;
vSpeed = -vSpeed;
}
}
}
for (int x = 0; x < row; x++)
{
for (int y = 0; y < col; y++)
{ //zorgt dat de bal de blokken weg laat verdwijnen en als de blok die weg is weg is dan doet die er niks meer mee
if (picBall.Bounds.IntersectsWith(pictureBox15.Bounds) && pictureBox15.Visible == true)
{
pictureBox15.Visible = false;
vSpeed = -vSpeed;
}
}
}
}
в моей игре у меня есть 15 кирпичей, которые нужно уничтожить с помощью мяча, и как Вы можете видеть, что я сделал 14 одинаковых кодов для каждого кирпича. и 1 кирпич должен ударить 3 раза, чтобы быть уничтоженным. но это прекрасно работает
мой вопрос, где поставить окно сообщения, если вы уничтожили все кирпичи?
Я пытался сделать это до конца кода, но он не работает извините за мой английский sh и спасибо за вашу помощь