Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Echo Off
- @title Adventure Game
- ::Batch Game Adventure
- ::Coded by SmartGenius
- ::Batch Game Maker
- setlocal enabledelayedexpansion
- mode con cols=14 lineS=13
- If Not Exist "keyboard.exe" (Call :NoKey)
- :Vars
- Set "Pj="
- Set "LimX=9"
- Set "LimY=10"
- Set "MovA=0"
- Set "MovB=9"
- Set "Bound=Û"
- Set "Ender= "
- Set "Coin="
- :Init
- Set /a Level+=1
- Call :Nivel_%Level%
- For /l %%a in (0,1,%LimX%) do (
- For /l %%b in (0,1,%LimY%) do (
- Set X%%aY%%b=!LN_%%b:~%%a,1!))
- Set "%CurPos%=%Pj%"
- Goto :Graphic
- :Graphic
- Call :Clear
- 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.
- For /l %%f in (0,1,%LimY%) do (echo. !Lin_%%f!)
- Keyboard
- If "%errorlevel%"=="77" (Call :Derecha "%CurPos%")
- If "%errorlevel%"=="75" (Call :Izquierda "%CurPos%")
- If "%errorlevel%"=="72" (Call :Saltar "%CurPos%")
- If "%errorlevel%"=="27" (msg * Gracias Por Jugar&Exit)
- Call :Gravity "%CurPos%"
- Goto :Graphic
- :Derecha
- If "%Mov%"=="115" Goto :Eof
- 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!"=="%Ender%" (Goto :Win)
- if "!NMovX!"=="%Coin%" (Call :UnCoin "%%q" "%%p" "+1")
- Set /a Mov=Mov+1
- For /l %%d in (0,1,%LimY%) do (Set LNB_%%d=!LN_%%d:~%Mov%!)
- For /l %%a in (0,1,%LimX%) do (
- For /l %%b in (0,1,%LimY%) do (
- Set X%%aY%%b=!LNB_%%b:~%%a,1!))
- Set "%CurPos%=%Pj%")
- Goto :Eof
- :Izquierda
- If "%Mov%"=="0" Goto :Eof
- 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!"=="%Ender%" (Goto :Win)
- if "!NMovX!"=="%Coin%" (Call :UnCoin "%%q" "%%p" "+1")
- Set /a Mov=Mov-1
- For /l %%d in (0,1,%LimY%) do (Set LNB_%%d=!LN_%%d:~%Mov%!)
- For /l %%a in (0,1,%LimX%) do (
- For /l %%b in (0,1,%LimY%) do (
- Set X%%aY%%b=!LNB_%%b:~%%a,1!))
- Set "%CurPos%=%Pj%")
- Goto :Eof
- :Saltar
- For /l %%z in (1,1,3) do (
- Call :Arriba "!CurPos!"
- Call :Gp2)
- Call :Derecha "%CurPos%"
- Call :Gp2
- Goto :Eof
- :Arriba
- 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!"=="%Bound%" (Goto :Eof)
- if "!NMovY!"=="%Ender%" (Goto :Win)
- Set %~1=°
- set X%%pY!MovY!=%Pj%
- set CurPos=X%%pY!MovY!)
- Goto :Eof
- :Abajo
- 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!"=="%Bound%" (Goto :Eof)
- if "!NMovY!"=="%Ender%" (Goto :Win)
- Set %~1=°
- set X%%pY!MovY!=%Pj%
- set CurPos=X%%pY!MovY!)
- Goto :Eof
- :UnCoin
- Set /a "M1=%~2+%Mov%"
- Set /a "M2=%M1%%~3"
- Set "LN_%~1=!LN_%~1:~0,%M1%!°!LN_%~1:~%M2%!
- Set /a Coins+=5
- Goto :Eof
- :Gravity
- Set /a "GForce=9-%CurPos:~-1%"
- For /l %%z in (1,1,%GForce%) do (
- Call :Abajo "!CurPos!"
- If "%1"=="!CurPos!" Goto :Eof
- Call :Gp2)
- Goto :Eof
- :Gp2
- Call :Clear
- 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.
- For /l %%f in (0,1,%LimY%) do (echo. !Lin_%%f!)
- ping -n 1,5 0.0.0.0 >nul
- Goto :Eof
- :Clear
- For /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
- Goto :Eof
- :Win
- ping -n 2 0.0.0.0 >nul
- If "%Level%"=="2" (
- echo.
- echo. Muy Bien
- echo.
- echo. Ganaste %Coins%
- echo.
- echo. Puntos !
- echo.
- ping -n 4 0.0.0.0 >nul
- msg * Gracias Por Jugar
- Exit
- ) else (Goto :Vars)
- ping -n 2 0.0.0. >nul
- Exit
- :Nivel_1
- Set "CurPos=X2Y3"
- Set LN_0= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
- Set LN_1= Û°Û±±±±°±°°°±°±±±±°±±±°Û±±±±±°±±±±±°±±±±°±°°Û±°±±±°±Û°±°±±±±°°°±±±±±°±°°±°±±±±°±±±°±±±±°±±±±°±±±±±°°°°°°°±±±±±°°°Û°°°Û
- Set LN_2= Û°Û±°°°°±±°±±°±°°±°±°°±°°°±°°°±°°°°°±°°°°±±°°±°±°°±Û°±°±°°°°°°°°±°°°±°°±°±°ÛÛÛÛ°±°±Û±°°°°±°°°°°°±°°°°°°°°±°°°°°±° Û°°°Û
- Set LN_3= Û°°±±±±°±°±°±°±±±±°±±±°°±°°°±°±±±±±±±°±°±°±°Û±°°±Û°±°±±±±°°°±°°Û±±±±°±±±±°°±±±ÛÛ±±±±°±±±±°°°±°°°°°°±°°±°±°°±ÛÛ°°°Û
- Set LN_4= ÛÛÛ°°°±°±°°°±°±°°±°±°°±°ÛÛ±°°°±°°°±Û±°°°°±°°±±Û±°°±Û°±ÛÛÛ±Û°°ÛÛ±°ÛÛ±°°±°±°°°°°Û±°Û±Û±°°°°°°°±°°°±°ÛÛÛ°°°±ÛÛÛÛÛÛÛ±°°°°°Û
- Set LN_5= Û°°±±±±°±°°°±°±Û°±°±Û±°°°±°°±±±±±Û±±±±°±°°°±Û±±±°±±±±Û±±±±°°°°°±°°°±°Û±°±±±±°°±±±°Û±±±±°±±±±°±°°Û°°°°±±±±Û°°°°°Û
- Set LN_6= Û°°°°°°°°°Û°°°°Û°°°°°ÛÛÛ°°°ÛÛ°°°ÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°ÛÛÛÛÛÛÛ°°°°°Û°Û°°ÛÛ°ÛÛÛÛ°°°°ÛÛÛÛÛ°ÛÛÛÛ°Û°°ÛÛÛ°°°°°°°°Û
- Set LN_7= Û°°°°ÛÛÛ°°Û°°°°°°°°Û°°°°°°°°°°°°°°°°°°°°°ÛÛÛ°°°ÛÛÛÛÛÛÛ°°°°°Û°°°°°°°°°°°°°°°°°ÛÛÛÛÛÛ°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°Û
- Set LN_8= ÛÛÛ°°Û°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û°ÛÛÛÛ°°ÛÛÛÛ°°°°°°°°°°Û°°°°°°°°°°Û°°°°°°ÛÛ°Û°Û°ÛÛÛÛ°°°°°°°°°°°°Û°°°°°°°Û°ÛÛÛÛÛÛÛÛÛÛ°°°°°°Û
- Set LN_9= Û°°°°°°°°°°°°°°°°°°°°°°°°Û°°Û°°°°°Û°°°ÛÛ°°°°°°°°°ÛÛÛ°Û°°°°°°°°°°°°°°°°°°°Û°°°ÛÛ°°°°°°°°Û°°°°°°°°°°°°Û
- Set LN_10= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
- Goto :Eof
- :Nivel_2
- Set "CurPos=X2Y2"
- Set LN_0= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
- Set LN_1= Û°°°°°°°Û°°°°°°°°°°°°°°°°°°°°°°°Û°°°°°°°°°Û
- Set LN_2= Û°°°°°°Û°°°°°ÛÛÛ°°Û°ÛÛÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛÛÛÛ°°ÛÛÛÛ°°
- Set LN_3= ÛÛÛ°°°°°°ÛÛÛ°°°°Û°°°°°°°°°Û°Û°Û°°°°°°°°°°°Û°°°Û
- Set LN_4= Û°°°°°°°°°°°°°ÛÛÛÛÛÛ°°°°°°°Û°°°°°°°ÛÛÛ°°ÛÛ°°Û°°ÛÛ
- Set LN_5= Û°°°°°ÛÛÛ°°°°°°°°°Û°ÛÛ°°Û°°Û°°°°°°°°°°°Û°°°Û
- Set LN_6= Û°Û°°°Û°°°°ÛÛÛ°°°°ÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°ÛÛÛÛÛÛÛ°°ÛÛÛ
- Set LN_7= ÛÛÛÛ°°°°°°°°°Û°°Û°°°°°Û°°°Û°ÛÛ°°°°°°Û°°ÛÛÛÛÛÛ
- Set LN_8= Û°°°°Û°°°ÛÛ°°Û°°Û°°°°ÛÛÛÛÛ°°°ÛÛ°Û°°ÛÛÛÛ°°ÛÛ°°°°°°°Û
- Set LN_9= Û°°Û°°°Û°Û°°°°°°°°°°°°°°°°°Û°°°°°°°°°°°°Û
- Set LN_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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement