Título: [Batch Game] Adventure Game - by SmartGenius
Publicado por: SmartGenius en 17 Julio 2009, 06:15 am
Bueno, otro mas a la lista, un nuevo juego Batch con un enfoque diferente, parecido al clasico Mario Bros. Descargar: http://one.xthost.info/smartv2/BatchGames/AdventureGamev1bySmartGenius.zip @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 Cualquier duda, comentario o sugerencia pueden hacerla... =D Saludos.
|