Goto Probleme
Übersicht

Usp93Betreff: Goto Probleme |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Moin zusammen, bin neu hier und habe Probleme mit Goto:
Ich wollte ein kleines Raumadventure erstellen, wo in jedem Raum ein rundenbasierender Kampf im FinalFantasy Stil auf einen wartet. Das Problem:Damit der Game Over Bildschirm erscheint und 2 sek. später das Programm endet sobald man stirbt wollte ich mit Goto direkt vor Ende springen. Leider sagt mein Compiler wie ichs auch anstelle entweder Expecting Identifier oder undefined label obwohl mein Punkt sogar bei den Labels angezeigt wird. Ich habe in der "kampffunction" dies hier eingebaut: Repeat attacke ;Spieler greift an If gegnerhp>0 Then gegnerattacke ;Falls der Gegner noch lebt, greift er an EndIf If hp<1 Then Cls write"Game Over!!!";Falls man selber tot ist erscheint Game Over und Goto ende das Programm springt an den Marker "ende" EndIf Until gegnerhp<1 Den Marker ende habe ich im Hauptprogramm wie folgt definiert: .... .... .... .ende End Aus irgendeinem Grund sagt er undefined label!? Danke für Hilfe:D USP93 |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Goto ist böse und sollte vermieden werden.
Versuche den Code ohne Goto aufzubauen. |
||
Usp93 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BtbN hat Folgendes geschrieben: Goto ist böse und sollte vermieden werden.
Versuche den Code ohne Goto aufzubauen. ...ja ich weiß, aber ich frag mich wie zum Henker ich das anstellen soll:D Gibt es noch eine Möglichkeit iwie von einem Punkt in einer Funktion das Programm zu beenden?? |
||
![]() |
Blackside |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstelle eine Function die z.B. Ende heißt und füre sie aus wenn hp < 0 ist anstatt mit Goto.
In die Function schreibst du dann End... Also: If hp < 0 then Ende() ... Function Ende() end end function |
||
- Zuletzt bearbeitet von Blackside am Mo, Apr 28, 2008 19:59, insgesamt einmal bearbeitet
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
End![]() |
||
Usp93 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Blackside hat Folgendes geschrieben: Erstelle eine Function die z.B. Ende heißt und füre sie aus wenn hp < 0 ist anstatt mit Goto.
In die Function schreibst du dann End... Also: If hp < 0 then Ende() ... Function Ende() end end function Yo, danke!!! LG USP |
||
![]() |
prolapper |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach halt einfach (is noch einfacher, als funktion erstellen)
Code: [AUSKLAPPEN] Repeat
... Until Keyhit(1) Or hp < 0 End |
||
P.S: ICH SUCHE NOCH EINEN GRAFIKER UND EINEN PROGRAMMIERER FÜR EIN RPG
E-Mail: prolapper@gmx.net |
![]() |
ShadowJumper |
![]() Antworten mit Zitat ![]() |
---|---|---|
auf die eigentliche Frage wurde noch nicht so eingegangen, was aber wegen nem anderm Post oben net nötig wär^^ (der, der erklärt, wies anders geht)
trozdem ma ne vermutung von mir: Goto ende das Programm springt an den Marker "ende" müsste Goto ende ;das Programm springt an den Marker "ende" heißen oder es ist nicht möglich von einer Funktion herraus zu springen (bin mir nicht sicher, kann mich irren) |
||
Bilder kostenlos hosten
lest und weint: RAM - 512 MB; GrafikRAM - 32 MB; CPU - 800 MHz Ps: ... und weint (vor lachen) |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nun, goto fragen werden auch nicht beantwortet, da goto für was anderes als um ein multi-loop exit / continue zu machen nicht akzeptabel ist und im beginner corner schon garnicht. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Usp93Betreff: THX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey, ihr seid ja n aktives Forum, danke für die zahlreichen und vielen Antworten, für mich als einfachste Alternative um mitten aus einer Funktion herauszuspringen hat sich die "ende Funktion" erwiesen, wusste gar net dass das so einfach geht das man einfach mittendrin end schreiben kann, habsh auch scho probiert mein programm läuft jetzt!
Und die Vermutung das goto net aus ner Funktion springt ist nach meinen Recherchen richtig:D Also Danke an das Blitzforum! USP |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
das liegt übrigens an dem Frature BlitzBasics folgendes zu machen:
Code: [AUSKLAPPEN] Function A()
.Hans ..... Goto hans End Function Function B() .Hans ..... Goto hans End Function In jeder Schleife führt ein goto hans zum richtigen hans.... Nochetwas unlogisches wieso es nicht gehen kann: Code: [AUSKLAPPEN] Function A()
Local v=4 Local g=1 ..... Goto hans End Function Function B(v=1,z=5) .Hans Print v Print g Print z End Function So wie soll ein programm das interpretieren? Variable g wurde in B noch kein wert zugewiese aber in A...z exestiert in a nicht aber in b welche zahl soll jetzt genommen werden? 0 oder 5 v widerspricht sich auch.... Wirklich sinnvoll ist goto wie dreamora schon sagte nur bei sowas: Code: [AUSKLAPPEN] For x=1 to 10
for y= 1 to 10 if map (x,y)=1 Print "gefunden!" Goto multi_exit endif next next .multi_exit |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group