O código a seguir permite programar uma colisão entre duas pictureBox. Quando elas se encontram em uma determinada coordenada.
O truque é comparar a coordenada do PacMan com a coordenada da fruta, mas precisamos considerar também o tamanho da fruta para que quando o PacMan encoste na borda da pictureBox da fruta já ocorra a colisão.
Evento KeyDown
É no evento KeyDown do Form que a mágica acontece, este evento captura as teclas pressionadas pelo usuário e depois executa uma ação;
// Movimenta o PacMan if (e.KeyCode == Keys.Up) PacMan.Location = new Point(PacMan.Location.X, PacMan.Location.Y-10); if (e.KeyCode == Keys.Down) PacMan.Location = new Point(PacMan.Location.X, PacMan.Location.Y + 10); if (e.KeyCode == Keys.Right) PacMan.Location = new Point(PacMan.Location.X + 10, PacMan.Location.Y); if (e.KeyCode == Keys.Left) PacMan.Location = new Point(PacMan.Location.X - 10, PacMan.Location.Y); // Mostra as coordenadas label1.Text = "X: " + PacMan.Location.X; label2.Text = "Y: " + PacMan.Location.Y; /* Compara as coordenadas do PacMan com o da fruta para * verificar se houve a colisão */ if ( PacMan.Location.X >= Frutinha.Location.X - Frutinha.Size.Width + 5 && PacMan.Location.X <= Frutinha.Location.X + Frutinha.Size.Width - 5 && PacMan.Location.Y >= Frutinha.Location.Y - Frutinha.Size.Height + 5 && PacMan.Location.Y <= Frutinha.Location.Y + Frutinha.Size.Height - 5 ) { Frutinha.Visible = false; }
Download do exemplo
Este é um mero exemplo, obviamente você deverá implementar mais ações para tornar o game mais interessante. Faça o download aqui.