Seite 1 von 1
Taktische Frage: Spielstatus
Verfasst: 26.06.2006 20:57
von Vermilion
Ich habe mittlerweile ein paar Probleme mit meinem Spiel-programmier-Prinzip, was bisher so aussah:
Code: Alles auswählen
If GameState = Menu
;Zeichenoperationen und Schleifen für eine eventuelle SpriteCollission
EndIf
If GameState = InGame
;Zeichenoperationen und Schleifen für z.B. eine bewegbare Figur ausführen
Gut, ich könnt auch
schreiben, bloß bei mir funktioniert das nich gleich...
Also, is das so schon richtig, völlig falsch oder gibts einfach was besseres, als dieses Prinzip?
Verfasst: 26.06.2006 21:04
von uweb
Funktionieren wird es wohl, aber Du hast eben auf jeden Fall zwei Abfragen.
Besser wäre tatsächlich die zweite Variante und am besten wäre es dabei
die wahrscheinlichste bzw zeitkritischste Abfrage nach vorne zu setzen.
Was genau lief den daran nicht ?
Re: Taktische Frage: Spielstatus
Verfasst: 26.06.2006 21:04
von Kiffi
> bloß bei mir funktioniert das nich gleich...
dann hast Du einen Fehler in Deinen If-EndIf - Abfragen.
Da GameState nur einen Zustand annehmen kann, kann man hierfür
besser die von Dir bereits erwähnten If-ElseIf-EndIf - Abfragen
verwenden.
Eine weitere Möglichkeit: Select - Case - EndSelect
Beispiel:
Code: Alles auswählen
Select GameState
Case Menu
;Zeichenoperationen und Schleifen für eine eventuelle SpriteCollission
Case InGame
;Zeichenoperationen und Schleifen für z.B. eine bewegbare Figur ausführen
Case ...
EndSelect
Ist meiner Meinung nach etwas übersichtlicher.
Aber wie gesagt: Wenn Du Dein bisheriges Kontrukt schon nicht in If-ElseIf
umschreiben kannst, dann hast Du einen momentanen Fehler in Deinem
Code.
Grüße ... Kiffi
Verfasst: 28.06.2006 19:54
von Vermilion
Fehler sind leider immer drin
OK, das mit dem "Case" habe ich vergessen...
Also das mit dem übersichtlicher stimmt auf jeden Fall, wenn ich mal 4 Stunden oder so einen Quelltext* durchgeschrieben habe, dann erst einen Tag (oder mehr) später wieder rangehe, finde ich mich meißtens gar nicht mehr zurecht.
*d.h. Spiele, in denen ich diese konfuse Konstruktion verwende...
