Wie und Wohin?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Abenteurer036

Betreff: Wie und Wohin?

BeitragDo, Mai 26, 2011 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,
ich programmiere derzeit mehrere kleinere Programme und hatte bisher mit der struktur keine weiteren Probleme. Doch jetzt stoße ich bei einem etwas größerem Programm auf Fragen die ich mir nicht beantworten kann. Wie macht man das mit den Levels bzw. verschiedene Spielbereiche?

zB. Ich habe ein Hauptmenü, ein Intro und mehrere kleine Level, wo werden diese geschrieben? Geht das mit Funktionen oder kann man alles in die Hauptschleife packen und wenn ja wie?

Ich hoffe ihr wisst was ich meine Confused
MfG Abenteurer036
New Project [4%]
Schinken Maker [100%]

skey-z

BeitragDo, Mai 26, 2011 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst alles in die Hauptschleife packen, aber das wird, je größer das Projekt, immer unübersichtlicher.

Es reicht auch, in der Hauptschleife nur einen Select Block zu haben, der je nach Status auf eine Funktion zugreift, die ein "Unterprogramm" erhält.

Dazu hat Suco-X mal ein schönes Tutorials geschrieben, seit dem mache ich es nicht mehr anders, außer bei kleinen Spielereien.

https://www.blitzforum.de/foru...highlight=
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Abenteurer036

BeitragDo, Mai 26, 2011 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah cool Danke,
werds mir mal durchlesen. Falls Schwierigkeiten auftreten werd ich mich nochmal melden. Very Happy
New Project [4%]
Schinken Maker [100%]

panky

BeitragMi, Jun 01, 2011 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich mach es so, dass ich eine Variable habe, die den aktuellen Modus wiederspiegelt. Zum Beispiel:
Code: [AUSKLAPPEN]
modus$ = "hauptmenu"

Die Hauptschleife überprüft die Variable und leitet einen dann zur "Function hauptmenu" weiter. Dieser Vorgang lässt sich natürlich auf viele andere "Spielbereiche" erweitern.

Ich hoffe du hast verstanden, was ich meine... Smile

ToeB

BeitragDo, Jun 02, 2011 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
@panky :
1. Stand das schon oben geschrieben
2. Macht es keinen Sinn das ganze in einen String zu schreiben, Zahlen nehmen weniger speicherplatz weg, sind übersichtlicher und es gibt so gut wie keinen Platz für Fehler.

Deswegen vorallem bei solchen dingen, wo es nur um Zustands-Beschreibungen geht auf Strings verzichten und lieber Zahlen nehmen (Und zwar auch Ganze zahlen (% - Integer), keine Floats)

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Xeres

Moderator

BeitragDo, Jun 02, 2011 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Du meinst Constanten, ToeB? Einfach zu lesen wie Strings und verhindern Fehlerhafte Zuweisungen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Midimaster

BeitragDo, Jun 02, 2011 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
also, dann geb ich jetzt auch noch meinen Mist dazu...

Hier ist ein Tutorial, dass sich genau mit dieser Frage "Level-Spiele" beschäftigt:

https://www.blitzforum.de/foru...hp?t=33584


Thema: Konstanten

...und wegen der geringeren Fehlertoleranz ist es tatsächlich am klügsten möglichst mit Konstanten statt mit Zahlen oder Strings zu arbeiten.

BlitzBasic: [AUSKLAPPEN]
Const INTRO_MODE%=0 , MENU_MODE%=1 , LEVEL_WALD%=3 , .....
Global AktSpielMode%

Select AktSpielMode
Case INTRO_MODE
ShowIntro
Case MENU_MODE
ShowMenu
Case LEVEL_WALD
ShowWaldSzene
End Select


Man kann dann im Spiel immer wieder auf diese Konstanten Bezug nehmen und das ganze bleibt auch nach Jahren noch Lesbar:

BlitzBasic: [AUSKLAPPEN]
Function GeldSegen()
If SpielMode>LEVEL_WALD
SpielerGeld = SpielerGeld + 2*GELD_MENGE
EndIf
End Function


Ich hab mir das inzwischen so sehr angewöhnt, das ich auch z.b. eigene Buttons immer mit Konstanten malen lasse. Wenn dann mal eine Designänderung kommt, brauche ich nicht den ganzen Code nach betroffenen Stellen absuchen.

also statt...
BlitzBasic: [AUSKLAPPEN]
For i%=1 To 10
Rect 100+i*60 , 50 , 55 , 30
Next



so was:
also statt...
BlitzBasic: [AUSKLAPPEN]
For i%=1 To BUTTON_ZAHL
Rect OFF_X+i*BREIT , OFF_Y , BREIT-5 , HOCH
Next

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group