Lo encontre en una pagina amiga de un tal "smartgenius" son dos codigos de juegos programados en Batch....
Juego 1º (empujar cajas, 5 niveles):
@echo off
ÿ@title PushBox v 1
ÿ@mode con cols=21 lines=18
ÿ@::Another Batch Game
ÿ@::by ::SmartGenius ::
ÿ
if not exist "keyboard.exe" (Goto :NoKey)
ÿ
:load
call :Logo
setlocal enabledelayedexpansion
set LimX=12
set LimY=10
set NLevels=5
ÿ
: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
set /a L+=1
Call :Level%L%
Call :Graphic
set P%L%=%Movs%
if "%EOG%"=="True" Goto :End
if "%L%"=="%NLevels%" Goto :Win
ping -n 1 0.0.0.0 >nul
Goto :Init
ÿ
:Graphic
Call :Clear

irst
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 v1 by Smart
echo.
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)
Call :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
ÿ
:Clear
for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
Goto :Eof
ÿ
:Win
cls
echo. ÿ Introduce tu
echo. ÿ ÿ ÿNombre
echo.
set /p Nom=">>"
if not defined Nom Goto :Win
echo.
echo. Felicitaciones !
echo. %Nom%
echo.
for /l %%v in (1,1,%NLevels%) do (
echo ÿNivel: %%v Movs: !P%%v!)
pause >nul
ÿ
:End
msg * Gracias por Jugar PushBox v1 by :: SmartGenius::
endlocal
exit
ÿ
::Niveles del Juego PushBox
::Coordenadas Cartesianas
::Coded by :: SmartGenius ::
ÿ
::Inicio Nivel 1
:Level1
set Movs=0
set X4Y2=%Player%
set CurPos=X4Y2
set Pushes=X5Y2,X6Y2,X7Y2
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X4Y4,X6Y5,X3Y6) do (set %%h=%Box%)
for %%i in (X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X2Y2,X8Y2,X2Y3,X6Y3,X7Y3,X8Y3,X9Y3) do (set %%i=%Bound%)
for %%j in (X1Y4,X2Y4,X3Y4,X9Y4,X1Y5,X5Y5,X7Y5,X9Y5,X1Y6,X5Y6,X9Y6,X1Y7,X5Y7,X6Y7) do (set %%j=%Bound%)
for %%k in (X7Y7,X8Y7,X9Y7,X1Y8,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8) do (set %%k=%Bound%)
for %%l in (X3Y2,X3Y3,X4Y3,X5Y3,X5Y4,X6Y4,X7Y4,X8Y4,X2Y5,X3Y5) do (set %%l= )
for %%m in (X4Y5,X8Y5,X2Y6,X4Y6,X6Y6,X7Y6,X8Y6,X2Y7,X3Y7,X4Y7) do (set %%m= )
Goto :Eof
ÿ
:Check1
set NXL=False
if "!X5Y2!"=="%Box%" (
if "!X6Y2!"=="%Box%" (
if "!X7Y2!"=="%Box%" set NXL=True))
Goto :Eof
:
in Nivel 1
ÿ
::Inicio Nivel 2
:Level2
set Movs=0
set X4Y2=%Player%
set CurPos=X4Y2
set Pushes=X3Y5,X3Y6,X3Y7
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X5Y3,X4Y6,X7Y7) do (set %%h=%Box%)
for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X2Y4,X3Y4,X4Y4,X6Y4) do (set %%i=%Bound%)
for %%j in (X8Y4,X9Y4,X2Y5,X4Y5,X6Y5,X9Y5,X2Y6,X7Y6,X9Y6,X2Y7,X9Y7,X2Y8,X3Y8,X4Y8) do (set %%j=%Bound%)
for %%k in (X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)
for %%l in (X5Y2,X4Y3,X6Y3,X7Y3,X5Y4,X7Y4,X5Y5,X7Y5) do (set %%l= )
for %%m in (X8Y5,X5Y6,X6Y6,X8Y6,X4Y7,X5Y7,X6Y7,X8Y7) do (set %%m= )
Goto :Eof
ÿ
:Check2
set NXL=False
if "!X3Y5!"=="%Box%" (
if "!X3Y6!"=="%Box%" (
if "!X3Y7!"=="%Box%" set NXL=True))
Goto :Eof
:
in Nivel 2
ÿ
::Inicio Nivel 3
:Level3
set Movs=0
set X3Y5=%Player%
set CurPos=X3Y5
set Pushes=X3Y6,X4Y6,X3Y7,X4Y7
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X3Y4,X5Y5,X8Y5,X7Y6) do (set %%h=%Box%)
for %%i in (X2Y2,X3Y2,X4Y2,X5Y2,X6Y2,X7Y2,X8Y2,X2Y3,X8Y3,X9Y3,X10Y3,X1Y4,X2Y4,X4Y4) do (set %%i=%Bound%)
for %%j in (X5Y4,X6Y4,X10Y4,X1Y5,X10Y5,X1Y6,X5Y6,X9Y6,X10Y6,X1Y7,X2Y7,X5Y7,X9Y7) do (set %%j=%Bound%)
for %%k in (X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)
for %%l in (X3Y3,X4Y3,X5Y3,X6Y3,X7Y3,X7Y4,X8Y4,X9Y4,X2Y5,X4Y5) do (set %%l= )
for %%m in (X6Y5,X7Y5,X9Y5,X2Y6,X6Y6,X8Y6,X6Y7,X7Y7,X8Y7) do (set %%m= )
Goto :Eof
ÿ
:Check3
set NXL=False
if "!X3Y6!"=="%Box%" (
if "!X3Y7!"=="%Box%" (
if "!X4Y6!"=="%Box%" (
if "!X4Y7!"=="%Box%" set NXL=True)))
Goto :Eof
:
in Nivel 3
ÿ
::Inicio Nivel 4
:Level4
set Movs=0
set X4Y4=%Player%
set CurPos=X4Y4
set Pushes=X7Y3,X7Y4,X7Y5,X7Y6
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X5Y3,X6Y3,X6Y4,X5Y5) do (set %%h=%Box%)
for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X3Y4,X8Y4) do (set %%i=%Bound%)
for %%j in (X3Y5,X8Y5,X3Y6,X8Y6,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X5Y6) do (set %%j=%Bound%)
for %%l in (X4Y2,X5Y2,X4Y3,X5Y4,X4Y5,X6Y5,X4Y6,X6Y6) do (set %%l= )
Goto :Eof
ÿ
:Check4
set NXL=False
if "!X7Y3!"=="%Box%" (
if "!X7Y4!"=="%Box%" (
if "!X7Y5!"=="%Box%" (
if "!X7Y6!"=="%Box%" set NXL=True)))
Goto :Eof
ÿ
::Inicio Nivel 5
:Level5
set Movs=0
set X8Y6=%Player%
set CurPos=X8Y6
set Pushes=X4Y5,X5Y5,X6Y5,X7Y5
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X2Y4,X3Y5,X8Y4,X9Y5) do (set %%h=%Box%)
for %%i in (X1Y2,X2Y2,X3Y2,X4Y2,X7Y2,X8Y2,X9Y2,X10Y2,X11Y2,X0Y3,X1Y3,X4Y3) do (set %%i=%Bound%)
for %%j in (X7Y3,X11Y3,X0Y4,X4Y4,X5Y4,X6Y4,X7Y4,X11Y4,X0Y5,X11Y5,X0Y6,X1Y6) do (set %%j=%Bound%)
for %%k in (X6Y6,X10Y6,X11Y6,X1Y7,X2Y7,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X9Y7) do (set %%k=%Bound%)
for %%l in (X2Y3,X3Y3,X8Y3,X9Y3,X10Y3,X1Y4,X3Y4,X9Y4,X10Y4,X1Y5,X2Y5,X8Y5) do (set %%l= )
for %%m in (X10Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X9Y6) do (set %%m= )
Goto :Eof
ÿ
:Check5
set NXL=False
if "!X4Y5!"=="%Box%" (
if "!X5Y5!"=="%Box%" (
if "!X6Y5!"=="%Box%" (
if "!X7Y5!"=="%Box%" set NXL=True)))
Goto :Eof
:
in Nivel 5
ÿ
:
in de Coordenadas
ÿ
:Logo
cls
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
ÿ
::::::::::::::::::::
::Records by Smart::
:: ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ::
::Nivel 1: 70 Movs::
::Nivel 2: 50 Movs::
::Nivel 3:116 Movs::
::Nivel 4: 25 Movs::
::Nivel 5: 63 Movs::
::::::::::::::::::::
ÿ
::::::::::::::::::::::::::::::::::::::::::::::::
::El Siguiente Codigo se encarga de Crear el
::archivo necesario para recibir entradas desde
::el teclado..... KEYBOARD.EXE
::Creditos a Carlitos
ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ
::::::::::::::::::::::::::::::::::::::::::::::::
: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.
echo ÿArchivo Creado Satisfactoriamente...
echo ÿPor favor reinicie el Script.
echo.
pause
exit
ÿ
: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
del /f/q/a "keyboard.exe">NUL 2>&1
ren keyboard.dat "keyboard.exe"
Goto :Eof
Juego 2 (El conocido buscaminas):
@echo off
ÿ @title Buscaminas
ÿ @mode con cols=18 lines=13
ÿ @::MineSweeper v 1
ÿ @::Coded by ::SmartGenius::
if not exist "keyboard.exe" (Goto :NoKey)
:load
setlocal enabledelayedexpansion
set LimX=9
set LimY=9
set IniX=0
set IniY=0
set MovX=0
set MovY=0
:init
for /l %%a in (0,1,%LimX%) do (
for /l %%b in (0,1,%LimY%) do (
set X%%aY%%b=ê
))
for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)
set X0Y0=
set Last=ê
set Curpos=X0Y0
Goto
irst
:Graphic
Call :Clear

irst
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. MineSweeper v 1
echo.
for /l %%f in (0,1,%LimY%) do (echo.ÿ ÿ!Lin_%%f!)
if "%EOG%"=="True" Goto :End
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%"=="13" (call :Check "%CurPos%"
if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
Goto :Graphic
:MovX+
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"
do (
if "%%p"=="%LimX%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovX=%%p+1
call set Last=%%X!MovX!Y%%q%%
set X!MovX!Y%%q=
set CurPos=X!MovX!Y%%q
)
Goto :Eof
:MovX-
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"
do (
if "%%p"=="%IniX%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovX=%%p-1
call set Last=%%X!MovX!Y%%q%%
set X!MovX!Y%%q=
set CurPos=X!MovX!Y%%q
)
Goto :Eof
:MovY+
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"
do (
if "%%q"=="%LimY%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovY=%%q+1
call set Last=%%X%%pY!MovY!%%
set X%%pY!MovY!=
set CurPos=X%%pY!MovY!
)
Goto :Eof
:MovY-
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"
do (
if "%%q"=="%IniY%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovY=%%q-1
call set Last=%%X%%pY!MovY!%%
set X%%pY!MovY!=
set CurPos=X%%pY!MovY!
)
Goto :Eof
:Check
for /l %%h in (0,1,9) do (
if "%~1"=="!M%%h!" (
set %~1=
set EOG=True
Goto :Eof
))
set %~1=ø
Goto :Eof
:End
msg * Perdiste !
pause>nul
exit
:Clear
for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
Goto :Eof
:NoKey
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.
echoÿ Archivo Creado Satisfactoriamente...
echoÿ Por favor reinicie el Script.
echo.
pause
exit
: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
del /f/q/a "keyboard.exe">NUL 2>&1
ren keyboard.dat "keyboard.exe"
Goto :Eof
Nada mas por ahora...salu2
Juego 1º (empujar cajas, 5 niveles):
@echo off
ÿ@title PushBox v 1
ÿ@mode con cols=21 lines=18
ÿ@::Another Batch Game
ÿ@::by ::SmartGenius ::
ÿ
if not exist "keyboard.exe" (Goto :NoKey)
ÿ
:load
call :Logo
setlocal enabledelayedexpansion
set LimX=12
set LimY=10
set NLevels=5
ÿ
: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
set /a L+=1
Call :Level%L%
Call :Graphic
set P%L%=%Movs%
if "%EOG%"=="True" Goto :End
if "%L%"=="%NLevels%" Goto :Win
ping -n 1 0.0.0.0 >nul
Goto :Init
ÿ
:Graphic
Call :Clear

irst
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 v1 by Smart
echo.
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)
Call :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
ÿ
:Clear
for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
Goto :Eof
ÿ
:Win
cls
echo. ÿ Introduce tu
echo. ÿ ÿ ÿNombre
echo.
set /p Nom=">>"
if not defined Nom Goto :Win
echo.
echo. Felicitaciones !
echo. %Nom%
echo.
for /l %%v in (1,1,%NLevels%) do (
echo ÿNivel: %%v Movs: !P%%v!)
pause >nul
ÿ
:End
msg * Gracias por Jugar PushBox v1 by :: SmartGenius::
endlocal
exit
ÿ
::Niveles del Juego PushBox
::Coordenadas Cartesianas
::Coded by :: SmartGenius ::
ÿ
::Inicio Nivel 1
:Level1
set Movs=0
set X4Y2=%Player%
set CurPos=X4Y2
set Pushes=X5Y2,X6Y2,X7Y2
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X4Y4,X6Y5,X3Y6) do (set %%h=%Box%)
for %%i in (X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X2Y2,X8Y2,X2Y3,X6Y3,X7Y3,X8Y3,X9Y3) do (set %%i=%Bound%)
for %%j in (X1Y4,X2Y4,X3Y4,X9Y4,X1Y5,X5Y5,X7Y5,X9Y5,X1Y6,X5Y6,X9Y6,X1Y7,X5Y7,X6Y7) do (set %%j=%Bound%)
for %%k in (X7Y7,X8Y7,X9Y7,X1Y8,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8) do (set %%k=%Bound%)
for %%l in (X3Y2,X3Y3,X4Y3,X5Y3,X5Y4,X6Y4,X7Y4,X8Y4,X2Y5,X3Y5) do (set %%l= )
for %%m in (X4Y5,X8Y5,X2Y6,X4Y6,X6Y6,X7Y6,X8Y6,X2Y7,X3Y7,X4Y7) do (set %%m= )
Goto :Eof
ÿ
:Check1
set NXL=False
if "!X5Y2!"=="%Box%" (
if "!X6Y2!"=="%Box%" (
if "!X7Y2!"=="%Box%" set NXL=True))
Goto :Eof
:

in Nivel 1
ÿ
::Inicio Nivel 2
:Level2
set Movs=0
set X4Y2=%Player%
set CurPos=X4Y2
set Pushes=X3Y5,X3Y6,X3Y7
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X5Y3,X4Y6,X7Y7) do (set %%h=%Box%)
for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X2Y4,X3Y4,X4Y4,X6Y4) do (set %%i=%Bound%)
for %%j in (X8Y4,X9Y4,X2Y5,X4Y5,X6Y5,X9Y5,X2Y6,X7Y6,X9Y6,X2Y7,X9Y7,X2Y8,X3Y8,X4Y8) do (set %%j=%Bound%)
for %%k in (X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)
for %%l in (X5Y2,X4Y3,X6Y3,X7Y3,X5Y4,X7Y4,X5Y5,X7Y5) do (set %%l= )
for %%m in (X8Y5,X5Y6,X6Y6,X8Y6,X4Y7,X5Y7,X6Y7,X8Y7) do (set %%m= )
Goto :Eof
ÿ
:Check2
set NXL=False
if "!X3Y5!"=="%Box%" (
if "!X3Y6!"=="%Box%" (
if "!X3Y7!"=="%Box%" set NXL=True))
Goto :Eof
:

in Nivel 2
ÿ
::Inicio Nivel 3
:Level3
set Movs=0
set X3Y5=%Player%
set CurPos=X3Y5
set Pushes=X3Y6,X4Y6,X3Y7,X4Y7
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X3Y4,X5Y5,X8Y5,X7Y6) do (set %%h=%Box%)
for %%i in (X2Y2,X3Y2,X4Y2,X5Y2,X6Y2,X7Y2,X8Y2,X2Y3,X8Y3,X9Y3,X10Y3,X1Y4,X2Y4,X4Y4) do (set %%i=%Bound%)
for %%j in (X5Y4,X6Y4,X10Y4,X1Y5,X10Y5,X1Y6,X5Y6,X9Y6,X10Y6,X1Y7,X2Y7,X5Y7,X9Y7) do (set %%j=%Bound%)
for %%k in (X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)
for %%l in (X3Y3,X4Y3,X5Y3,X6Y3,X7Y3,X7Y4,X8Y4,X9Y4,X2Y5,X4Y5) do (set %%l= )
for %%m in (X6Y5,X7Y5,X9Y5,X2Y6,X6Y6,X8Y6,X6Y7,X7Y7,X8Y7) do (set %%m= )
Goto :Eof
ÿ
:Check3
set NXL=False
if "!X3Y6!"=="%Box%" (
if "!X3Y7!"=="%Box%" (
if "!X4Y6!"=="%Box%" (
if "!X4Y7!"=="%Box%" set NXL=True)))
Goto :Eof
:

in Nivel 3
ÿ
::Inicio Nivel 4
:Level4
set Movs=0
set X4Y4=%Player%
set CurPos=X4Y4
set Pushes=X7Y3,X7Y4,X7Y5,X7Y6
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X5Y3,X6Y3,X6Y4,X5Y5) do (set %%h=%Box%)
for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X3Y4,X8Y4) do (set %%i=%Bound%)
for %%j in (X3Y5,X8Y5,X3Y6,X8Y6,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X5Y6) do (set %%j=%Bound%)
for %%l in (X4Y2,X5Y2,X4Y3,X5Y4,X4Y5,X6Y5,X4Y6,X6Y6) do (set %%l= )
Goto :Eof
ÿ
:Check4
set NXL=False
if "!X7Y3!"=="%Box%" (
if "!X7Y4!"=="%Box%" (
if "!X7Y5!"=="%Box%" (
if "!X7Y6!"=="%Box%" set NXL=True)))
Goto :Eof
ÿ
::Inicio Nivel 5
:Level5
set Movs=0
set X8Y6=%Player%
set CurPos=X8Y6
set Pushes=X4Y5,X5Y5,X6Y5,X7Y5
for %%g in (%Pushes%) do (set %%g=%Push%)
for %%h in (X2Y4,X3Y5,X8Y4,X9Y5) do (set %%h=%Box%)
for %%i in (X1Y2,X2Y2,X3Y2,X4Y2,X7Y2,X8Y2,X9Y2,X10Y2,X11Y2,X0Y3,X1Y3,X4Y3) do (set %%i=%Bound%)
for %%j in (X7Y3,X11Y3,X0Y4,X4Y4,X5Y4,X6Y4,X7Y4,X11Y4,X0Y5,X11Y5,X0Y6,X1Y6) do (set %%j=%Bound%)
for %%k in (X6Y6,X10Y6,X11Y6,X1Y7,X2Y7,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X9Y7) do (set %%k=%Bound%)
for %%l in (X2Y3,X3Y3,X8Y3,X9Y3,X10Y3,X1Y4,X3Y4,X9Y4,X10Y4,X1Y5,X2Y5,X8Y5) do (set %%l= )
for %%m in (X10Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X9Y6) do (set %%m= )
Goto :Eof
ÿ
:Check5
set NXL=False
if "!X4Y5!"=="%Box%" (
if "!X5Y5!"=="%Box%" (
if "!X6Y5!"=="%Box%" (
if "!X7Y5!"=="%Box%" set NXL=True)))
Goto :Eof
:

in Nivel 5
ÿ
:

in de Coordenadas
ÿ
:Logo
cls
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
ÿ
::::::::::::::::::::
::Records by Smart::
:: ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ::
::Nivel 1: 70 Movs::
::Nivel 2: 50 Movs::
::Nivel 3:116 Movs::
::Nivel 4: 25 Movs::
::Nivel 5: 63 Movs::
::::::::::::::::::::
ÿ
::::::::::::::::::::::::::::::::::::::::::::::::
::El Siguiente Codigo se encarga de Crear el
::archivo necesario para recibir entradas desde
::el teclado..... KEYBOARD.EXE
::Creditos a Carlitos

ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ
::::::::::::::::::::::::::::::::::::::::::::::::
: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.
echo ÿArchivo Creado Satisfactoriamente...
echo ÿPor favor reinicie el Script.
echo.
pause
exit
ÿ
: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
del /f/q/a "keyboard.exe">NUL 2>&1
ren keyboard.dat "keyboard.exe"
Goto :Eof
Juego 2 (El conocido buscaminas):
@echo off
ÿ @title Buscaminas
ÿ @mode con cols=18 lines=13
ÿ @::MineSweeper v 1
ÿ @::Coded by ::SmartGenius::
if not exist "keyboard.exe" (Goto :NoKey)
:load
setlocal enabledelayedexpansion
set LimX=9
set LimY=9
set IniX=0
set IniY=0
set MovX=0
set MovY=0
:init
for /l %%a in (0,1,%LimX%) do (
for /l %%b in (0,1,%LimY%) do (
set X%%aY%%b=ê
))
for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)
set X0Y0=
set Last=ê
set Curpos=X0Y0
Goto

irst
:Graphic
Call :Clear

irst
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. MineSweeper v 1
echo.
for /l %%f in (0,1,%LimY%) do (echo.ÿ ÿ!Lin_%%f!)
if "%EOG%"=="True" Goto :End
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%"=="13" (call :Check "%CurPos%"

if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
Goto :Graphic
:MovX+
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"

do (
if "%%p"=="%LimX%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovX=%%p+1
call set Last=%%X!MovX!Y%%q%%
set X!MovX!Y%%q=
set CurPos=X!MovX!Y%%q
)
Goto :Eof
:MovX-
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"

do (
if "%%p"=="%IniX%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovX=%%p-1
call set Last=%%X!MovX!Y%%q%%
set X!MovX!Y%%q=
set CurPos=X!MovX!Y%%q
)
Goto :Eof
:MovY+
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"

do (
if "%%q"=="%LimY%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovY=%%q+1
call set Last=%%X%%pY!MovY!%%
set X%%pY!MovY!=
set CurPos=X%%pY!MovY!
)
Goto :Eof
:MovY-
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1"

do (
if "%%q"=="%IniY%" Goto :Eof
if !%~1!== set %~1=%Last%
set /a MovY=%%q-1
call set Last=%%X%%pY!MovY!%%
set X%%pY!MovY!=
set CurPos=X%%pY!MovY!
)
Goto :Eof
:Check
for /l %%h in (0,1,9) do (
if "%~1"=="!M%%h!" (
set %~1=
set EOG=True
Goto :Eof
))
set %~1=ø
Goto :Eof
:End
msg * Perdiste !
pause>nul
exit
:Clear
for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
Goto :Eof
:NoKey
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.
echoÿ Archivo Creado Satisfactoriamente...
echoÿ Por favor reinicie el Script.
echo.
pause
exit
: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
del /f/q/a "keyboard.exe">NUL 2>&1
ren keyboard.dat "keyboard.exe"
Goto :Eof
Nada mas por ahora...salu2