2016-04-06 12 views
0

Hier ist mein Code im Batch. Speichern als Avalanche.bat. Ich bekomme immer den Fehler The system cannot find the batch label specified. Wenn jemand das beheben kann, lass es mich wissen!"Das System kann die angegebene Chargenbezeichnung nicht finden" Fehlermeldung

setlocal enableextensions enabledelayedexpansion 
echo off 
title Avalanche 
for /f "delims=" %%x in (Avalanche.bat) do set color=%%x 
color %color% 
if exist control.txt goto controlsetup 
goto menu 

:menu 
    :: Main menu :: 
    mode con cols=76 lines=12 
     echo. 
     echo .:mmmm:.              .:mmmm:. 
     echo ,mmMMMMmm, . . . . .  . . . .... . . .... ,mmMMMMmm, 
     echo :mMMMMMMm: .: :. :. .: .: :. : .: :. :: : :  : : :  :mMMMMMMm: 
     echo 'mmMMMMmm' :...: :.: :...: : :...: : : : :  :::: :''' 'mmMMMMmm' 
     echo ':mmmm:' : : : : : :::: : : : :: '.... : : :... ':mmmm:' 
     echo. 
     echo         1) PLAY 
     echo         2) HELP 
     echo         3) EXIT 
     echo. 
    choice /c 123 /n >nul 
    if %errorlevel% equ 1 goto setup 
    if %errorlevel% equ 2 goto help 
    if %errorlevel% equ 3 exit 
    goto menu 

:help 
    :: Help menu :: 
    mode con cols=31 lines=12 
    cls 
     echo. 
     echo   Help 
     echo. 
     echo To play Avalanche, simply use 
     echo the A and D keys to move left 
     echo and right, respectively. If 
     echo you are hit by a falling 
     echo boulder, you die and lose the 
     echo game. During the game, press 
     echo Q to quit and P to pause. 
     echo. 
     echo  1) Change Color 
     echo  2) Return to Menu 
     echo. 
    choice /c 12 /n >nul 
    if %errorlevel% equ 1 goto color 
    if %errorlevel% equ 2 goto menu 
    goto help 
:color 
    :: Color changer :: 
    mode con cols=35 lines=17 
    cls 
      echo. 
      echo Type two characters for their 
      echo corresponding colors. The first 
      echo color is the background and the 
      echo second is the text color. The 
      echo two cannot be the same color. 
      echo. 
      echo 0 = Black  8 = Gray 
      echo 1 = Blue  9 = Light Blue 
      echo 2 = Green  A = Light Green 
      echo 3 = Aqua  B = Light Aqua 
      echo 4 = Red   C = Light Red 
      echo 5 = Purple  D = Light Purple 
      echo 6 = Yellow  E = Light Yellow 
      echo 7 = White  F = Bright White 
      echo. 
     set /p "color=Color: " 
    if %errorlevel% equ 1 goto color 
    color !color! 
    echo !color!>>Avalanche.bat 
    goto help 

:controlsetup 
     title Game Controls 
     mode con cols=30 lines=1 
:controlchoice 
     choice /c adqp /n 
     if !errorlevel! equ 1 set "dir=left" 
     if !errorlevel! equ 2 set "dir=right" 
     if !errorlevel! equ 3 set "dir=quit" 
     if !errorlevel! equ 4 set "dir=pause" 
goto controlwrite 
:controlwrite 
     echo !dir!>>control.txt 
     if !dir! equ quit exit 
     goto controlchoice 

:setup 
    set "b=O" 

:play 
    echo stop>>control.txt 
    start Avalanche.bat 
    mode con cols=16 lines=14 

    set "b0y=1000" 
    set "b1y=1000" 
    set "b2y=1000" 
    set "b3y=1000" 
    set "b4y=1000" 
    set "b5y=1000" 
    set "b6y=1000" 
    set "b7y=1000" 
    set "b8y=1000" 
    set "b9y=1000" 
    set "px=5" 


:loop 
(


        :: Resetting the board :: 
        set "0,0= " 
        set "0,1= " 
        set "0,2= " 
        set "0,3= " 
        set "0,4= " 
        set "0,5= " 
        set "0,6= " 
        set "0,7= " 
        set "0,8= " 
        set "0,9= " 
        set "1,0= " 
        set "1,1= " 
        set "1,2= " 
        set "1,3= " 
        set "1,4= " 
        set "1,5= " 
        set "1,6= " 
        set "1,7= " 
        set "1,8= " 
        set "1,9= " 
        set "2,0= " 
        set "2,1= " 
        set "2,2= " 
        set "2,3= " 
        set "2,4= " 
        set "2,5= " 
        set "2,6= " 
        set "2,7= " 
        set "2,8= " 
        set "2,9= " 
        set "3,0= " 
        set "3,1= " 
        set "3,2= " 
        set "3,3= " 
        set "3,4= " 
        set "3,5= " 
        set "3,6= " 
        set "3,7= " 
        set "3,8= " 
        set "3,9= " 
        set "4,0= " 
        set "4,1= " 
        set "4,2= " 
        set "4,3= " 
        set "4,4= " 
        set "4,5= " 
        set "4,6= " 
        set "4,7= " 
        set "4,8= " 
        set "4,9= " 
        set "5,0= " 
        set "5,1= " 
        set "5,2= " 
        set "5,3= " 
        set "5,4= " 
        set "5,5= " 
        set "5,6= " 
        set "5,7= " 
        set "5,8= " 
        set "5,9= " 
        set "6,0= " 
        set "6,1= " 
        set "6,2= " 
        set "6,3= " 
        set "6,4= " 
        set "6,5= " 
        set "6,6= " 
        set "6,7= " 
        set "6,8= " 
        set "6,9= " 
        set "7,0= " 
        set "7,1= " 
        set "7,2= " 
        set "7,3= " 
        set "7,4= " 
        set "7,5= " 
        set "7,6= " 
        set "7,7= " 
        set "7,8= " 
        set "7,9= " 
        set "8,0= " 
        set "8,1= " 
        set "8,2= " 
        set "8,3= " 
        set "8,4= " 
        set "8,5= " 
        set "8,6= " 
        set "8,7= " 
        set "8,8= " 
        set "8,9= " 
        set "9,0= " 
        set "9,1= " 
        set "9,2= " 
        set "9,3= " 
        set "9,4= " 
        set "9,5= " 
        set "9,6= " 
        set "9,7= " 
        set "9,8= " 
        set "9,9= " 


       :: Set player and boulders :: 
       set "!px!,[email protected]" 

       if !b0y! lss 0 set "b0y=1000" 
       if !b1y! lss 0 set "b1y=1000" 
       if !b2y! lss 0 set "b2y=1000" 
       if !b3y! lss 0 set "b3y=1000" 
       if !b4y! lss 0 set "b4y=1000" 
       if !b5y! lss 0 set "b5y=1000" 
       if !b6y! lss 0 set "b6y=1000" 
       if !b7y! lss 0 set "b7y=1000" 
       if !b8y! lss 0 set "b8y=1000" 
       if !b9y! lss 0 set "b9y=1000" 

       if !b0y! leq 9 if !b0y! geq 0 set /a "b0y=!b0y!-1" 
       set "0,!b0y!=!b!" 
       if !b1y! leq 9 if !b1y! geq 0 set /a "b1y=!b1y!-1" 
       set "1,!b1y!=!b!" 
       if !b2y! leq 9 if !b2y! geq 0 set /a "b2y=!b2y!-1" 
       set "2,!b2y!=!b!" 
       if !b3y! leq 9 if !b3y! geq 0 set /a "b3y=!b3y!-1" 
       set "3,!b3y!=!b!" 
       if !b4y! leq 9 if !b4y! geq 0 set /a "b4y=!b4y!-1" 
       set "4,!b4y!=!b!" 
       if !b5y! leq 9 if !b5y! geq 0 set /a "b5y=!b5y!-1" 
       set "5,!b5y!=!b!" 
       if !b6y! leq 9 if !b6y! geq 0 set /a "b6y=!b6y!-1" 
       set "6,!b6y!=!b!" 
       if !b7y! leq 9 if !b7y! geq 0 set /a "b7y=!b7y!-1" 
       set "7,!b7y!=!b!" 
       if !b8y! leq 9 if !b8y! geq 0 set /a "b8y=!b8y!-1" 
       set "8,!b8y!=!b!" 
       if !b9y! leq 9 if !b9y! geq 0 set /a "b9y=!b9y!-1" 
       set "9,!b9y!=!b!" 


      :: The board :: 
      cls 
      echo. 
      echo ############ 
      echo #!0,9!!1,9!!2,9!!3,9!!4,9!!5,9!!6,9!!7,9!!8,9!!9,9!# 
      echo #!0,8!!1,8!!2,8!!3,8!!4,8!!5,8!!6,8!!7,8!!8,8!!9,8!# 
      echo #!0,7!!1,7!!2,7!!3,7!!4,7!!5,7!!6,7!!7,7!!8,7!!9,7!# 
      echo #!0,6!!1,6!!2,6!!3,6!!4,6!!5,6!!6,6!!7,6!!8,6!!9,6!# 
      echo #!0,5!!1,5!!2,5!!3,5!!4,5!!5,5!!6,5!!7,5!!8,5!!9,5!# 
      echo #!0,4!!1,4!!2,4!!3,4!!4,4!!5,4!!6,4!!7,4!!8,4!!9,4!# 
      echo #!0,3!!1,3!!2,3!!3,3!!4,3!!5,3!!6,3!!7,3!!8,3!!9,3!# 
      echo #!0,2!!1,2!!2,2!!3,2!!4,2!!5,2!!6,2!!7,2!!8,2!!9,2!# 
      echo #!0,1!!1,1!!2,1!!3,1!!4,1!!5,1!!6,1!!7,1!!8,1!!9,1!# 
      echo #!0,0!!1,0!!2,0!!3,0!!4,0!!5,0!!6,0!!7,0!!8,0!!9,0!# 
      echo ############ 


     ::Checking for player input :: 
:getinput 
     for /f "delims=" %%x in (control.txt) do set dir=%%x 
:checkinput 
     if %dir% equ left set "px=!px!-1" 
     if %dir% equ right set "px=!px!+1" 
     if %dir% equ pause goto pause 
     if %dir% equ quit goto end 

     echo stop>>control.txt 


     :: Choosing Boulder placement 
:chooseboulder1 
     set /a "num=%random%*10/32768" 
     if !b0y! leq 9 goto chooseboulder2 
     if !b1y! leq 9 goto chooseboulder2 
     if !b2y! leq 9 goto chooseboulder2 
     if !b3y! leq 9 goto chooseboulder2 
     if !b4y! leq 9 goto chooseboulder2 
     if !b5y! leq 9 goto chooseboulder2 
     if !b6y! leq 9 goto chooseboulder2 
     if !b7y! leq 9 goto chooseboulder2 
     if !b8y! leq 9 goto chooseboulder2 
     if !b9y! leq 9 goto chooseboulder2 
:chooseboulder2 
     if !num! equ 0 goto chooseboulder 
     if !num! equ 1 goto chooseboulder 
     if !num! equ 2 goto chooseboulder 
     if !num! equ 3 goto chooseboulder 
     if !num! equ 4 goto chooseboulder 
     if !num! equ 5 goto chooseboulder 
     if !num! equ 6 goto chooseboulder 
     if !num! equ 7 goto chooseboulder 
     if !num! equ 8 goto chooseboulder 
     if !num! equ 9 goto chooseboulder 
     set "b!num!y=9" 

    :: Delaying the game 0.5 seconds to make it easier to play :: 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
    ping localhost -n 1 >nul 
) 
goto loop 


:pause 
for /f "delims=" %%x in (control.txt) do set pause=%%x 
if %pause% equ left goto checkinput 
if %pause% equ right goto checkinput 
if %pause% equ pause goto checkinput 
if %pause% equ quit goto end 

:end 
del control.txt 
mode con cols=15 lines=4 
cls 
echo GAME OVER 
echo  1) Menu 
echo  2) Exit 
choice /c 12 /n >nul 
if %errorlevel% equ 1 goto menu 
if %errorlevel% equ 2 exit 

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: The following line(s) are color settings. Do not delete them. :: 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
0f 

Dieses Problem hält mich davon ab, diesen Code für jedermann im Internet zu veröffentlichen, um zu genießen. Wenn ich eine Lösung bekomme, wird die Person, die geholfen hat, ihren Namen in die Liste der Entwickler aufnehmen, zusammen mit einem Link zu ihrem Stackoverflow-Profil.

Antwort

2

bei der Entscheidung für Boulder Platzierung Sie :chooseboulder1 und :chooseboulder2 Etiketten haben, aber nach einigen Zeilen springen Sie zu einem nicht vorhandenen Label

:chooseboulder2 
     if !num! equ 0 goto chooseboulder 

:chooseboulder2 
     if !num! equ 0 goto chooseboulder1 
+0

Sie sollten danken, das genau war, was ich war auf der Suche nach! Ich kann nicht glauben, dass ich so einen dummen Fehler gemacht habe :) –

Verwandte Themen