Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- @title PushBox v 2
- @mode con cols=22 lines=20
- @::PushBox Reloaded
- @::Another Batch Game
- @::Coded by SmartGenius
- setlocal enabledelayedexpansion
- if not exist "keyboard.exe" (Goto :NoKey)
- :load
- call :Logo
- call :Player
- call Levels NUM
- :Menu
- if not defined L set L=0
- set EOG=False
- set colors=a123b567c9
- cls
- echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
- echo. º PushBox Reloaded º
- echo. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
- echo.
- echo. Nick: %nick%
- echo.
- echo. Opciopnes ^>^>
- echo.
- echo. ÛßßÛßßßßßßßßßßßßßßßÛ
- echo. Û1.Û Jugar PushBox Û
- echo. ÛßßÛßßßßßßßßßßßßßßßÛ
- echo. Û2.Û Escoger Nivel Û
- echo. ÛßßÛßßßßßßßßßßßßßßßÛ
- echo. Û3.Û Cambiar Nick Û
- echo. ÛßßÛßßßßßßßßßßßßßßßÛ
- echo. Û4.Û Salir Û
- echo. ßßßßßßßßßßßßßßßßßßßß
- echo.
- keyboard
- if "%errorlevel%"=="49" (Goto :Load)
- if "%errorlevel%"=="50" (Goto :Choose)
- if "%errorlevel%"=="51" (call :Player)
- if "%errorlevel%"=="52" (Goto :End)
- if "%errorlevel%"=="32" (color 0!colors:~%random:~-1%,1!)
- if "%errorlevel%"=="167" (Call :Console)
- Goto :Menu
- :Choose
- call :CheckML >nul
- cls
- echo.
- echo. Nivel a Jugar ?
- echo. De 1 a %MaxLevel%
- echo.
- set /p lev=">> "
- if not defined lev (set lev=1)
- if %lev% GTR %MaxLevel% (
- echo.
- echo. No trates de hacer
- echo. Cheat, aun no has
- echo. llegado a ese Nivel.
- echo.
- ping -n 3 0.0.0.0 >nul
- Goto :Menu
- )
- set /a L=%lev%-1
- :Load
- set LimX=13
- set LimY=11
- :init
- for /l %%a in (0,1,%LimX%) do (
- for /l %%b in (0,1,%LimY%) do (
- set X%%aY%%b=°))
- set Player=
- set Bound=Û
- set Box=*
- set Push=o
- :Levels
- if not defined L set L=0
- set /a L=%L%+1
- Call Levels Level%L%
- Call :Graphic
- set P%L%=%Movs%
- if "%EOG%"=="True" Goto :Menu
- echo.%L%>"Records_%nick%.txt:MaxLevel.ini"
- if "%L%"=="%NLevels%" Goto :Win
- ping -n 1 0.0.0.0 >nul
- Goto :Init
- :Graphic
- Call :Clear
- :First
- 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. PushBox v2 by Smart
- echo.
- echo. Player:%nick%
- echo. Nivel:%L% Movs:%Movs%
- echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
- for /l %%f in (0,1,%LimY%) do (echo. º!Lin_%%f!º)
- echo. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
- keyboard
- if "%errorlevel%"=="77" (call :MovX+ "%CurPos%")
- if "%errorlevel%"=="75" (call :MovX- "%CurPos%")
- if "%errorlevel%"=="80" (call :MovY+ "%CurPos%")
- if "%errorlevel%"=="72" (call :MovY- "%CurPos%")
- if "%errorlevel%"=="88" (set EOG=True&Goto :Eof)
- if "%errorlevel%"=="120" (set EOG=True&Goto :Eof)
- if "%errorlevel%"=="83" (Goto :Save)
- if "%errorlevel%"=="115" (Goto :Save)
- if "%errorlevel%"=="76" (Goto :Eof)
- if "%errorlevel%"=="108" (Goto :Eof)
- Call Levels Check%L%
- if "%NXL%"=="True" (Goto :Eof)
- Goto :Graphic
- ::Logica de Movimiento en el Plano
- ::Coded by :: SmartGenius ::
- :MovX+
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p+1
- set /a MovXX=%%p+2
- call set NMovX=%%X!MovX!Y%%q%%
- call set NMovXX=%%X!MovXX!Y%%q%%
- if "!NMovX!"=="%Bound%" (Goto :Eof)
- if "!NMovX!"=="%Push%" (
- if !%~1!==%Player% set %~1=
- set X!MovX!Y%%q=%Player%
- set CurPos=X!MovX!Y%%q)
- if "!NMovX!"==" " (
- if !%~1!==%Player% set %~1=
- set X!MovX!Y%%q=%Player%
- set CurPos=X!MovX!Y%%q)
- if "!NMovX!"=="%Box%" (
- if "!NMovXX!"=="%Bound%" (Goto :Eof)
- if "!NMovXX!"=="%Box%" (Goto :Eof)
- if !%~1!==%Player% set %~1=
- set X!MovX!Y%%q=%Player%
- set X!MovXX!Y%%q=%Box%
- set CurPos=X!MovX!Y%%q))
- set /a Movs+=1
- for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))
- Goto :Eof
- :MovX-
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovX=%%p-1
- set /a MovXX=%%p-2
- call set NMovX=%%X!MovX!Y%%q%%
- call set NMovXX=%%X!MovXX!Y%%q%%
- if "!NMovX!"=="%Bound%" (Goto :Eof)
- if "!NMovX!"=="%Push%" (
- if !%~1!==%Player% set %~1=
- set X!MovX!Y%%q=%Player%
- set CurPos=X!MovX!Y%%q)
- if "!NMovX!"==" " (
- if !%~1!==%Player% set %~1=
- set X!MovX!Y%%q=%Player%
- set CurPos=X!MovX!Y%%q)
- if "!NMovX!"=="%Box%" (
- if "!NMovXX!"=="%Bound%" (Goto :Eof)
- if "!NMovXX!"=="%Box%" (Goto :Eof)
- if !%~1!==%Player% set %~1=
- set X!MovX!Y%%q=%Player%
- set X!MovXX!Y%%q=%Box%
- set CurPos=X!MovX!Y%%q))
- set /a Movs+=1
- for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))
- Goto :Eof
- :MovY+
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovY=%%q+1
- set /a MovYY=%%q+2
- call set NMovY=%%X%%pY!MovY!%%
- call set NMovYY=%%X%%pY!MovYY!%%
- if "!NMovY!"=="%Bound%" (Goto :Eof)
- if "!NMovY!"=="%Push%" (
- if !%~1!==%Player% set %~1=
- set X%%pY!MovY!=%Player%
- set CurPos=X%%pY!MovY!)
- if "!NMovY!"==" " (
- if !%~1!==%Player% set %~1=
- set X%%pY!MovY!=%Player%
- set CurPos=X%%pY!MovY!)
- if "!NMovY!"=="%Box%" (
- if "!NMovYY!"=="%Bound%" (Goto :Eof)
- if "!NMovYY!"=="%Box%" (Goto :Eof)
- if !%~1!==%Player% set %~1=
- set X%%pY!MovY!=%Player%
- set X%%pY!MovYY!=%Box%
- set CurPos=X%%pY!MovY!))
- set /a Movs+=1
- for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))
- Goto :Eof
- :MovY-
- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
- set /a MovY=%%q-1
- set /a MovYY=%%q-2
- call set NMovY=%%X%%pY!MovY!%%
- call set NMovYY=%%X%%pY!MovYY!%%
- if "!NMovY!"=="%Bound%" (Goto :Eof)
- if "!NMovY!"=="%Push%" (
- if !%~1!==%Player% set %~1=
- set X%%pY!MovY!=%Player%
- set CurPos=X%%pY!MovY!)
- if "!NMovY!"==" " (
- if !%~1!==%Player% set %~1=
- set X%%pY!MovY!=%Player%
- set CurPos=X%%pY!MovY!)
- if "!NMovY!"=="%Box%" (
- if "!NMovYY!"=="%Bound%" (Goto :Eof)
- if "!NMovYY!"=="%Box%" (Goto :Eof)
- if !%~1!==%Player% set %~1=
- set X%%pY!MovY!=%Player%
- set X%%pY!MovYY!=%Box%
- set CurPos=X%%pY!MovY!))
- set /a Movs+=1
- for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))
- Goto :Eof
- :Save
- cls
- if not exist Records_%nick%.txt (
- echo. Records PushBox 2 >>Records_%nick%.txt
- echo. Jugador: %nick% >>Records_%nick%.txt)
- for /l %%v in (1,1,%NLevels%) do (
- if defined P%%v (
- echo Nivel: %%v Movs: !P%%v! >>Records_%nick%.txt))
- echo.%L%>"Records_%nick%.txt:MaxLevel.ini"
- echo.
- echo. PushBox v 2
- echo.
- echo. Juego Guardado
- echo.
- ping -n 2 0.0.0.0 >nul
- Goto :Menu
- :Console
- cls
- echo.
- echo. Console
- echo.
- echo. Enter Number...
- set /p tar=">> "
- if not defined tar Goto :Eof
- set /a L=(%tar%^>^>5)-1
- Goto :Eof
- :CheckML
- for /f "tokens=*" %%a in (Records_%nick%.txt:Maxlevel.ini) do (
- if "%%a"=="" (
- set MaxLevel=1
- ) else (
- set MaxLevel=%%a
- ))
- if not defined MaxLevel set MaxLevel=1
- Goto :Eof
- :Clear
- for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
- Goto :Eof
- :Win
- cls
- echo.
- echo. Felicitaciones !
- echo. %nick%
- echo.
- echo. Has Superado todos
- echo. los niveles del
- echo. Juego.
- if not exist Records_%nick.txt% (
- echo. Records PushBox 2 >>Records_%nick%.txt
- echo. Jugador: %nick% >>Records_%nick%.txt)
- for /l %%v in (1,1,%NLevels%) do (
- if defined P%%v (
- echo Nivel: %%v Movs: !P%%v! >>Records_%nick%.txt))
- ping -n 4 0.0.0.0 >nul
- :End
- msg * Gracias por Jugar PushBox v 2 by :: SmartGenius::
- endlocal
- exit
- :Player
- cls
- echo.
- echo. Nickname ?
- set /p nick=">> "
- if not defined nick set nick=User
- Goto :Eof
- :Logo
- cls
- echo.
- echo. °°°°°°°°°°°°°°°°°°°°
- echo. °°ÛÛÛ°Û°Û°ÛÛÛ°Û°°Û°°
- echo. °°Û°Û°Û°Û°Û°°°Û°°Û°°
- echo. °°ÛÛÛ°Û°Û°ÛÛÛ°ÛÛÛÛ°°
- echo. °°Û°°°Û°Û°°°Û°Û°°Û°°
- echo. °°Û°°°ÛÛÛ°ÛÛÛ°Û°°Û°°
- echo. °°°°°°°°°°°°°°°°°°°°
- echo. °°ÛÛÛ°ÛÛÛ°Û°Û°°ÛÛ°°°
- echo. °°Û°Û°Û°Û°Û°Û°Û°°Û°°
- echo. °°ÛÛ°°Û°Û°°Û°°°°Û°°°
- echo. °°Û°Û°Û°Û°Û°Û°°Û°°°°
- echo. °°ÛÛÛ°ÛÛÛ°Û°Û°ÛÛÛÛ°°
- echo. °°°°°°°°°°°°°°°°°°°°
- echo. °°: SmartGenius :°°°
- echo. °° Corp. 2009 °°°
- echo. °°°°°°°°°°°°°°°°°°°°
- echo. °°°°°°°°°°°°°°°°°°°°
- ping -n 3 0.0.0.0 >nul
- ::Dedicated to the CUH,
- ::Code-Makers, Latinohack
- ::Members....by SmartGenius
- 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. A Continuacion sera creado...
- call :keyboard
- echo. Archivo Creado Satisfactoriamente
- echo.
- pause
- Goto :Menu
- :keyboard
- (
- echo n keyboard.dat
- echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
- echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
- echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
- echo rcx
- echo 002E
- echo w0
- echo q
- echo.
- )>keyboard.dat
- type keyboard.dat|debug>NUL 2>&1
- echo. 1
- pause
- del /f/q/a "keyboard.exe">NUL 2>&1
- echo. 2
- pause
- ren keyboard.dat "keyboard.exe"
- echo. 3
- pause
- Goto :Eof
- ::: Separated File ::
- ::: LEVELS.bat ::
- @echo off
- ::Niveles del Juego PushBox v 2 Reloaded
- ::Coordenadas Cartesianas
- ::Coded by :: SmartGenius ::
- if ["%1"]==[""] (
- if exist "Levels.bat" (
- if not "%~nx0"=="Levels.bat" (
- Ren "Levels.bat" "%random:~-1%_Back_Levels.bat"
- Ren %0 Levels.bat
- echo. Niveles Intercambiados
- pause
- exit
- )))
- Call :%1
- Goto :Eof
- :NUM
- Set NLevels=5
- Goto :Eof
- ::Inicio Nivel 1
- :Level1
- set Movs=0
- set X6Y5=%Player%
- set CurPos=X6Y5
- set Pushes=X5Y2,X3Y5,X8Y4,X6Y7
- for %%g in (%Pushes%) do (set %%g=%Push%)
- for %%h in (X5Y4,X5Y5,X7Y4,X6Y6) do (set %%h=%Box%)
- for %%i in (X4Y1,X5Y1,X6Y1,X4Y2,X6Y2,X4Y3,X6Y3,X7Y3,X8Y3,X9Y3,X2Y4,X3Y4,X4Y4,X9Y4,X2Y5) do (set %%i=%Bound%)
- for %%j in (X7Y5,X8Y5,X9Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X5Y7,X7Y7,X5Y8,X6Y8,X7Y8) do (set %%j=%Bound%)
- for %%l in (X5Y3,X6Y4,X4Y5) do (set %%l= )
- Goto :Eof
- :Check1
- set NXL=False
- if "!X5Y2!"=="%Box%" (
- if "!X3Y5!"=="%Box%" (
- if "!X8Y4!"=="%Box%" (
- if "!X6Y7!"=="%Box%" set NXL=True)))
- Goto :Eof
- ::Fin Nivel 1
- ::Inicio Nivel 2
- :Level2
- set Movs=0
- set X2Y2=%Player%
- set CurPos=X2Y2
- set Pushes=X8Y4,X8Y5,X8Y6
- for %%g in (%Pushes%) do (set %%g=%Push%)
- for %%h in (X3Y3,X4Y3,X3Y4) do (set %%h=%Box%)
- for %%i in (X1Y1,X2Y1,X3Y1,X4Y1,X5Y1,X1Y2,X5Y2,X1Y3,X5Y3,X7Y3,X8Y3,X9Y3,X1Y4,X5Y4,X7Y4,X9Y4) do (set %%i=%Bound%)
- for %%j in (X1Y5,X2Y5,X3Y5,X5Y5,X6Y5,X7Y5,X9Y5,X2Y6,X3Y6,X9Y6,X2Y7,X6Y7,X9Y7,X2Y8,X6Y8,X7Y8) do (set %%j=%Bound%)
- for %%k in (X8Y8,X9Y8,X2Y9,X3Y9,X4Y9,X5Y9,X6Y9) do (set %%k=%Bound%)
- for %%l in (X3Y2,X4Y2,X2Y3,X2Y4,X4Y4,X4Y5,X4Y6,X5Y6,X7Y6,X3Y7) do (set %%l= )
- for %%m in (X4Y7,X5Y7,X7Y7,X8Y7,X3Y8,X4Y8,X5Y8,X6Y6) do (set %%m= )
- Goto :Eof
- :Check2
- set NXL=False
- if "!X8Y4!"=="%Box%" (
- if "!X8Y5!"=="%Box%" (
- if "!X8Y6!"=="%Box%" set NXL=True))
- Goto :Eof
- ::Fin Nivel 2
- ::Inicio Nivel 3
- :Level3
- set Movs=0
- set X3Y3=%Player%
- set CurPos=X3Y3
- set Pushes=X3Y6,X3Y7,X4Y7,X5Y7,X6Y7
- for %%g in (%Pushes%) do (set %%g=%Push%)
- for %%h in (X4Y3,X4Y4,X5Y5,X4Y6,X5Y7) do (set %%h=%Box%)
- for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X2Y2,X3Y2,X6Y2,X2Y3,X6Y3,X2Y4,X3Y4,X6Y4,X7Y4,X2Y5,X3Y5,X7Y5) do (set %%i=%Bound%)
- for %%j in (X2Y6,X7Y6,X2Y7,X7Y7,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8) do (set %%j=%Bound%)
- for %%l in (X4Y2,X5Y2,X5Y3,X5Y4,X4Y5,X6Y5,X5Y6,X6Y6) do (set %%l= )
- Goto :Eof
- :Check3
- set NXL=False
- if "!X3Y6!"=="%Box%" (
- if "!X3Y7!"=="%Box%" (
- if "!X4Y7!"=="%Box%" (
- if "!X5Y7!"=="%Box%" (
- if "!X6Y7!"=="%Box%" set NXL=True))))
- Goto :Eof
- ::Fin Nivel 3
- ::Inicio Nivel 4
- :Level4
- set Movs=0
- set X10Y8=%Player%
- set CurPos=X10Y8
- set Pushes=X4Y2,X8Y4,X5Y5,X2Y6,X6Y8
- for %%g in (%Pushes%) do (set %%g=%Push%)
- for %%h in (X4Y4,X6Y4,X5Y5,X4Y6,X6Y6) do (set %%h=%Box%)
- for %%i in (X3Y0,X4Y0,X5Y0,X6Y0,X7Y0,X8Y0,X9Y0,X0Y1,X1Y1,X2Y1,X3Y1,X9Y1,X0Y2,X5Y2,X6Y2,X7Y2) do (set %%i=%Bound%)
- for %%j in (X9Y2,X0Y3,X2Y3,X4Y3,X9Y3,X10Y3,X0Y4,X2Y4,X7Y4,X10Y4,X0Y5,X2Y5,X8Y5,X10Y5,X0Y6,X3Y6) do (set %%j=%Bound%)
- for %%k in (X8Y6,X10Y6,X0Y7,X1Y7,X6Y7,X8Y7,X10Y7,X11Y7,X12Y7,X1Y8,X3Y8,X4Y8,X5Y8,X12Y8,X1Y9,X7Y9) do (set %%k=%Bound%)
- for %%l in (X8Y9,X12Y9,X1Y10,X2Y10,X3Y10,X4Y10,X5Y10,X6Y10,X7Y10,X8Y10,X9Y10,X10Y10,X11Y10,X12Y10) do (set %%l=%Bound%)
- for %%m in (X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X1Y2,X2Y2,X3Y2,X8Y2,X1Y3,X3Y3,X5Y3,X6Y3,X7Y3,X8Y3,X1Y4,X3Y4,X5Y4) do (set %%m= )
- for %%n in (X9Y4,X1Y5,X3Y5,X4Y5,X6Y5,X7Y5,X9Y5,X1Y6,X5Y6,X7Y6,X9Y6,X2Y7,X3Y7,X4Y7,X5Y7,X7Y7,X9Y7,X2Y8) do (set %%n= )
- for %%o in (X7Y8,X8Y8,X9Y8,X11Y8,X2Y9,X3Y9,X4Y9,X5Y9,X6Y9,X9Y9,X10Y9,X11Y9) do (set %%o= )
- Goto :Eof
- :Check4
- set NXL=False
- if "!X4Y2!"=="%Box%" (
- if "!X8Y4!"=="%Box%" (
- if "!X5Y5!"=="%Box%" (
- if "!X2Y6!"=="%Box%" (
- if "!X6Y8!"=="%Box%" set NXL=True))))
- Goto :Eof
- ::Inicio Nivel 5
- :Level5
- set Movs=0
- set X9Y2=%Player%
- set CurPos=X9Y2
- set Pushes=X2Y7,X3Y7,X4Y7,X5Y7,X6Y7
- for %%g in (%Pushes%) do (set %%g=%Push%)
- for %%h in (X4Y4,X6Y4,X8Y4,X5Y5,X5Y6) do (set %%h=%Box%)
- for %%i in (X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X9Y1,X10Y1,X3Y2,X4Y2,X7Y2,X10Y2,X3Y3,X7Y3,X10Y3,X3Y4,X10Y4) do (set %%i=%Bound%)
- for %%j in (X3Y5,X6Y5,X7Y5,X10Y5,X1Y6,X2Y6,X3Y6,X7Y6,X9Y6,X10Y6,X1Y7,X9Y7,X1Y8,X2Y8,X3Y8) do (set %%j=%Bound%)
- for %%k in (X4Y8,X5Y8,X6Y8,X7Y8,X9Y8) do (set %%k=%Bound%)
- for %%l in (X5Y2,X6Y2,X8Y2,X4Y3,X5Y3,X6Y3,X8Y3,X9Y3,X5Y4,X7Y4) do (set %%l= )
- for %%m in (X9Y4,X4Y5,X8Y5,X9Y5,X4Y6,X6Y6,X8Y6,X7Y7,X8Y7) do (set %%m= )
- Goto :Eof
- :Check5
- set NXL=False
- if "!X2Y7!"=="%Box%" (
- if "!X3Y7!"=="%Box%" (
- if "!X4Y7!"=="%Box%" (
- if "!X5Y7!"=="%Box%" (
- if "!X6Y7!"=="%Box%" set NXL=True))))
- Goto :Eof
- ::Fin Nivel 5
- ::Fin de Coordenadas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement