Kollision wird irgendwie nicht erkannt.
VB.NET-Quellcode
- Public Class gemälde
- Dim untengedrückt As Boolean = False
- Dim obengedrückt As Boolean = False
- Dim linksgedrückt As Boolean = False
- Dim rechtsgedrückt As Boolean = False
- Dim gezeigt As Boolean = False
- Dim playerspeed As Integer = 1
- Private Sub gemälde_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
- If e.KeyCode = Keys.W Then
- obengedrückt = True
- untengedrückt = False
- rechtsgedrückt = False
- linksgedrückt = False
- ElseIf e.KeyCode = Keys.S Then
- untengedrückt = True
- obengedrückt = False
- linksgedrückt = False
- rechtsgedrückt = False
- ElseIf e.KeyCode = Keys.A Then
- linksgedrückt = True
- rechtsgedrückt = False
- obengedrückt = False
- untengedrückt = False
- ElseIf e.KeyCode = Keys.D Then
- rechtsgedrückt = True
- linksgedrückt = False
- obengedrückt = False
- untengedrückt = False
- End If
- End Sub
- Private Sub gemälde_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- movement.Enabled = True
- End Sub
- Private Sub movement_Tick(sender As System.Object, e As System.EventArgs) Handles movement.Tick
- Dim snake As New PictureBox
- snake.Width = 16
- snake.Height = 16
- snake.BackColor = Color.Red
- If rechtsgedrückt Then
- snake.Left = player.Left - player.Width
- snake.Top = player.Top
- ElseIf linksgedrückt Then
- snake.Left = player.Left + player.Width
- snake.Top = player.Top
- ElseIf obengedrückt Then
- snake.Left = player.Left
- snake.Top = player.Top + player.Height
- ElseIf untengedrückt Then
- snake.Left = player.Left
- snake.Top = player.Top - player.Height
- End If
- If obengedrückt = True Then
- player.Top -= playerspeed
- Controls.Add(snake)
- ElseIf untengedrückt = True Then
- player.Top += playerspeed
- Controls.Add(snake)
- ElseIf linksgedrückt = True Then
- player.Left -= playerspeed
- Controls.Add(snake)
- ElseIf rechtsgedrückt = True Then
- player.Left += playerspeed
- Controls.Add(snake)
- End If
- If player.Bounds.IntersectsWith(snake.Bounds) Then
- MsgBox("You lose!")
- Me.Close()
- label1.text = "collision!"
- End If
- End Sub
- End Class