Snake unterbrechen?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Watte

Betreff: Snake unterbrechen?

BeitragDo, Dez 06, 2007 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Ich wollte für ein Snake-Spiel eine Musikauswahl anlegen... Klappt auch alles ganz gut, also bevor das Snake-Programm startet, fragt er ab welches Lied man den hören will und spielt dieses dann auch ab.

Aber, wie bekomm ich es hin, das Snake-Prgramm zu "pausieren" (Durch Tastendruck, z.B. "P"), eine weitere If-Konstruktion ein zubauen (welches Lied man als nächstes hören will), und dann weiter laufen zu lassen?

mfg
Watte
 

Ziggy

Betreff: Pause-Funktion

BeitragDo, Dez 06, 2007 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiss nicht ob es eine vernünftige Lösung ist, aber ich habe das so realisiert:

Erst mal habe ich mehrere Spiel-Zustände (gamemode)

Wenn dieser Wechselt dann werden verschiedene Funktionen aufgerufen:

Code: [AUSKLAPPEN]

If gamemode = 0 Then menu()
If gamemode = 1 Then startgame()
If gamemode = 2 Then options()
If gamemode = 3 Then Exit
If gamemode = 4 Then pause()


Wenn ich jetzt im Spiel die Taste [P] drücke wechselt der Spiel-zustand auf 4, und die Funktion Pause wird ausgerufen.

Code: [AUSKLAPPEN]

If KeyHit(25) Then gamemode = 4


Jetzt kannst du mit der Funktion pause() machen was du willst, wenn du wieder zum Spiel zurück willst fragst du die selbe oder eine andere Taste ab und wechselst den gamemode wieder auf 1 zurück. Das Spiel wird in der Zeit angehalten.
"Es gibt 10 Arten von Menschen: Diejenigen die Binär verstehen, und jene die es nicht verstehen."

"Irren ist menschlich, gut dass ich ein Gott bin... xD"

letzte Informatik-Note : 1 ... 96% richtig, Thema: C++ switch/case

DerHase

BeitragDo, Dez 06, 2007 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde diesen Gamemode Teil mit select case machen, anstatt mit if. Case imho ist übersichtlicher und man hat weniger Schreibarbeit.
Code: [AUSKLAPPEN]

Select gamestatus
   Case 1
      menu()
   Case 2
      spiel()
   Case 3
      dies()
   Case 4
      unddas()
End Select


Die Spielfunktion mit der Pause könntest Du so gestalten:

Code: [AUSKLAPPEN]

Function spiel()
   
   If Not pause Then
      Steuerungabfrage()
      Spielerbewegen()
   Else
      Text 100,100,"PAUSE"
      Musikauswahl()
   End
   
   Spielfeldzeichnen()
   
End Function


Wenn die Bedingung Pause nicht erfüllt ist kann man Steuern und die Schlange wird bewegt. Bei einer Pause wird dies deaktiviert, dafür wird "PAUSE" angezeigt und die Musikauswahl aufgerufen. Das Spielfeld wird immer gezeichnet und die Spielerposition und all das muss nicht zwischengespeichert werden.
Play Satyr!
 

Watte

BeitragDo, Dez 06, 2007 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke erstmal. Ich probiers mal aus

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group