Frage von Tindox, 45

Wieso funktioniert dieser Script nicht habe Fehler gesucht aber nichts gefunden oder bin ich einfach nur zu blöd für Batch. es schließt sich sofort?

@echo off color f cls pause :Start

echo Du gehst in eine Alte verlassene Höhle, dort findest du zwei Abtrenungen. echo Es gibt 2 Pfäde einmal [Rechts] und einmal [Links]. echo Schreibe [Rechts] oder [Links] set p/ =x

if %x%==Rechts goto Rechts if %x%==Links goto Links

:Rechts

color f cls echo DU gehst in die rechte abzweigung und findest ein Seil mit einem Greifhaken das du über den Lava See schwingen kannst um rüber zu gelangen. echo Weiter machen oder abbrechen? echo Schreibe um weiter zu spielen [Next] echo Schreibe um abbzubrechen [Stop] set /p =x

if %x%==Next goto Next if %x%==Stop goto Stop

:Stop

color f cls echo Bist du sicher ? echo [Ja] oder [Nein]? set /p =x

if %x%==Ja goto Menu if %x%==Nein goto Rechts

:Menu

color 4 cls Echo-------------------------- Echo-------------Menu--------- echo--[Start]---------[Exit]-- echo TIPP:Alles was in Klammer steht kann man Schreiben! set /p =x

if %x%==Start goto Start if %x%==Exit goto Exit

:Links

color f cls echo In Arbeit echo [Menu] ? <----- set /p =x

if %x%==Menu goto Menu

:Exit

pause STOP

Hier sieht es komplet falsch aus aber vlt. könnt ihr ja mir trotzdem helfen ? :)

Antwort
von mondai, 10

Hallo!

Ich habe es mal so grob zusammengeschoben und es sind da schon ein paar Dinge, die deinen Fehler auslösen können. Diese Version funktioniert jetzt auch soweit.

@echo off
color f
cls
REM pause

:Start
::ToDo: Von Links>Menu und Stop>Ja aus kann hier noch der Bildschirm bereinigt werden.
echo Du gehst in eine alte verlassene Höhle, dort findest du zwei Abtrennungen.
echo Es gibt 2 Pfade, einmal [Rechts] und einmal [Links].
echo Schreibe [Rechts] oder [Links]
REM set p/ =x
set /p x=

if %x%==Rechts goto Rechts
if %x%==Links goto Links

:Rechts
color f
cls
echo DU gehst in die rechte abzweigung und findest ein Seil mit einem Greifhaken das du über den Lava See schwingen kannst, um rüber zu gelangen.
echo Weiter machen oder abbrechen?
echo Schreibe um weiter zu spielen [Next]
echo Schreibe um abbzubrechen [Stop]
REM set /p =x
set /p x=

:: ToDo:Next ist noch nicht Implementiert!
if %x%==Next goto Next
if %x%==Stop goto Stop

:Stop
color f
cls
echo Bist du sicher ?
echo [Ja] oder [Nein]?
REM set /p =x
set /p x=

if %x%==Ja goto Menu if %x%==Nein goto Rechts

:Menu
color 4
cls
REM 'Echo-' ist nicht korrekt. Leerzeichen nicht vergessen.
Echo --------------------------
Echo -------------Menu---------
echo --[Start]---------[Exit]--
echo TIPP:Alles was in Klammer steht kann man Schreiben!
REM set /p =x
set /p x=

if %x%==Start goto Start
if %x%==Exit goto Exit

:Links
color f
cls
echo In Arbeit
REM echo [Menu] ? <----- :: '<' sollte vermieden werden, aber durch '^' können auch reservierte Zeichen benutzt werden.
echo [Menu] ? ^<-----
REM set /p =x
set /p x=

if %x%==Menu goto Menu

:Exit
REM pause STOP :: STOP ist nicht notwendig, da es nach Pause ignoriert wird.
pause

- Das Erste Pause würde ich raus nehmen. Denn auf einen leeren Bildschim
  muss nicht unbedingt gewartet werden.
- REM zeigt deine Schreibweise und darunter habe ich meine Variante
  geschrieben.
- ': :'  Ist nur eine Zusatznotiz von mir.

Viel Erfolg beim Weiterbasteln. ;)

PS: Du kann auch 'Codebeispiel einfügen' benutzen. ;p




Kommentar von Tindox ,

Danke, hast mir echt geholfen

Kommentar von MarkusGenervt ,

Noch drei kleine Tipps:

Wenn Du die erste Zeile in "@echo on" änderst, werden Dir alle Schritte und dazugehörigen Ausgaben detailliert angezeigt.

Wenn Du die Batch dann auch noch von der Befehlszeile aus startest und nicht aus dem Explorer, dann schließt sich die Console nicht gleich nach dem Beenden des Skripts. So kannst Du dann noch nachlesen, was die letzte Fehlerausgabe war.

Wenn die detaillierte Bildschirm-Ausgabe sehr lang wird, kannst Du am Ende nicht mehr lesen, was am Anfang stand.
Es gibt da einen sog. Zeilen-Puffer. Den kannst Du über den Kontext-Menü-Punkt "Eigenschaften" erhöhen.
Hier kannst Du auch die sonstige Metrik des Fensters dauerhaft einstellen.

Antwort
von XXFUN4XX, 28

Kannst du keinen Screenshot hochladen? so ist es echt schwer etwas zu verstehen. 

Kommentar von Tindox ,

oK mach ich

Kommentar von Ifm001 ,

Wovon soll der OP eine Bildschirmkopie einstellen? Bei einer textbasierten Ausgabe ist dieses Format aber eh recht seltsam.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten