Hallo, ich bin ganz neu hier. Sieht ja auf den ersten Blick echt gut hier aus. Also mein Problem:
Ich schau mir seit 2 Wochen ein bisschen VBA an und kam nun auf die glorreiche Idee ein kleines Spiel zu programmieren. Es ist ein 2 Spieler Tennis.
Ich bin soweit echt zufrieden, allerdings gibt es eine Sache die ich einfach nicht gelöst bekomme. Ich habe folgende Prozedur:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | Public Sub Programm()
Dim Neustart
If Spiel_läuft = False And Aktuelle_Spalte = "0" Then
Start
Startpunkt_festlegen
Steuerung
ElseIf Spiel_läuft = False And Aktuelle_Spalte <> "0" Then
MsgBox "Game Over"
Neustart = MsgBox( "Soll ein neues Spiel gestartet werden?" , vbYesNo)
If Neustart = "6" Then
Aktuelle_Spalte = "0"
Programm
End If
Exit Sub
Else
If Aktuelle_Spalte = "3" Or Aktuelle_Spalte = "91" Then
Balken_getroffen
ElseIf Aktuelle_Reihe = "3" Or Aktuelle_Reihe = "32" Then
Rand_getroffen
Else
Weiterlaufen
End If
Range( "C3:CM32" ).ClearContents
Cells(Aktuelle_Reihe, Aktuelle_Spalte).Value = "2"
Cells(Alte_Reihe, Alte_Spalte).Value = "1"
End If
Steuerung
End Sub
|
Und von hier aus geht es dann hierher
1 2 3 4 5 6 7 8 9 10 11 12 | Public Sub Steuerung()
Application.OnKey "{TAB}" , "Balken_hoch_S1"
Application.OnKey "{CAPSLOCK}" , "Balken_runter_S1"
Application.OnKey "{UP}" , "Balken_hoch_S2"
Application.OnKey "{DOWN}" , "Balken_runter_S2"
Application.OnTime Now + TimeValue( "00:00:01" ), "Programm"
End Sub
|
So jetzt zu meinem Problem. Ich habe es mit OnTime geschafft, dass die Neuberechnung des Spielballs jede Sekunde abläuft. Ich empfinde das allerdings als zu langsam und würde gerne in halben Sekunden Abschnitten die Berechnung durchführen. OnTime funktioniert ja leider nur in Sekunden-Abschnitten. Ein wichtiges Detail is noch, dass man auf das Arbeitsblatt zugreifen können muss, da ich ansonsten nicht die Balken ansteuern kann. Folgendes habe ich schon ausprobiert:
Eine For Schleife um doppelte Berechnung durchzuführen. = Geht und läuft schneller aber natürlich nicht so flüssig
Sleep Funktion über Declare eingefügt. = Mein Excel hängt sich auf und stürzt ab. Egal mit welchen Zeitintervallen.
Ich bin ehrlich gesagt ratlos und wende mich deswegen jetzt mal an ein aktuellen und aktives Forum. Ich freue mich über jede Hilfe und Antwort. Danke schonmal im Vorraus.
|