2016-11-08 2 views
-1

Für ein Projekt, ich brauche ein kleines Spiel zu schaffen, aber ich werde verrückt gehen„Reset“ ein für auf Visual Basic

Mein Code ist folgende:

Public Sub Play(ByVal i As Integer, ByVal t() as Integer) 

Dim n As Integer 
t(i) = n 

For i = 0 to 13 

While n > 0 
t(i + 1) = t(i + 1) + 1 
n = n - 1 
End While 

If i + 1 > 13 Then 
i = 0 
End If 

Next i 

Also, ich habe 14 Tasten mit einer Zahl X in jedem, wenn ich auf eine Taste klicke, muss er auf 0 zurückgesetzt werden und 1 auf den X-Tasten danach hinzufügen. Aber wenn ich meine Public Sub versuchen, friert meine Anwendung so stelle ich mir vor, dass ich ein Problem darin haben ...

+0

Versuchen Sie, Ihren Code zu debuggen, werfen Sie einen Blick auf "n", scheint es nicht initialisiert zu sein ... – duDE

+0

Wenn ich es debog, wenn ich auf den Button ich testen, gibt es wie eine Endlosschleife, weil meine exe einfriert – Ichiban

+0

Fügen Sie dem Unterpunkt einen Unterbrechungspunkt hinzu und folgen Sie der Codeausführung zeilenweise und kommen Sie zurück zu uns – 5uperdan

Antwort

0

Hier ist Ihr Problem:

If i + 1 > 13 Then 
    i = 0 
End If 

Dies wird immer i auf 0 gesetzt in Ihrem letzten Schleife (i = 13), das ist der Grund für Ihre Endlosschleife.

+0

Ja, ich habe endlich das Problem gefunden, danke! – Ichiban