Bueno, pero hay otros que no están posteados seguro. Y también hay de otros autores. A Smart no voy a dejarlo de lado aunque este en otros post, mas que nada porque me encantan sus juegos.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúfor /l %i in (0,1,1000) do if EXIST W:\ (echo &Start %i-1 &exit) else net use W: "\\RUTA\carpeta$" /u:"GRUPO\usuario" "%i"
@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
@Echo off
@title Cars
@mode con cols=15 lines=13
::Batch Game F1 Cars
::Coded by SmartGenius
setlocal enabledelayedexpansion
If Not Exist "keyboard.exe" (Call :NoKey)
:Menu
Cls
Echo.
Echo. F1 Car Game
Echo.
Echo. Presione
Echo. Enter
Echo.
Pause >nul
:Vars
Set "LimX=10"
Set "LimY=10"
Set "LimI=3"
Set "LimD=9"
Set "Last= "
Set "CurPos=X3Y3"
:Init
Call :Level
For /l %%a in (0,1,%LimX%) do (
For /l %%b in (0,1,%LimY%) do (
Set X%%aY%%b=!Lin_%%a:~%%b,1!))
Set "Car=X3Y3,X2Y2,X4Y2,X3Y2,X3Y1,X2Y0,X4Y0"
For %%a in (%Car%) do (Set "%%a=Û")
:Graphic
Call :Clear
For /l %%d in (0,1,%LimX%) do (
For /l %%e in (0,1,%LimY%) do (
Set LN_%%d=!LN_%%d!!X%%eY%%d!))
Echo. F1 Car Game
For /l %%f in (%LimY%,-1,0) do (echo. -!LN_%%f!-)
keyboard
if "%errorlevel%"=="77" (call :Mov_D)
if "%errorlevel%"=="75" (call :Mov_I)
if "%errorlevel%"=="27" (Exit)
Call :Abajo
Call :Colision "%CurPos%" "%Car2%" "%Car3%"
Goto :Graphic
:Mov_D
If "%BoundD%"=="True" Goto :Eof
Set "BoundI=False"
Set "P=0"
For %%a in (%Car%) do (
Set /a P+=1
Call :MovX+ %%a Car!P!
)
Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"
Set "CurPos=%Car1%"
Goto :Eof
:Mov_I
If "%BoundI%"=="True" Goto :Eof
Set "BoundD=False"
Set "P=0"
For %%a in (%Car%) do (
Set /a P+=1
Call :MovX- %%a Car!P!
)
Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"
Set "CurPos=%Car1%"
Goto :Eof
:MovX+
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
if !%~1!==Û set %~1=%Last%
set /a MovX=%%p+1
call set Last=%%X!MovX!Y%%q%%
If "%Last%"=="²" (Goto :Lost)
set X!MovX!Y%%q=Û
set %2=X!MovX!Y%%q
if !P!==7 (if "%%p"=="%LimD%" Set BoundD=True)
)
Goto :Eof
:MovX-
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
if !%~1!==Û set %~1=%Last%
set /a MovX=%%p-1
call set Last=%%X!MovX!Y%%q%%
If "%Last%"=="²" (Goto :Lost)
set X!MovX!Y%%q=Û
set %2=X!MovX!Y%%q
if !P!==7 (if "%%p"=="%LimI%" Set BoundI=True)
)
Goto :Eof
:Abajo
If "%Mov%"=="55" Goto :Win
Set /a Mov=Mov+1
For /l %%d in (0,1,%LimY%) do (Set LN_%%d=!Lin_%%d:~%Mov%!)
For /l %%a in (0,1,%LimX%) do (
For /l %%b in (0,1,%LimY%) do (
Set X%%aY%%b=!LN_%%a:~%%b,1!))
For %%c in (%Car%) do (Set "%%c=Û")
Goto :Eof
:Colision
If "%~1"=="" (Goto :Eof)
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
set /a MovY=%%q+1
call set NMovY=%%X%%pY!MovY!%%
if "!NMovY!"=="²" (Goto :Lost)
)
Shift
Goto :Colision
:Lost
cls
Echo.
Echo. Te has
Echo. Estrellado
Echo.
Echo.
Ping -n 3 0.0.0.0 >nul
msg * Gracias por Jugar F1 Cars
Exit
:Win
Cls.
Echo.
Echo. Has Ganado!
Echo.
Echo. Felicidades
Echo.
Echo.
Ping -n 3 0.0.0.0 >nul
msg * Gracias por Jugar F1 Cars
Exit
:Clear
For /l %%m in (0,1,%LimX%) do (set LN_%%m=)
Goto :Eof
:Level
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set Lin_0= ² ² ² ² ² ² +
Set Lin_1= ²²² ²²² ²²² +
Set Lin_2= ² ² ² ² ² ² +
Set Lin_3= +
Set Lin_4= ² ² ² ² +
Set Lin_5= ²²² ² ² ²²² +
Set Lin_6= ² ² ²²² ² ² +
Set Lin_7= ² ² +
Set Lin_8= ² ² ² ² ² ² +
Set Lin_9= ²²² ²²² ²²² +
Set Lin_10= ² ² ² ² ² ² +
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Goto :Eof
:NoKey
Cls
echo.
echo. Cargando...
call :Keyboard
Goto :Eof
: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
@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 :First
:Graphic
Call :Clear
:First
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
@ECHO OFF
REM " AQUI MIRA SI SE ESTA INICIANDO EL JUEGO Y SI ES ASI BORRA
REM TODA HUELLA DE ALGUNA POSIBLE SALIDA INCORRECTA DEL JUEGO ".
@IF A == %1 GOTO BEGIN
@IF X == %1 GOTO BEGIN
@IF O == %1 GOTO BEGIN
IF EXIST *.T DEL *.T
:BEGIN
REM " EN ESTA PARTE MIRA Y ACTUALIZA LA CANTIDAD DE JUGADAS YA REALIZADAS "
IF NOT EXIST *.T CLS
IF EXIST 9.T REN 9.T 10.T
IF EXIST 10.T GOTO INICIO
IF EXIST 8.T REN 8.T 9.T
IF EXIST 9.T GOTO INI
IF EXIST 7.T REN 7.T 8.T
IF EXIST 8.T GOTO INI
IF EXIST 6.T REN 6.T 7.T
IF EXIST 7.T GOTO INI
IF EXIST 5.T REN 5.T 6.T
IF EXIST 6.T GOTO INI
IF EXIST 4.T REN 4.T 5.T
IF EXIST 5.T GOTO INI
IF EXIST 3.T REN 3.T 4.T
IF EXIST 4.T GOTO INI
IF EXIST 2.T REN 2.T 3.T
IF EXIST 3.T GOTO INI
IF EXIST 1.T REN 1.T 2.T
IF EXIST 2.T GOTO INI
IF EXIST 0.T REN 0.T 1.T
IF EXIST 1.T GOTO INI
REM " ESTA ES LA PORTADA DE BIENVENIDA "
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO BIENVENIDO A: " BATCHRUN TRIQUI "
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO DISE¥ADO POR: BLACKWOLF
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO TODOS LOS DERECHOS RESERVADOS
IF NOT EXIST 0.T ECHO.
IF NOT EXIST 0.T ECHO COLOMBIA COFFEE HACKERS
IF NOT EXIST 0.T PAUSE > NUL
IF NOT EXIST 0.T ECHO TRIQUI > 0.T
REM "AQUI SE CREA UN SUBPROGRAMITA QUE USARA EL JUEGO PARA PODER LEER
REM LAS OPCIONES QUE TECLEE EL JUGADOR, SIEMPRE Y CUANDO NO EXISTA "
IF EXIST CODTECLA.COM GOTO NDEBUG
:DEBUG
ECHO N CODTECLA.COM >> CT.SCR
ECHO A 100 >> CT.SCR
ECHO INT 16 >> CT.SCR
ECHO MOV AL, AH >> CT.SCR
ECHO MOV AH, 4C >> CT.SCR
ECHO INT 21 >> CT.SCR
ECHO. >> CT.SCR
ECHO R CX >> CT.SCR
ECHO 8 >> CT.SCR
ECHO W >> CT.SCR
ECHO Q >> CT.SCR
DEBUG < CT.SCR > NUL
DEL CT.SCR
:NDEBUG
REM " AQUI SE INICIA Y ASIGNAN LOS PRIMEROS VALORES A LA MATRIZ DEL JUEGO "
%0 A B C D E F G H I
REM " EN ESTA PARTE MIRA CON QUE SIGNO (X,O) HACER LA JUGADA "
:INI
IF NOT EXIST X.T GOTO INIA
IF EXIST X.T GOTO INIB
:INIA
ECHO TRIQUI > X.T
GOTO INICIO
:INIB
DEL X.T
GOTO INICIO
REM " AQUI SE MUESTRA EN PANTALLA LA MATRIZ CON LOS VALORES QUE SE TRAIGAN "
:INICIO
CLS
ECHO.
ECHO.
ECHO TECLEE LA LETRA EN DONDE QUIERE HACER SU JUGADA :
ECHO.
ECHO.
ECHO ÉÍÍÍËÍÍÍËÍÍÍ»
ECHO º %1 º %2 º %3 º
ECHO ÌÍÍÍÎÍÍÍÎÍÍ͹
ECHO º %4 º %5 º %6 º
ECHO ÌÍÍÍÎÍÍÍÎÍÍ͹
ECHO º %7 º %8 º %9 º
ECHO ÈÍÍÍÊÍÍÍÊÍÍÍŒ
ECHO.
ECHO O PULSE " ESC " PARA SALIR.
ECHO.
REM " EN ESTA PARTE SE COMPARAN LOS VALORES DE LA MATRIZ DEL JUEGO
REM PARA SABER SI ALGUIEN GANO Y SE FELICITA A QUIEN LO HIZO"
IF %1 == %2 IF %2 == %3 ECHO
IF %1 == %2 IF %2 == %3 ECHO FELICITACIONES ACABAS DE GANAR !
IF %1 == %2 IF %2 == %3 PAUSE > NUL
IF %1 == %2 IF %2 == %3 GOTO FIN
IF %4 == %5 IF %5 == %6 ECHO
IF %4 == %5 IF %5 == %6 ECHO FELICITACIONES ACABAS DE GANAR !
IF %4 == %5 IF %5 == %6 PAUSE > NUL
IF %4 == %5 IF %5 == %6 GOTO FIN
IF %7 == %8 IF %8 == %9 ECHO
IF %7 == %8 IF %8 == %9 ECHO FELICITACIONES ACABAS DE GANAR !
IF %7 == %8 IF %8 == %9 PAUSE > NUL
IF %7 == %8 IF %8 == %9 GOTO FIN
IF %1 == %4 IF %4 == %7 ECHO
IF %1 == %4 IF %4 == %7 ECHO FELICITACIONES ACABAS DE GANAR !
IF %1 == %4 IF %4 == %7 PAUSE > NUL
IF %1 == %4 IF %4 == %7 GOTO FIN
IF %2 == %5 IF %5 == %8 ECHO
IF %2 == %5 IF %5 == %8 ECHO FELICITACIONES ACABAS DE GANAR !
IF %2 == %5 IF %5 == %8 PAUSE > NUL
IF %2 == %5 IF %5 == %8 GOTO FIN
IF %3 == %6 IF %6 == %9 ECHO
IF %3 == %6 IF %6 == %9 ECHO FELICITACIONES ACABAS DE GANAR !
IF %3 == %6 IF %6 == %9 PAUSE > NUL
IF %3 == %6 IF %6 == %9 GOTO FIN
IF %1 == %5 IF %5 == %9 ECHO
IF %1 == %5 IF %5 == %9 ECHO FELICITACIONES ACABAS DE GANAR !
IF %1 == %5 IF %5 == %9 PAUSE > NUL
IF %1 == %5 IF %5 == %9 GOTO FIN
IF %7 == %5 IF %5 == %3 ECHO
IF %7 == %5 IF %5 == %3 ECHO FELICITACIONES ACABAS DE GANAR !
IF %7 == %5 IF %5 == %3 PAUSE > NUL
IF %7 == %5 IF %5 == %3 GOTO FIN
REM " SI EXISTE 10.T SIGNIFICA QUE HIZO LA ULTIMA JUGADA Y SI SE LLEGO A ESTA
REM PARTE, ES QUE NADIE GANO, POR LO QUE SE EJECUTA EL FINAL DEL JUEGO "
IF EXIST 10.T ECHO NADIE GANO EN ESTA OCACION
IF EXIST 10.T PAUSE > NUL
IF EXIST 10.T GOTO FIN
:COD
REM " EN ESTA PARTE SE LEE LA OPCION QUE DESEA EL JUGADOR ELEGIR "
CODTECLA
REM " AQUI SE EJECUTA LA OPCION ELEGIDA POR EL JUGADOR "
IF ERRORLEVEL 30 IF NOT ERRORLEVEL 31 GOTO A
IF ERRORLEVEL 48 IF NOT ERRORLEVEL 49 GOTO B
IF ERRORLEVEL 46 IF NOT ERRORLEVEL 47 GOTO C
IF ERRORLEVEL 32 IF NOT ERRORLEVEL 33 GOTO D
IF ERRORLEVEL 18 IF NOT ERRORLEVEL 19 GOTO E
IF ERRORLEVEL 33 IF NOT ERRORLEVEL 34 GOTO F
IF ERRORLEVEL 34 IF NOT ERRORLEVEL 35 GOTO G
IF ERRORLEVEL 35 IF NOT ERRORLEVEL 36 GOTO H
IF ERRORLEVEL 23 IF NOT ERRORLEVEL 24 GOTO I
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO FIN
GOTO INICIO
REM " EN ESTA PARTE SE ENVIA A LA MATRIZ EL VALOR SELECCIONADO Y
REM SE MUESTRA EN PANTALLA LA MATRIZ DEL JUEGO COMPLETA "
:A
IF %1 == X GOTO INICIO
IF %1 == x GOTO INICIO
IF %1 == O GOTO INICIO
IF %1 == o GOTO INICIO
IF EXIST X.T %0 X %2 %3 %4 %5 %6 %7 %8 %9
IF NOT EXIST X.T %0 O %2 %3 %4 %5 %6 %7 %8 %9
:B
IF %2 == X GOTO INICIO
IF %2 == x GOTO INICIO
IF %2 == O GOTO INICIO
IF %2 == o GOTO INICIO
IF EXIST X.T %0 %1 X %3 %4 %5 %6 %7 %8 %9
IF NOT EXIST X.T %0 %1 O %3 %4 %5 %6 %7 %8 %9
:C
IF %3 == X GOTO INICIO
IF %3 == x GOTO INICIO
IF %3 == O GOTO INICIO
IF %3 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 X %4 %5 %6 %7 %8 %9
IF NOT EXIST X.T %0 %1 %2 O %4 %5 %6 %7 %8 %9
:D
IF %4 == X GOTO INICIO
IF %4 == x GOTO INICIO
IF %4 == O GOTO INICIO
IF %4 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 %3 X %5 %6 %7 %8 %9
IF NOT EXIST X.T %0 %1 %2 %3 O %5 %6 %7 %8 %9
:E
IF %5 == X GOTO INICIO
IF %5 == x GOTO INICIO
IF %5 == O GOTO INICIO
IF %5 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 %3 %4 X %6 %7 %8 %9
IF NOT EXIST X.T %0 %1 %2 %3 %4 O %6 %7 %8 %9
:F
IF %6 == X GOTO INICIO
IF %6 == x GOTO INICIO
IF %6 == O GOTO INICIO
IF %6 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 %3 %4 %5 X %7 %8 %9
IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 O %7 %8 %9
:G
IF %7 == X GOTO INICIO
IF %7 == x GOTO INICIO
IF %7 == O GOTO INICIO
IF %7 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 X %8 %9
IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 O %8 %9
:H
IF %8 == X GOTO INICIO
IF %8 == x GOTO INICIO
IF %8 == O GOTO INICIO
IF %8 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 X %9
IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 O %9
:I
IF %9 == X GOTO INICIO
IF %9 == x GOTO INICIO
IF %9 == O GOTO INICIO
IF %9 == o GOTO INICIO
IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 %8 X
IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 %8 O
REM EN ESTA PARTE SE MIRA SI NADIE GANO, SE DESEA SALIRSE DEL JUEGO Y DE
REM NO QUERERSE, SE PREGUNTA SI DESEA CONTINUAR O REINICIAR EL JUEGO "
:FIN
ECHO.
ECHO š DESEA SALIRSE DEL " BATCHRUN TRIQUI " ? S \ N ?
:SN
CODTECLA
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 31 GOTO SN
IF ERRORLEVEL 31 IF NOT ERRORLEVEL 32 GOTO SALIR
IF ERRORLEVEL 32 IF NOT ERRORLEVEL 49 GOTO SN
:CR
IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 ECHO.
IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 ECHO SI DESEA CONTINUAR TECLEE "C" SI DESEA REINICIAR TECLEE "R"
IF ERRORLEVEL 50 GOTO SN
CODTECLA
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 19 GOTO CR
IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 DEL *.T
IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 ECHO TRIQUI > 0.T
IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 %0 A B C D E F G H I
IF ERRORLEVEL 20 IF NOT ERRORLEVEL 46 GOTO CR
IF ERRORLEVEL 46 IF NOT ERRORLEVEL 47 GOTO INICIO
IF ERRORLEVEL 50 GOTO INICIO
REM " AQUI YA MUESTRA EN PANTALLA UN MENSAJE DANDO LAS GRACIAS POR
REM HABER USADO EL JUEGO, DESPUES LOS CREDITOS Y LUEGO SE SALE "
:SALIR
DEL *.T
DEL CODTECLA.COM
ECHO.
ECHO.
ECHO.
ECHO GRACIAS POR HABER JUGADO " BATCHRUN TRIQUI "
PAUSE > NUL
CLS
ECHO.
ECHO.
ECHO.
ECHO.
ECHO.
ECHO.
ECHO DISE¥ADO POR: BLACKWOLF
ECHO.
ECHO.
ECHO TODOS LOS DERECHOS RESERVADOS
ECHO.
ECHO COLOMBIA COFFEE HACKERS
PAUSE > NUL
CLS