Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- @title PingPong v 1
- @mode con cols=28 lines=24
- @::Juego Batch PingPong
- @::Another Batch Game
- @::by ::SmartGenius ::
- if not exist "choice.com" (Goto :NoKey)
- :load
- call :Logo
- setlocal enabledelayedexpansion
- set LimX=18
- set LimY=16
- set TBound=3
- set LBound=1
- set /a RBound=%LimX%-1
- set /a BBound=%LimY%-3
- set NLevels=1
- :init
- for /l %%a in (0,1,%LimX%) do (
- for /l %%b in (0,1,%LimY%) do (
- set X%%aY%%b= ))
- set Ball=O
- set Bound=Û
- set Block=
- set Line=Û
- set Lost=ù
- :Levels
- set /a L+=1
- Call :Level%L%
- Call :Graphic
- set P%L%=%Movs%
- if "%LOS%"=="True" Goto :Lost
- if "%NXL%"=="True" Goto :End
- if "%L%"=="%NLevels%" Goto :Win
- ping -n 1 0.0.0.0 >nul
- Goto :Init
- :Graphic
- Call :Clear
- cls
- for /l %%d in (0,1,%LimY%) do (
- for /l %%e in (0,1,%LimX%) do (
- set Lin_%%d=!Lin_%%d!!X%%eY%%d!))
- echo.
- echo. PingPong v 1 by Smart
- echo.
- echo. PC:%PPC% Player:%Points%
- echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
- for /l %%f in (0,1,%LimY%) do (echo. º!Lin_%%f!º)
- echo. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
- rem pause >nul
- call :%Action%
- if "%PPC%"=="10" (Set LOS=True&set NXL=True)
- if "%NXL%"=="True" (Goto :Eof)
- Goto :Graphic
- :Paused
- CHOICE /C:WADX /N >nul
- if "%errorlevel%"=="1" (set Action=Playing)
- if "%errorlevel%"=="2" (call :LeftA)
- if "%errorlevel%"=="3" (call :RightA)
- if "%errorlevel%"=="4" (set NXL=True)
- Call :MovPC "%CurPos%"
- Goto :Eof
- :Playing
- CHOICE /C:WADX /N /T:W,1 >nul
- if "%errorlevel%"=="1" (set Action=Playing)
- if "%errorlevel%"=="2" (call :LeftB)
- if "%errorlevel%"=="3" (call :RightB)
- if "%errorlevel%"=="4" (set NXL=True)
- Call :MovBall
- Call :MovPC "%CurPos%"
- Goto :Eof
- ::Logica de Movimiento en el Plano
- ::Coded by :: SmartGenius ::
- :RightA
- if ["%Table%"]==["%MaxTable%"] (Goto :Eof)
- for /f "tokens=1,5 delims=," %%u in ("%Table%") do (
- call :MovAX+ "%%u" "%%v" TB "!%%u!"
- call set NewTable=!TB!,%Table%
- for /f "tokens=1-5 delims=," %%t in ("!NewTable!") do (set NewTable=%%t,%%u,%%v,%%w,%%x)
- set Table=!NewTable!
- call :MovAX+ "%CurPos%" "%CurPos%" CurPos "!%CurPos%!"
- )
- Goto :Eof
- :MovAX+
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p+1
- call set NMovX=%%X!MovX!Y%%q%%
- if "!NMovX!"=="%Bound%" (Goto :Eof)
- if "!NMovX!"==" " (
- set %~2=
- set X!MovX!Y%%q=%~4
- set %3=X!MovX!Y%%q))
- Goto :Eof
- :RightB
- if ["%Table%"]==["%MaxTable%"] (Goto :Eof)
- for /f "tokens=1,5 delims=," %%u in ("%Table%") do (
- call :MovAX+ "%%u" "%%v" TB "!%%u!"
- call set NewTable=!TB!,%Table%
- for /f "tokens=1-5 delims=," %%t in ("!NewTable!") do (set NewTable=%%t,%%u,%%v,%%w,%%x)
- set Table=!NewTable!)
- Goto :Eof
- :LeftA
- if ["%Table%"]==["%MinTable%"] (Goto :Eof)
- for /f "tokens=1,5 delims=," %%u in ("%Table%") do (
- call :MovAX- "%%v" "%%u" TB "!%%v!"
- call set NewTable=%Table%,!TB!
- for /f "tokens=2-6 delims=," %%t in ("!NewTable!") do (set NewTable=%%t,%%u,%%v,%%w,%%x)
- set Table=!NewTable!
- call :MovAX- "%CurPos%" "%CurPos%" CurPos "!%CurPos%!"
- )
- Goto :Eof
- :LeftB
- if ["%Table%"]==["%MinTable%"] (Goto :Eof)
- for /f "tokens=1,5 delims=," %%u in ("%Table%") do (
- call :MovAX- "%%v" "%%u" TB "!%%v!"
- call set NewTable=%Table%,!TB!
- for /f "tokens=2-6 delims=," %%t in ("!NewTable!") do (set NewTable=%%t,%%u,%%v,%%w,%%x)
- set Table=!NewTable!)
- Goto :Eof
- :MovAX-
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p-1
- call set NMovX=%%X!MovX!Y%%q%%
- if "!NMovX!"=="%Bound%" (Goto :Eof)
- if "!NMovX!"==" " (
- set %~2=
- set X!MovX!Y%%q=%~4
- set %3=X!MovX!Y%%q))
- Goto :Eof
- :MovPC
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- for /l %%x in (%LBound%,1,%RBound%) do (set X%%xY2= )
- set /a PCL=%%p-2
- set /a PCR=%%p+2
- for /l %%s in (!PCL!,1,!PCR!) do (set X%%sY2=%Bound%))
- Goto :Eof
- :MovBall
- set EOM=False
- Call :%NextMov% "%CurPos%"
- if "%EOM%"=="True" Goto :Eof
- Goto :MovBall
- ::Moviemtos Diagonales de la Bola
- ::Movimiento Diagonal1
- :Diag1
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p+1
- set /a MovY=%%q+1
- call set NMovXY=%%X!MovX!Y!MovY!%%
- if "!NMovXY!"=="%Bound%" (
- if "%%q"=="%BBound%" (set NextMov=Diag3)
- if "%%p"=="%RBound%" (set NextMov=Diag4)
- Goto :Eof)
- if "!NMovXY!"==" " (
- set %~1=
- set X!MovX!Y!MovY!=%Ball%
- set CurPos=X!MovX!Y!MovY!
- set EOM=True)
- )
- if "!NMovXY!"=="%Lost%" (
- set %~1=
- set /a PPC+=1
- call :Reset
- set EOM=True)
- )
- Goto :Eof
- ::Movimiento Diagonal2
- :Diag2
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p-1
- set /a MovY=%%q-1
- call set NMovXY=%%X!MovX!Y!MovY!%%
- if "!NMovXY!"=="%Bound%" (
- if "%%q"=="%TBound%" (set NextMov=Diag4)
- if "%%p"=="%LBound%" (set NextMov=Diag3)
- Goto :Eof)
- if "!NMovXY!"==" " (
- set %~1=
- set X!MovX!Y!MovY!=%Ball%
- set CurPos=X!MovX!Y!MovY!
- set EOM=True)
- )
- if "!NMovXY!"=="%Lost%" (
- set %~1=
- set /a Points+=1
- call :Reset
- set EOM=True)
- )
- Goto :Eof
- ::Movimiento Diagonal3
- :Diag3
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p+1
- set /a MovY=%%q-1
- call set NMovXY=%%X!MovX!Y!MovY!%%
- if "!NMovXY!"=="%Bound%" (
- if "%%q"=="%TBound%" (set NextMov=Diag1)
- if "%%p"=="%RBound%" (set NextMov=Diag2)
- Goto :Eof)
- if "!NMovXY!"==" " (
- set %~1=
- set X!MovX!Y!MovY!=%Ball%
- set CurPos=X!MovX!Y!MovY!
- set EOM=True)
- )
- if "!NMovXY!"=="%Lost%" (
- set %~1=
- set /a Points+=1
- call :Reset
- set EOM=True)
- )
- Goto :Eof
- ::Movimiento Diagonal4
- :Diag4
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p-1
- set /a MovY=%%q+1
- call set NMovXY=%%X!MovX!Y!MovY!%%
- if "!NMovXY!"=="%Bound%" (
- if "%%q"=="%BBound%" (set NextMov=Diag2)
- if "%%p"=="%LBound%" (set NextMov=Diag1)
- Goto :Eof)
- if "!NMovXY!"==" " (
- set %~1=
- set X!MovX!Y!MovY!=%Ball%
- set CurPos=X!MovX!Y!MovY!
- set EOM=True)
- )
- if "!NMovXY!"=="%Lost%" (
- set %~1=
- set /a PPC+=1
- call :Reset
- set EOM=True)
- )
- Goto :Eof
- :Clear
- for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
- Goto :Eof
- :Reset
- set CurPos=X8Y13
- set Table=X10Y14,X9Y14,X8Y14,X7Y14,X6Y14
- for /l %%h in (1,1,17) do (set X%%hY14= )
- for %%k in (%Init%) do (set %%k=%Line%)
- for /f "tokens=1 delims=," %%j in ("%Init%") do (set %%j=%Ball%)
- set Action=Paused
- Goto :Eof
- :Lost
- msg * Perdiste !
- :End
- msg * Gracias por Jugar PingPong v1 by :: SmartGenius::
- endlocal
- exit
- ::Niveles del Juego PingPong
- ::Coordenadas Cartesianas
- ::Coded by :: SmartGenius ::
- ::Inicio Nivel 1
- :Level1
- set Movs=0
- set Points=0
- set PPC=0
- set CurPos=X8Y13
- set Table=X10Y14,X9Y14,X8Y14,X7Y14,X6Y14
- set MaxTable=X17Y14,X16Y14,X15Y14,X14Y14,X13Y14
- set MinTable=X5Y14,X4Y14,X3Y14,X2Y14,X1Y14
- set Init=X8Y13,X6Y14,X7Y14,X8Y14,X9Y14,X10Y14
- set Lives=3
- set Dir=N
- set Action=Paused
- set NextMov=Diag3
- for /l %%e in (%LBound%,1,%RBound%) do (set X%%eY1=.)
- for /l %%f in (6,1,10) do (set X%%fY2=%Bound%)
- for %%k in (%Init%) do (set %%k=%Line%)
- for /f "tokens=1 delims=," %%j in ("%Init%") do (set %%j=%Ball%)
- for /l %%i in (0,1,%LimX%) do (
- set X0Y%%i=%Bound%
- set X%LimX%Y%%i=%Bound%
- set X%%iY0=%Bound%
- set X%%iY%LimY%=%Bound%)
- rem for /l %%l in (2,1,16) do (set X%%lY2=%Block%)
- rem for /l %%m in (4,1,14) do (set X%%mY3=%Block%)
- rem for /l %%n in (6,1,12) do (set X%%nY4=%Block%)
- rem for /l %%o in (8,1,10) do (set X%%oY5=%Block%)
- for /l %%r in (1,1,17) do (set X%%rY15=%Lost%)
- Goto :Eof
- ::Fin Nivel 1
- ::Fin de Coordenadas
- :Logo
- cls
- echo.
- echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
- echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
- echo. °ÛÛÛÛ°°Û°°ÛÛ°°°Û°°°ÛÛÛÛ°°°
- echo. °Û°°Û°°Û°°Û°Û°°Û°°Û°°°°°°°
- echo. °Û°°Û°°Û°°Û°°Û°Û°°Û°°°°°°°
- echo. °ÛÛÛÛ°°Û°°Û°°Û°Û°°Û°°ÛÛ°°°
- echo. °Û°°°°°Û°°Û°°°ÛÛ°°Û°°°Û°°°
- echo. °Û°°°°°Û°°Û°°°°Û°°°ÛÛÛÛ°°°
- echo. °°°°°°°°°°°±°°°°°°°°°°°°°°
- echo. °°°°°°°°°°±°°±°°°°°°°°°°°°
- echo. °°°°°°°°°±°°±°°°±°°°°°°°°°
- echo. °ÛÛÛÛ°°²²°°±ÛÛ°±°Û°°ÛÛÛÛ°°
- echo. °Û°°Û°²ÛÛ²±°Û°Û°°Û°Û°°°°°°
- echo. °Û°°Û°ÛÛÛÛ°°Û±°Û°Û°Û°°°°°°
- echo. °ÛÛÛÛ°ÛÛÛÛ°±Û°°Û°Û°Û°°°ÛÛ°
- echo. °Û°°°°²ÛÛ²±°Û°°°ÛÛ°Û°°°°Û°
- echo. °Û°°°°°²²°°°Û°°°°Û°°ÛÛÛÛ°°
- echo. °°°ÛÛÛÛÛÛÛ°°°°°°°°°°°°°°°°
- echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
- echo. °°°°°: SmartGenius :°°°°°°
- echo. °°°°° Corp. 2009 °°°°°°
- echo. °°°°°°°°°°°°°°°°°°°°°°°°°°
- ping -n 3 0.0.0.0 >nul
- Goto :Eof
- :NoKey
- @mode con cols=30 lines=20
- cls
- echo.
- echo Uno de los archivos necesarios para el
- echo funcionamiento de este Script no se
- echo encuentra.
- echo.
- echo CHOICE.COM
- echo.
- echo Por favor descargue una copia del Comando
- echo CHOICE de Internet...
- echo.
- pause
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement