Advertisement
SmartGenius

Adventure Batch Game

May 18th, 2012
1,655
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 7.69 KB | None | 0 0
  1. @Echo Off
  2. @title Adventure Game
  3. ::Batch Game Adventure
  4. ::Coded by SmartGenius
  5. ::Batch Game Maker
  6.  
  7. setlocal enabledelayedexpansion
  8. mode con cols=14 lineS=13
  9.  
  10. If Not Exist "keyboard.exe" (Call :NoKey)
  11.  
  12. :Vars
  13. Set "Pj="
  14. Set "LimX=9"
  15. Set "LimY=10"
  16. Set "MovA=0"
  17. Set "MovB=9"
  18. Set "Bound=Û"
  19. Set "Ender= "
  20. Set "Coin="
  21.  
  22. :Init
  23. Set /a Level+=1
  24. Call :Nivel_%Level%
  25. For /l %%a in (0,1,%LimX%) do (
  26. For /l %%b in (0,1,%LimY%) do (
  27. Set X%%aY%%b=!LN_%%b:~%%a,1!))
  28. Set "%CurPos%=%Pj%"
  29. Goto :Graphic
  30.  
  31. :Graphic
  32. Call :Clear
  33. For /l %%d in (0,1,%LimY%) do (
  34. For /l %%e in (0,1,%LimX%) do (
  35. Set Lin_%%d=!Lin_%%d!!X%%eY%%d!))
  36. Echo.
  37. For /l %%f in (0,1,%LimY%) do (echo.  !Lin_%%f!)
  38. Keyboard
  39. If "%errorlevel%"=="77" (Call :Derecha "%CurPos%")
  40. If "%errorlevel%"=="75" (Call :Izquierda "%CurPos%")
  41. If "%errorlevel%"=="72" (Call :Saltar "%CurPos%")
  42. If "%errorlevel%"=="27" (msg * Gracias Por Jugar&Exit)
  43. Call :Gravity "%CurPos%"
  44. Goto :Graphic
  45.  
  46. :Derecha
  47. If "%Mov%"=="115" Goto :Eof
  48. For /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  49. Set /a MovX=%%p+1
  50. Call Set NMovX=%%X!MovX!Y%%q%%
  51. if "!NMovX!"=="%Bound%" (Goto :Eof)
  52. if "!NMovX!"=="%Ender%" (Goto :Win)
  53. if "!NMovX!"=="%Coin%" (Call :UnCoin "%%q" "%%p" "+1")
  54. Set /a Mov=Mov+1
  55. For /l %%d in (0,1,%LimY%) do (Set LNB_%%d=!LN_%%d:~%Mov%!)
  56. For /l %%a in (0,1,%LimX%) do (
  57. For /l %%b in (0,1,%LimY%) do (
  58. Set X%%aY%%b=!LNB_%%b:~%%a,1!))
  59. Set "%CurPos%=%Pj%")
  60. Goto :Eof
  61.  
  62. :Izquierda
  63. If "%Mov%"=="0" Goto :Eof
  64. For /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  65. Set /a MovX=%%p-1
  66. Call Set NMovX=%%X!MovX!Y%%q%%
  67. if "!NMovX!"=="%Bound%" (Goto :Eof)
  68. if "!NMovX!"=="%Ender%" (Goto :Win)
  69. if "!NMovX!"=="%Coin%" (Call :UnCoin "%%q" "%%p" "+1")
  70. Set /a Mov=Mov-1
  71. For /l %%d in (0,1,%LimY%) do (Set LNB_%%d=!LN_%%d:~%Mov%!)
  72. For /l %%a in (0,1,%LimX%) do (
  73. For /l %%b in (0,1,%LimY%) do (
  74. Set X%%aY%%b=!LNB_%%b:~%%a,1!))
  75. Set "%CurPos%=%Pj%")
  76. Goto :Eof
  77.  
  78. :Saltar
  79. For /l %%z in (1,1,3) do (
  80. Call :Arriba "!CurPos!"
  81. Call :Gp2)
  82. Call :Derecha "%CurPos%"
  83. Call :Gp2
  84. Goto :Eof
  85.  
  86. :Arriba
  87. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  88. set /a MovY=%%q-1
  89. call set NMovY=%%X%%pY!MovY!%%
  90. if "!NMovY!"=="%Bound%" (Goto :Eof)
  91. if "!NMovY!"=="%Ender%" (Goto :Win)
  92. Set %~1
  93. set X%%pY!MovY!=%Pj%
  94. set CurPos=X%%pY!MovY!)
  95. Goto :Eof
  96.  
  97. :Abajo
  98. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  99. set /a MovY=%%q+1
  100. call set NMovY=%%X%%pY!MovY!%%
  101. if "!NMovY!"=="%Bound%" (Goto :Eof)
  102. if "!NMovY!"=="%Ender%" (Goto :Win)
  103. Set %~1
  104. set X%%pY!MovY!=%Pj%
  105. set CurPos=X%%pY!MovY!)
  106. Goto :Eof
  107.  
  108. :UnCoin
  109. Set /a "M1=%~2+%Mov%"
  110. Set /a "M2=%M1%%~3"
  111. Set "LN_%~1=!LN_%~1:~0,%M1%!°!LN_%~1:~%M2%!
  112. Set /a Coins+=5
  113. Goto :Eof
  114.  
  115. :Gravity
  116. Set /a "GForce=9-%CurPos:~-1%"
  117. For /l %%z in (1,1,%GForce%) do (
  118. Call :Abajo "!CurPos!"
  119. If "%1"=="!CurPos!" Goto :Eof
  120. Call :Gp2)
  121. Goto :Eof
  122.  
  123. :Gp2
  124. Call :Clear
  125. For /l %%d in (0,1,%LimY%) do (
  126. For /l %%e in (0,1,%LimX%) do (
  127. Set Lin_%%d=!Lin_%%d!!X%%eY%%d!))
  128. Echo.
  129. For /l %%f in (0,1,%LimY%) do (echo.  !Lin_%%f!)
  130. ping -n 1,5 0.0.0.0 >nul
  131. Goto :Eof
  132.  
  133. :Clear
  134. For /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
  135. Goto :Eof
  136.  
  137. :Win
  138. ping -n 2 0.0.0.0 >nul
  139. If "%Level%"=="2" (
  140. echo.
  141. echo.  Muy Bien
  142. echo.
  143. echo. Ganaste %Coins%
  144. echo.
  145. echo.   Puntos !
  146. echo.
  147. ping -n 4 0.0.0.0 >nul
  148. msg * Gracias Por Jugar
  149. Exit
  150. ) else (Goto :Vars)
  151. ping -n 2 0.0.0. >nul
  152. Exit
  153.  
  154.  
  155. :Nivel_1
  156. Set "CurPos=X2Y3"
  157. Set LN_0= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
  158. Set LN_1= Û°Û±±±±°±°°°±°±±±±°±±±°Û±±±±±°±±±±±°±±±±°±°°Û±°±±±°±Û°±°±±±±°°°±±±±±°±°°±°±±±±°±±±°±±±±°±±±±°±±±±±°°°°°°°±±±±±°°°Û°°°Û
  159. Set LN_2= Û°Û±°°°°±±°±±°±°°±°±°°±°°°±°°°±°°°°°±°°°°±±°°±°±°°±Û°±°±°°°°°°°°±°°°±°°±°±°ÛÛÛÛ°±°±Û±°°°°±°°°°°°±°°°°°°°°±°°°°°±° Û°°°Û
  160. Set LN_3= Û°°±±±±°±°±°±°±±±±°±±±°°±°°°±°±±±±±±±°±°±°±°Û±°°±Û°±°±±±±°°°±°°Û±±±±°±±±±°°±±±ÛÛ±±±±°±±±±°°°±°°°°°°±°°±°±°°±ÛÛ°°°Û
  161. Set LN_4= ÛÛÛ°°°±°±°°°±°±°°±°±°°±°ÛÛ±°°°±°°°±Û±°°°°±°°±±Û±°°±Û°±ÛÛÛ±Û°°ÛÛ±°ÛÛ±°°±°±°°°°°Û±°Û±Û±°°°°°°°±°°°±°ÛÛÛ°°°±ÛÛÛÛÛÛÛ±°°°°°Û
  162. Set LN_5= Û°°±±±±°±°°°±°±Û°±°±Û±°°°±°°±±±±±Û±±±±°±°°°±Û±±±°±±±±Û±±±±°°°°°±°°°±°Û±°±±±±°°±±±°Û±±±±°±±±±°±°°Û°°°°±±±±Û°°°°°Û
  163. Set LN_6= Û°°°°°°°°°Û°°°°Û°°°°°ÛÛÛ°°°ÛÛ°°°ÛÛÛÛ°°°°°°°°°°°°°°°°°°°°°°°ÛÛ°°ÛÛÛÛÛÛÛ°°°°°Û°Û°°ÛÛ°ÛÛÛÛ°°°°ÛÛÛÛÛ°ÛÛÛÛ°Û°°ÛÛÛ°°°°°°°°Û
  164. Set LN_7= Û°°°°ÛÛÛ°°Û°°°°°°°°Û°°°°°°°°°°°°°°°°°°°°°ÛÛÛ°°°ÛÛÛÛÛÛÛ°°°°°Û°°°°°°°°°°°°°°°°°ÛÛÛÛÛÛ°°°ÛÛ°°°°°°°°°°°°°°°°°°°°°°°°°°Û
  165. Set LN_8= ÛÛÛ°°Û°°°°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û°ÛÛÛÛ°°ÛÛÛÛ°°°°°°°°°°Û°°°°°°°°°°Û°°°°°°ÛÛ°Û°Û°ÛÛÛÛ°°°°°°°°°°°°Û°°°°°°°Û°ÛÛÛÛÛÛÛÛÛÛ°°°°°°Û
  166. Set LN_9= Û°°°°°°°°°°°°°°°°°°°°°°°°Û°°Û°°°°°Û°°°ÛÛ°°°°°°°°°ÛÛÛ°Û°°°°°°°°°°°°°°°°°°°Û°°°ÛÛ°°°°°°°°Û°°°°°°°°°°°°Û
  167. Set LN_10= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
  168. Goto :Eof
  169.  
  170. :Nivel_2
  171. Set "CurPos=X2Y2"
  172. Set LN_0= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
  173. Set LN_1= Û°°°°°°°Û°°°°°°°°°°°°°°°°°°°°°°°Û°°°°°°°°°Û
  174. Set LN_2= Û°°°°°°Û°°°°°ÛÛÛ°°Û°ÛÛÛÛÛÛÛÛÛÛ°°ÛÛ°°ÛÛÛÛÛ°°ÛÛÛÛ°°
  175. Set LN_3= ÛÛÛ°°°°°°ÛÛÛ°°°°Û°°°°°°°°°Û°Û°Û°°°°°°°°°°°Û°°°Û
  176. Set LN_4= Û°°°°°°°°°°°°°ÛÛÛÛÛÛ°°°°°°°Û°°°°°°°ÛÛÛ°°ÛÛ°°Û°°ÛÛ
  177. Set LN_5= Û°°°°°ÛÛÛ°°°°°°°°°Û°ÛÛ°°Û°°Û°°°°°°°°°°°Û°°°Û
  178. Set LN_6= Û°Û°°°Û°°°°ÛÛÛ°°°°ÛÛÛÛÛÛÛÛÛÛ°°°°°°°°°ÛÛÛÛÛÛÛ°°ÛÛÛ
  179. Set LN_7= ÛÛÛÛ°°°°°°°°°Û°°Û°°°°°Û°°°Û°ÛÛ°°°°°°Û°°ÛÛÛÛÛÛ
  180. Set LN_8= Û°°°°Û°°°ÛÛ°°Û°°Û°°°°ÛÛÛÛÛ°°°ÛÛ°Û°°ÛÛÛÛ°°ÛÛ°°°°°°°Û
  181. Set LN_9= Û°°Û°°°Û°Û°°°°°°°°°°°°°°°°°Û°°°°°°°°°°°°Û
  182. Set LN_10= ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
  183. Goto :Eof
  184.  
  185. :NoKey
  186. Cls
  187. echo.
  188. echo. Cargando...
  189. call :Keyboard
  190. Goto :Eof
  191.  
  192. :Keyboard
  193. (
  194. echo n keyboard.dat
  195. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  196. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  197. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  198. echo rcx
  199. echo 002E
  200. echo w0
  201. echo q
  202. echo.
  203. )>keyboard.dat
  204. type keyboard.dat|debug>NUL 2>&1
  205. del /f/q/a "keyboard.exe">NUL 2>&1
  206. ren keyboard.dat "keyboard.exe"
  207. Goto :Eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement