Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

erro em visual basic

$
0
0
Ola, tudo bem? comecei á pouco a trabalhar com o visual studio tentei fazer um jogo tipo snake o codigo é este, o firstsquare, secondsquare, thirdsquare e foursquare ja foram introduzidos na parte do design basicamente controlamos com as down up right left e espaco para parar, e a tecla A adiciona quadrados no fim do ultimo quadrado, como ainda estou a fazer teste, testei apenas com o primeiro quadrado (square(1)) que é adicionado atrás do foursquare , mas quando clico START da erro e diz que square(1).Top = y(4) (encontra-se na linha 114) e diz ": A referência de objecto não foi definida como uma instância de um objecto"., desculpem se nao consegui exprimir bem , aguardo uma resposta! cumprimentos Public Class Form1 Dim x(30), y(30), i, cont, a, b As Integer Dim key As String Public square(100) As PictureBox Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = Keys.Down Then key = "Down" Timer1.Enabled = True Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = False End If If e.KeyCode = Keys.Up Then key = "Up" Timer2.Enabled = True Timer1.Enabled = False Timer3.Enabled = False Timer4.Enabled = False End If If e.KeyCode = Keys.Right Then key = "Right" Timer3.Enabled = True Timer1.Enabled = False Timer2.Enabled = False Timer4.Enabled = False End If If e.KeyCode = Keys.Left Then key = "Left" Timer4.Enabled = True Timer3.Enabled = False Timer2.Enabled = False Timer1.Enabled = False End If If e.KeyCode = Keys.Space Then Timer4.Enabled = False Timer3.Enabled = False Timer2.Enabled = False Timer1.Enabled = False End If If e.KeyCode = Keys.A Then addsquare() i = i + 1 End If End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 'down x(1) = firstsquare.Left y(1) = firstsquare.Top firstsquare.Top = firstsquare.Top + 20 End Sub Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick 'up x(1) = firstsquare.Left y(1) = firstsquare.Top firstsquare.Top = firstsquare.Top - 20 End Sub Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick 'rigth x(1) = firstsquare.Left y(1) = firstsquare.Top firstsquare.Left = firstsquare.Left + 20 End Sub Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick 'left x(1) = firstsquare.Left y(1) = firstsquare.Top firstsquare.Left = firstsquare.Left - 20 End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load i = 0 secondsquare.Top = firstsquare.Top + 20 secondsquare.Left = firstsquare.Left thirdsquare.Top = secondsquare.Top + 20 thirdsquare.Left = secondsquare.Left foursquare.Top = thirdsquare.Top + 20 foursquare.Left = thirdsquare.Left square(1) = New PictureBox square(1).Width = 20 square(1).Height = 20 square(1).Left = foursquare.Left - 20 square(1).Top = foursquare.Top End Sub Private Sub firstsquare_Move(sender As Object, e As EventArgs) Handles firstsquare.Move cont = 1 x(2) = secondsquare.Left y(2) = secondsquare.Top secondsquare.Left = x(1) secondsquare.Top = y(1) x(3) = thirdsquare.Left y(3) = thirdsquare.Top thirdsquare.Left = x(2) thirdsquare.Top = y(2) x(4) = foursquare.Left y(4) = foursquare.Top foursquare.Left = x(3) foursquare.Top = y(3) square(1).Top = y(4) square(1).Left = x(4) End Sub Private Sub addsquare() square(i) = New PictureBox square(i).Width = 20 square(i).Height = 20 square(i).Left = foursquare.Left - 20 square(i).Top = foursquare.Top square(i).BackColor = Color.Black Me.Controls.Add(square(i)) End Sub End Class

Viewing all articles
Browse latest Browse all 11336

Trending Articles