Stageauswahl in einem Spiel

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Jamagin

Betreff: Stageauswahl in einem Spiel

BeitragMi, Mai 29, 2013 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute!

Ich benötige wieder mal einen Denkansatz zu folgender Situation:

Ich möchte eine Stageauswahl mittels Select Case umsetzen. Als Beispiel habe ich 3 Stages wo in jeder Stage 5 Levels sind. Die Levels sind jetzt Nebensache.
Sobald man eine Stage abgeschlossen hat wird eine Variable gesetzt. Die Stageanwahl mache ich über einen Button der in der Bedingung Select Case ist. Das Problem dabei ist aber, wenn man nun zB. Stage 1 und 2 abgeschlossen hat und ich in der Stageauswahl auf den Button klicke, wird gleich in die letzte Stage gewechselt.
Ich habe jetzt echt ein Brett vorm Kopf.

Code: [AUSKLAPPEN]

Select button
   case button(1)
      if stageauswahl < 3
         stageauswahl = stageauswahl + 1
         Platz für weiteren Code
      endif
End Select


Wer hat hier einen Denkansatz um auch die abgeschlossenen Stages zu berücksichtigen und das diese trotzdem beim weiterklicken angezeigt werden?
Die Variable stageauswahl darf aber nicht weiterzählen, wenn die nächste Stage noch nicht abgeschlossen ist!!! Huuuu, ich häng da jetzt einfach fest...

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

Jamagin

BeitragMi, Mai 29, 2013 15:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Bitte diesen Eintrag löschen! Ich habe es hinbekommen! Danke

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

DAK

BeitragMi, Mai 29, 2013 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann poste doch bitte deine Lösung, damit andre auch was davon haben.
Gewinner der 6. und der 68. BlitzCodeCompo

Jamagin

BeitragMi, Mai 29, 2013 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, hier ein Codeausschnitt!

Code: [AUSKLAPPEN]

Select event$
   Case "MOVEIN"
      Select button
         Case buttons(0, 7)
            Platz für Code...
         Case buttons(0, 35)
            Platz für Code...
         Case buttons(0, 37)
            Platz für Code...
      End Select

   Case "MOVEOUT"
      Select button
         Case buttons(0, 7)
   Platz für Code...
         Case buttons(0, 35)
   Platz für Code...
         Case buttons(0, 37)
   Platz für Code...
      End Select

   Case "CLICK"
      Select button
         Case buttons(0, 7)
   ; Zurück
   Exit

         Case buttons(0, 32)
   ; left
   If stageauswahl > 6
      stageauswahl = stageauswahl - 1
      Select stageauswahl
            Case 6
            If stageabschluss(0, 6)
                           Platz für Code...
                        EndIf

         Case 7
              Platz für Code...

                      Case 8
              If stageabschluss(0, 8)
                              Platz für Code...
                          EndIf
                    End Select
                 EndIf

            Case buttons(0, 33)
               ; nach rechts in stage 7
   If stageauswahl < 7 And stageabschluss(0, 6)
      stageauswahl = stageauswahl + 1
      If stageauswahl = 7
         Platz für Code...
                     If Not stageabschluss(0, 7)
                        Platz für Code...
                     Else
            Platz für Code...
                     EndIf
      EndIf

               ; nach rechts in stage 8
   ElseIf stageauswahl < 8 And stageabschluss(0, 7)
      stageauswahl = stageauswahl + 1
      If stageauswahl = 8
         Platz für Code...
                      If Not stageabschluss(0, 8)
                         Platz für Code...
                      Else
                         Platz für Code...
                      EndIf
                   EndIf

               ; nach rechts in stage 9
   ElseIf stageauswahl < 9 And stageabschluss(0, 8)
      stageauswahl = stageauswahl + 1
      If stageauswahl = 9
         Platz für Code...
         If Not stageabschluss(0, 9)
            Platz für Code...
         Else
            Platz für Code...
         EndIf
      EndIf
   EndIf
      End Select
End Select


lg. Jamagin Smile
Bevor du etwas neues beginnst, erledige das alte

Xeres

Moderator

BeitragMi, Mai 29, 2013 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du damit zurecht kommst, ist es ja gut, aber Felder mit magisches Zahlen sind ein grauseliger Anblick.
Für die und für das event würde ich ints und Konstanten vorschlagen - da lässt sich der Code lesen und Stringvergleiche sind langsamer als alles andere.
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)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group