Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: moikano→@ en 2 Diciembre 2010, 11:59 am



Título: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 11:59 am
Hola, aquí os dejo una recopilación de juegos creados en batch que encontré por la red hace un tiempo. Por supuesto son encontradas no creadas por mi, si algún juego no tiene su firma los siento pero desconozco al autor ya que hace tiempo que lo busqué y no me acuerdo de las referencias de donde los saqué.
------------------------------------------------------------------------------

1er Juego: el clásico 3 en raya.

Código
  1. @echo off
  2. title    Gato     -     KeseriK.es.tl
  3. color 9
  4. set suario=0
  5. set omputador=0
  6. set mpates=0
  7. set circulo=O
  8. set cruz=X
  9.  
  10. :escoje
  11. cls
  12. echo   Escoje
  13. echo            1   --   X
  14. echo            0   --   O
  15. set /p jugad=    
  16. if %jugad%==1 goto cru
  17. if %jugad%==0 (goto circu) else (goto eki)
  18.  
  19. :eki
  20. echo  Esa tecla no es valida
  21. pause>nul
  22. goto escoje
  23.  
  24. :cru
  25. set jugada=X
  26. set computadores=O
  27. goto randomize
  28.  
  29. :circu
  30. set jugada=O
  31. set computadores=X
  32. goto randomize
  33.  
  34. :randomize
  35. set guion=-
  36. set uno=-
  37. set dos=-
  38. set tres=-
  39. set cuatro=-
  40. set cinco=-
  41. set seis=-
  42. set siete=-
  43. set ocho=-
  44. set nueve=-
  45. set one=1
  46. set two=2
  47. set three=3
  48. set four=4
  49. set five=5
  50. set six=6
  51. set seven=7
  52. set eight=8
  53. set nine=9
  54. set /a rand=%random%
  55. if %rand% leq 2000 goto compu
  56. if %rand% leq 4000 goto inicio
  57. if %rand% leq 6000 goto compu
  58. if %rand% leq 8000 goto inicio
  59. if %rand% leq 10000 goto compu
  60. if %rand% leq 12000 goto inicio
  61. if %rand% leq 14000 goto compu
  62. if %rand% leq 16000 goto inicio
  63. if %rand% leq 18000 goto compu
  64. if %rand% leq 20000 goto inicio
  65. if %rand% leq 22000 goto compu
  66. if %rand% leq 24000 goto inicio
  67. if %rand% leq 26000 goto compu
  68. if %rand% leq 28000 goto inicio
  69. if %rand% leq 30000 goto compu
  70. if %rand% leq 32000 goto inicio
  71. if %rand% leq 34000 goto compu
  72.  
  73. :inicio
  74. cls
  75. echo    " " " " " " " " " " " " " " " " " " "
  76. echo    "                                   "
  77. echo    "              |     |              "
  78. echo    "           %siete%  |  %ocho%  |  %nueve%           "       Estos son los numeros:
  79. echo    "         _____|_____|_____         "
  80. echo    "              |     |              "
  81. echo    "           %cuatro%  |  %cinco%  |  %seis%           "                           7  8  9
  82. echo    "         _____|_____|_____         "   Usuario    :  %suario%
  83. echo    "              |     |              "                           4  5  6
  84. echo    "           %uno%  |  %dos%  |  %tres%           "   Computador :  %omputador%
  85. echo    "              |     |              "                           1  2  3
  86. echo    "                                   "   Empates    :  %mpates%
  87. echo    " " " " " " " " " " " " " " " " " " "
  88. if %uno%%dos%%tres%==%computadores%%computadores%%computadores% goto fin_compu
  89. if %cuatro%%cinco%%seis%==%computadores%%computadores%%computadores% goto fin_compu
  90. if %siete%%ocho%%nueve%==%computadores%%computadores%%computadores% goto fin_compu
  91. if %uno%%cuatro%%siete%==%computadores%%computadores%%computadores% goto fin_compu
  92. if %dos%%cinco%%ocho%==%computadores%%computadores%%computadores% goto fin_compu
  93. if %tres%%seis%%nueve%==%computadores%%computadores%%computadores% goto fin_compu
  94. if %cinco%%siete%%tres%==%computadores%%computadores%%computadores% goto fin_compu
  95. if %nueve%%cinco%%uno%==%computadores%%computadores%%computadores% goto fin_compu
  96. if %uno%==%guion% goto usuario_juega
  97. if %dos%==%guion% goto usuario_juega
  98. if %tres%==%guion% goto usuario_juega
  99. if %cuatro%==%guion% goto usuario_juega
  100. if %cinco%==%guion% goto usuario_juega
  101. if %seis%==%guion% goto usuario_juega
  102. if %siete%==%guion% goto usuario_juega
  103. if %ocho%==%guion% goto usuario_juega
  104. if %nueve%==%guion% (goto usuario_juega) else (goto empate)
  105.  
  106. :usuario_juega
  107. echo   Juegas con %jugada%
  108. set /p usuario=  elige tu jugada (1-9):  
  109. if %usuario%==%one% (goto usuario_uno)
  110. if %usuario%==%two% (goto usuario_dos)
  111. if %usuario%==%three% (goto usuario_tres)
  112. if %usuario%==%four% (goto usuario_cuatro)
  113. if %usuario%==%five% (goto usuario_cinco)
  114. if %usuario%==%six% (goto usuario_seis)
  115. if %usuario%==%seven% (goto usuario_siete)
  116. if %usuario%==%eight% (goto usuario_ocho)
  117. if %usuario%==%nine% (goto usuario_nueve) else (goto otro)
  118.  
  119. :otro
  120. echo  Esa tecla no es valida
  121. pause>nul
  122. goto inicio
  123.  
  124. :usuario_uno
  125. if %uno%==%circulo% (goto ocu)
  126. if %uno%==%cruz% (goto ocu)
  127. set uno=%jugada%
  128. goto compu
  129.  
  130. :usuario_dos
  131. if %dos%==%circulo% (goto ocu)
  132. if %dos%==%cruz% (goto ocu)
  133. set dos=%jugada%
  134. goto compu
  135.  
  136. :usuario_tres
  137. if %tres%==%circulo% (goto ocu)
  138. if %tres%==%cruz% (goto ocu)
  139. set tres=%jugada%
  140. goto compu
  141.  
  142. :usuario_cuatro
  143. if %cuatro%==%circulo% (goto ocu)
  144. if %cuatro%==%cruz% (goto ocu)
  145. set cuatro=%jugada%
  146. goto compu
  147.  
  148. :usuario_cinco
  149. if %cinco%==%circulo% (goto ocu)
  150. if %cinco%==%cruz% (goto ocu)
  151. set cinco=%jugada%
  152. goto compu
  153.  
  154. :usuario_seis
  155. if %seis%==%circulo% (goto ocu)
  156. if %seis%==%cruz% (goto ocu)
  157. set seis=%jugada%
  158. goto compu
  159.  
  160. :usuario_siete
  161. if %siete%==%circulo% (goto ocu)
  162. if %siete%==%cruz% (goto ocu)
  163. set siete=%jugada%
  164. goto compu
  165.  
  166. :usuario_ocho
  167. if %ocho%==%circulo% (goto ocu)
  168. if %ocho%==%cruz% (goto ocu)
  169. set ocho=%jugada%
  170. goto compu
  171.  
  172. :usuario_nueve
  173. if %nueve%==%circulo% (goto ocu)
  174. if %nueve%==%cruz% (goto ocu)
  175. set nueve=%jugada%
  176. goto compu
  177.  
  178. :ocu
  179. echo Esta casilla ya esta ocupada
  180. pause>nul
  181. goto inicio
  182.  
  183. :compu
  184. if %uno%%dos%%tres%==%jugada%%jugada%%jugada% goto fin_usu
  185. if %cuatro%%cinco%%seis%==%jugada%%jugada%%jugada% goto fin_usu
  186. if %siete%%ocho%%nueve%==%jugada%%jugada%%jugada% goto fin_usu
  187. if %uno%%cuatro%%siete%==%jugada%%jugada%%jugada% goto fin_usu
  188. if %dos%%cinco%%ocho%==%jugada%%jugada%%jugada% goto fin_usu
  189. if %tres%%seis%%nueve%==%jugada%%jugada%%jugada% goto fin_usu
  190. if %siete%%cinco%%tres%==%jugada%%jugada%%jugada% goto fin_usu
  191. if %nueve%%cinco%%uno%==%jugada%%jugada%%jugada% goto fin_usu
  192. if %uno%%dos%%tres%==%computadores%%computadores%%guion% goto si_tres
  193. if %uno%%dos%%tres%==%computadores%%guion%%computadores% goto si_dos
  194. if %uno%%dos%%tres%==%guion%%computadores%%computadores% goto si_uno
  195. if %cuatro%%cinco%%seis%==%computadores%%computadores%%guion% goto si_seis
  196. if %cuatro%%cinco%%seis%==%computadores%%guion%%computadores% goto si_cinco
  197. if %cuatro%%cinco%%seis%==%guion%%computadores%%computadores% goto si_cuatro
  198. if %siete%%ocho%%nueve%==%computadores%%computadores%%guion% goto si_nueve
  199. if %siete%%ocho%%nueve%==%computadores%%guion%%computadores% goto si_ocho
  200. if %siete%%ocho%%nueve%==%guion%%computadores%%computadores% goto si_siete
  201. if %uno%%cuatro%%siete%==%computadores%%computadores%%guion% goto si_siete
  202. if %uno%%cuatro%%siete%==%computadores%%guion%%computadores% goto si_cuatro
  203. if %uno%%cuatro%%siete%==%guion%%computadores%%computadores% goto si_uno
  204. if %dos%%cinco%%ocho%==%computadores%%computadores%%guion% goto si_ocho
  205. if %dos%%cinco%%ocho%==%computadores%%guion%%computadores% goto si_cinco
  206. if %dos%%cinco%%ocho%==%guion%%computadores%%computadores% goto si_dos
  207. if %tres%%seis%%nueve%==%computadores%%computadores%%guion% goto si_nueve
  208. if %tres%%seis%%nueve%==%computadores%%guion%%computadores% goto si_seis
  209. if %tres%%seis%%nueve%==%guion%%computadores%%computadores% goto si_tres
  210. if %siete%%cinco%%tres%==%computadores%%computadores%%guion% goto si_tres
  211. if %siete%%cinco%%tres%==%computadores%%guion%%computadores% goto si_cinco
  212. if %siete%%cinco%%tres%==%guion%%computadores%%computadores% goto si_siete
  213. if %nueve%%cinco%%uno%==%computadores%%computadores%%guion% goto si_uno
  214. if %nueve%%cinco%%uno%==%computadores%%guion%%computadores% goto si_cinco
  215. if %nueve%%cinco%%uno%==%guion%%computadores%%computadores% goto si_nueve
  216. if %uno%%dos%%tres%==%jugada%%jugada%%guion% goto si_tres
  217. if %uno%%dos%%tres%==%jugada%%guion%%jugada% goto si_dos
  218. if %uno%%dos%%tres%==%guion%%jugada%%jugada% goto si_uno
  219. if %cuatro%%cinco%%seis%==%jugada%%jugada%%guion% goto si_seis
  220. if %cuatro%%cinco%%seis%==%jugada%%guion%%jugada% goto si_cinco
  221. if %cuatro%%cinco%%seis%==%guion%%jugada%%jugada% goto si_cuatro
  222. if %siete%%ocho%%nueve%==%jugada%%jugada%%guion% goto si_nueve
  223. if %siete%%ocho%%nueve%==%jugada%%guion%%jugada% goto si_ocho
  224. if %siete%%ocho%%nueve%==%guion%%jugada%%jugada% goto si_siete
  225. if %uno%%cuatro%%siete%==%jugada%%jugada%%guion% goto si_siete
  226. if %uno%%cuatro%%siete%==%jugada%%guion%%jugada% goto si_cuatro
  227. if %uno%%cuatro%%siete%==%guion%%jugada%%jugada% goto si_uno
  228. if %dos%%cinco%%ocho%==%jugada%%jugada%%guion% goto si_ocho
  229. if %dos%%cinco%%ocho%==%jugada%%guion%%jugada% goto si_cinco
  230. if %dos%%cinco%%ocho%==%guion%%jugada%%jugada% goto si_dos
  231. if %tres%%seis%%nueve%==%jugada%%jugada%%guion% goto si_nueve
  232. if %tres%%seis%%nueve%==%jugada%%guion%%jugada% goto si_seis
  233. if %tres%%seis%%nueve%==%guion%%jugada%%jugada% goto si_tres
  234. if %siete%%cinco%%tres%==%jugada%%jugada%%guion% goto si_tres
  235. if %siete%%cinco%%tres%==%jugada%%guion%%jugada% goto si_cinco
  236. if %siete%%cinco%%tres%==%guion%%jugada%%jugada% goto si_siete
  237. if %nueve%%cinco%%uno%==%jugada%%jugada%%guion% goto si_uno
  238. if %nueve%%cinco%%uno%==%jugada%%guion%%jugada% goto si_cinco
  239. if %nueve%%cinco%%uno%==%guion%%jugada%%jugada% goto si_nueve
  240. if %uno%==- goto computador
  241. if %dos%==- goto computador
  242. if %tres%==- goto computador
  243. if %cuatro%==- goto computador
  244. if %cinco%==- goto computador
  245. if %seis%==- goto computador
  246. if %siete%==- goto computador
  247. if %ocho%==- goto computador
  248. if %nueve%==- (goto computador) else (goto empate)
  249.  
  250. :computador
  251. set /a x=%random%
  252. if %x% leq 3640 goto siete
  253. if %x% leq 7280 goto ocho
  254. if %x% leq 10920 goto seis
  255. if %x% leq 14560 goto uno
  256. if %x% leq 18200 goto cinco
  257. if %x% leq 21840 goto nueve
  258. if %x% leq 25480 goto cuatro
  259. if %x% leq 29120 goto tres
  260. if %x% leq 32767 goto dos
  261.  
  262. :uno
  263. if %uno%==%guion% (goto si_uno) else (goto compu)
  264. :dos
  265. if %dos%==%guion% (goto si_dos) else (goto compu)
  266. :tres
  267. if %tres%==%guion% (goto si_tres) else (goto compu)
  268.  
  269. :cuatro
  270. if %cuatro%==%guion% (goto si_cuatro) else (goto compu)
  271.  
  272. :cinco
  273. if %cinco%==%guion% (goto si_cinco) else (goto compu)
  274.  
  275. :seis
  276. if %seis%==%guion% (goto si_seis) else (goto compu)
  277.  
  278. :siete
  279. if %siete%==%guion% (goto si_siete) else (goto compu)
  280.  
  281. :ocho
  282. if %ocho%==%guion% (goto si_ocho) else (goto compu)
  283.  
  284. :nueve
  285. if %nueve%==%guion% (goto si_nueve) else (goto compu)
  286.  
  287. :si_uno
  288. set uno=%computadores%
  289. goto inicio
  290.  
  291. :si_dos
  292. set dos=%computadores%
  293. goto inicio
  294.  
  295. :si_tres
  296. set tres=%computadores%
  297. goto inicio
  298.  
  299. :si_cuatro
  300. set cuatro=%computadores%
  301. goto inicio
  302.  
  303. :si_cinco
  304. set cinco=%computadores%
  305. goto inicio
  306.  
  307. :si_seis
  308. set seis=%computadores%
  309. goto inicio
  310.  
  311. :si_siete
  312. set siete=%computadores%
  313. goto inicio
  314.  
  315. :si_ocho
  316. set ocho=%computadores%
  317. goto inicio
  318.  
  319. :si_nueve
  320. set nueve=%computadores%
  321. goto inicio
  322.  
  323. :fin_compu
  324. echo       Game over
  325. set /a omputador=omputador+1
  326. echo   Presione una tecla para volver a jugar
  327. pause>nul
  328. goto randomize
  329.  
  330. :fin_usu
  331. echo       You Win
  332. set /a suario=suario+1
  333. echo   Presione una tecla para volver a jugar
  334. pause>nul
  335. goto randomize
  336.  
  337. :empate
  338. echo      Empate
  339. set /a mpates=mpates+1
  340. echo   Presione una tecla para volver a jugar
  341. pause>nul
  342. goto randomize


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 12:20 pm
2º Juego: Piedra, papel o tijera. Este juego es bastante simple y ovio, ya que la convinación es siempre la misma. No tiene un gran random.

Código
  1. @echo off
  2. :volver
  3. set tu=
  4. set r=%random%
  5. set p=15000
  6. set a=20000
  7. set t=25000
  8. if %r% LEQ %p% (goto piedra)
  9. if %r% LEQ %a% (goto papel)
  10. if %r% LEQ %t% (goto tigera)
  11. if %r% GEQ %t% (goto tigera)
  12. :piedra
  13. echo 1 piedra
  14. echo 2 papel
  15. echo 3 tigera
  16. echo elige 1,2 o 3
  17. set/p tu=
  18. if %tu%==1 (
  19. echo EMPATE :!
  20. cls
  21. goto volver
  22. )
  23. if %tu%==2 (
  24. echo GANASTE ¡¡¡
  25. cls
  26. goto volver
  27. )
  28. if %tu%==3 (
  29. echo PERDISTE !!!
  30. cls
  31. goto volver
  32. )
  33. :papel
  34. echo 1 piedra
  35. echo 2 papel
  36. echo 3 tigera
  37. echo elige 1,2 o 3
  38. set/p tu=
  39. if %tu%==2 (
  40. echo EMPATE :!
  41. cls
  42. goto volver
  43. )
  44. if %tu%==3 (
  45. echo GANASTE ¡¡¡
  46. cls
  47. goto volver
  48. )
  49. if %tu%==1 (
  50. echo PERDISTE !!!
  51. cls
  52. goto volver
  53. )
  54. :tigera
  55. echo 1 piedra
  56. echo 2 papel
  57. echo 3 tigera
  58. echo elige 1,2 o 3
  59. set/p tu=
  60. if %tu%==3 (
  61. echo EMPATE :!
  62. cls
  63. goto volver
  64. )
  65. if %tu%==1 (
  66. echo GANASTE ¡¡¡
  67. cls
  68. goto volver
  69. )
  70. if %tu%==2 (
  71. echo PERDISTE !!!
  72. cls
  73. goto volver
  74.  
  75. )


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 12:21 pm
3er Juego: Otro 3 en raya creado de otra forma y llamado "El juego del gato" supongo que en colombia se llamará así el juego.

Código
  1. @ECHO OFF
  2.  
  3. REM " AQUI MIRA SI SE ESTA INICIANDO EL JUEGO Y SI ES ASI BORRA
  4.  
  5. REM TODA HUELLA DE ALGUNA POSIBLE SALIDA INCORRECTA DEL JUEGO ".
  6.  
  7. @IF A == %1 GOTO BEGIN
  8.  
  9. @IF X == %1 GOTO BEGIN
  10.  
  11. @IF O == %1 GOTO BEGIN
  12.  
  13. IF EXIST *.T DEL *.T
  14.  
  15. :BEGIN
  16.  
  17. REM " EN ESTA PARTE MIRA Y ACTUALIZA LA CANTIDAD DE JUGADAS YA REALIZADAS "
  18.  
  19. IF NOT EXIST *.T CLS
  20.  
  21. IF EXIST 9.T REN 9.T 10.T
  22.  
  23. IF EXIST 10.T GOTO INICIO
  24.  
  25. IF EXIST 8.T REN 8.T 9.T
  26.  
  27. IF EXIST 9.T GOTO INI
  28.  
  29. IF EXIST 7.T REN 7.T 8.T
  30.  
  31. IF EXIST 8.T GOTO INI
  32.  
  33. IF EXIST 6.T REN 6.T 7.T
  34.  
  35. IF EXIST 7.T GOTO INI
  36.  
  37. IF EXIST 5.T REN 5.T 6.T
  38.  
  39. IF EXIST 6.T GOTO INI
  40.  
  41. IF EXIST 4.T REN 4.T 5.T
  42.  
  43. IF EXIST 5.T GOTO INI
  44.  
  45. IF EXIST 3.T REN 3.T 4.T
  46.  
  47. IF EXIST 4.T GOTO INI
  48.  
  49. IF EXIST 2.T REN 2.T 3.T
  50.  
  51. IF EXIST 3.T GOTO INI
  52.  
  53. IF EXIST 1.T REN 1.T 2.T
  54.  
  55. IF EXIST 2.T GOTO INI
  56.  
  57. IF EXIST 0.T REN 0.T 1.T
  58.  
  59. IF EXIST 1.T GOTO INI
  60.  
  61. REM " ESTA ES LA PORTADA DE BIENVENIDA "
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. IF NOT EXIST 0.T ECHO                        BIENVENIDO A: " BATCHRUN TRIQUI "
  70.  
  71.  
  72.  
  73.  
  74. IF NOT EXIST 0.T ECHO                            DISE¥ADO POR: BLACKWOLF
  75.  
  76.  
  77.  
  78.  
  79. IF NOT EXIST 0.T ECHO                         TODOS LOS DERECHOS RESERVADOS
  80.  
  81.  
  82. IF NOT EXIST 0.T ECHO                             COLOMBIA COFFEE HACKERS
  83.  
  84.  
  85. IF NOT EXIST 0.T ECHO TRIQUI > 0.T
  86.  
  87. REM "AQUI SE CREA UN SUBPROGRAMITA QUE USARA EL JUEGO PARA PODER LEER
  88.  
  89. REM LAS OPCIONES QUE TECLEE EL JUGADOR, SIEMPRE Y CUANDO NO EXISTA "
  90.  
  91. IF EXIST CODTECLA.COM GOTO NDEBUG
  92.  
  93. :DEBUG
  94.  
  95. ECHO N CODTECLA.COM >> CT.SCR
  96.  
  97. ECHO A 100 >> CT.SCR
  98.  
  99. ECHO INT 16 >> CT.SCR
  100.  
  101. ECHO MOV AL, AH >> CT.SCR
  102.  
  103. ECHO MOV AH, 4C  >> CT.SCR
  104.  
  105. ECHO INT 21  >> CT.SCR
  106.  
  107. ECHO.  >> CT.SCR
  108.  
  109. ECHO R CX  >> CT.SCR
  110.  
  111. ECHO 8  >> CT.SCR
  112.  
  113. ECHO W  >> CT.SCR
  114.  
  115. ECHO Q  >> CT.SCR
  116.  
  117. DEBUG < CT.SCR > NUL
  118.  
  119. DEL CT.SCR
  120.  
  121. :NDEBUG
  122.  
  123. REM " AQUI SE INICIA Y ASIGNAN LOS PRIMEROS VALORES A LA MATRIZ DEL JUEGO "
  124.  
  125. %0 A B C D E F G H I
  126.  
  127. REM " EN ESTA PARTE MIRA CON QUE SIGNO (X,O) HACER LA JUGADA "
  128.  
  129. :INI
  130.  
  131. IF NOT EXIST X.T GOTO INIA
  132.  
  133. IF EXIST X.T GOTO INIB
  134.  
  135. :INIA
  136.  
  137. ECHO TRIQUI > X.T
  138.  
  139. GOTO INICIO
  140.  
  141. :INIB
  142.  
  143. DEL X.T
  144.  
  145. GOTO INICIO
  146.  
  147. REM " AQUI SE MUESTRA EN PANTALLA LA MATRIZ CON LOS VALORES QUE SE TRAIGAN "
  148.  
  149. :INICIO
  150.  
  151. CLS
  152.  
  153.  
  154.  
  155. ECHO                  TECLEE LA LETRA EN DONDE QUIERE HACER SU JUGADA :
  156.  
  157.  
  158.  
  159. ECHO                                   ÉÍÍÍËÍÍÍËÍÍÍ»
  160.  
  161. ECHO                                   º %1 º %2 º %3 º
  162.  
  163. ECHO                                   ÌÍÍÍÎÍÍÍÎÍÍ͹
  164.  
  165. ECHO                                   º %4 º %5 º %6 º
  166.  
  167. ECHO                                   ÌÍÍÍÎÍÍÍÎÍÍ͹
  168.  
  169. ECHO                                   º %7 º %8 º %9 º
  170.  
  171. ECHO                                   ÈÍÍÍÊÍÍÍÊÍÍÍŒ
  172.  
  173.  
  174. ECHO                             O PULSE " ESC " PARA SALIR.
  175.  
  176.  
  177. REM " EN ESTA PARTE SE COMPARAN LOS VALORES DE LA MATRIZ DEL JUEGO
  178.  
  179. REM PARA SABER SI ALGUIEN GANO Y SE FELICITA A QUIEN LO HIZO"
  180.  
  181. IF %1 == %2 IF %2 == %3 ECHO 
  182.  
  183. IF %1 == %2 IF %2 == %3 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  184.  
  185. IF %1 == %2 IF %2 == %3 PAUSE > NUL
  186.  
  187. IF %1 == %2 IF %2 == %3 GOTO FIN
  188.  
  189. IF %4 == %5 IF %5 == %6 ECHO 
  190.  
  191. IF %4 == %5 IF %5 == %6 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  192.  
  193. IF %4 == %5 IF %5 == %6 PAUSE > NUL
  194.  
  195. IF %4 == %5 IF %5 == %6 GOTO FIN
  196.  
  197. IF %7 == %8 IF %8 == %9 ECHO 
  198.  
  199. IF %7 == %8 IF %8 == %9 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  200.  
  201. IF %7 == %8 IF %8 == %9 PAUSE > NUL
  202.  
  203. IF %7 == %8 IF %8 == %9 GOTO FIN
  204.  
  205. IF %1 == %4 IF %4 == %7 ECHO 
  206.  
  207. IF %1 == %4 IF %4 == %7 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  208.  
  209. IF %1 == %4 IF %4 == %7 PAUSE > NUL
  210.  
  211. IF %1 == %4 IF %4 == %7 GOTO FIN
  212.  
  213. IF %2 == %5 IF %5 == %8 ECHO 
  214.  
  215. IF %2 == %5 IF %5 == %8 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  216.  
  217. IF %2 == %5 IF %5 == %8 PAUSE > NUL
  218.  
  219. IF %2 == %5 IF %5 == %8 GOTO FIN
  220.  
  221. IF %3 == %6 IF %6 == %9 ECHO 
  222.  
  223. IF %3 == %6 IF %6 == %9 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  224.  
  225. IF %3 == %6 IF %6 == %9 PAUSE > NUL
  226.  
  227. IF %3 == %6 IF %6 == %9 GOTO FIN
  228.  
  229. IF %1 == %5 IF %5 == %9 ECHO 
  230.  
  231. IF %1 == %5 IF %5 == %9 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  232.  
  233. IF %1 == %5 IF %5 == %9 PAUSE > NUL
  234.  
  235. IF %1 == %5 IF %5 == %9 GOTO FIN
  236.  
  237. IF %7 == %5 IF %5 == %3 ECHO 
  238.  
  239. IF %7 == %5 IF %5 == %3 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !
  240.  
  241. IF %7 == %5 IF %5 == %3 PAUSE > NUL
  242.  
  243. IF %7 == %5 IF %5 == %3 GOTO FIN
  244.  
  245. REM " SI EXISTE 10.T SIGNIFICA QUE HIZO LA ULTIMA JUGADA Y SI SE LLEGO A ESTA
  246.  
  247. REM  PARTE, ES QUE NADIE GANO, POR LO QUE SE EJECUTA EL FINAL DEL JUEGO "
  248.  
  249. IF EXIST 10.T  ECHO                             NADIE GANO EN ESTA OCACION
  250.  
  251. IF EXIST 10.T PAUSE > NUL
  252.  
  253. IF EXIST 10.T GOTO FIN
  254.  
  255. :COD
  256.  
  257. REM " EN ESTA PARTE SE LEE LA OPCION QUE DESEA EL JUGADOR ELEGIR "
  258.  
  259. CODTECLA
  260.  
  261. REM " AQUI SE EJECUTA LA OPCION ELEGIDA POR EL JUGADOR "
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273. GOTO INICIO
  274.  
  275. REM " EN ESTA PARTE SE ENVIA A LA MATRIZ EL VALOR SELECCIONADO Y
  276.  
  277. REM SE MUESTRA EN PANTALLA LA MATRIZ DEL JUEGO COMPLETA "
  278.  
  279. :A
  280.  
  281. IF %1 == X GOTO INICIO
  282.  
  283. IF %1 == x GOTO INICIO
  284.  
  285. IF %1 == O GOTO INICIO
  286.  
  287. IF %1 == o GOTO INICIO
  288.  
  289. IF EXIST X.T %0 X %2 %3 %4 %5 %6 %7 %8 %9
  290.  
  291. IF NOT EXIST X.T %0 O %2 %3 %4 %5 %6 %7 %8 %9
  292.  
  293. :B
  294.  
  295. IF %2 == X GOTO INICIO
  296.  
  297. IF %2 == x GOTO INICIO
  298.  
  299. IF %2 == O GOTO INICIO
  300.  
  301. IF %2 == o GOTO INICIO
  302.  
  303. IF EXIST X.T %0 %1 X %3 %4 %5 %6 %7 %8 %9
  304.  
  305. IF NOT EXIST X.T %0 %1 O %3 %4 %5 %6 %7 %8 %9
  306.  
  307. :C
  308.  
  309. IF %3 == X GOTO INICIO
  310.  
  311. IF %3 == x GOTO INICIO
  312.  
  313. IF %3 == O GOTO INICIO
  314.  
  315. IF %3 == o GOTO INICIO
  316.  
  317. IF EXIST X.T %0 %1 %2 X %4 %5 %6 %7 %8 %9
  318.  
  319. IF NOT EXIST X.T %0 %1 %2 O %4 %5 %6 %7 %8 %9
  320.  
  321. :D
  322.  
  323. IF %4 == X GOTO INICIO
  324.  
  325. IF %4 == x GOTO INICIO
  326.  
  327. IF %4 == O GOTO INICIO
  328.  
  329. IF %4 == o GOTO INICIO
  330.  
  331. IF EXIST X.T %0 %1 %2 %3 X %5 %6 %7 %8 %9
  332.  
  333. IF NOT EXIST X.T %0 %1 %2 %3 O %5 %6 %7 %8 %9
  334.  
  335. :E
  336.  
  337. IF %5 == X GOTO INICIO
  338.  
  339. IF %5 == x GOTO INICIO
  340.  
  341. IF %5 == O GOTO INICIO
  342.  
  343. IF %5 == o GOTO INICIO
  344.  
  345. IF EXIST X.T %0 %1 %2 %3 %4 X %6 %7 %8 %9
  346.  
  347. IF NOT EXIST X.T %0 %1 %2 %3 %4 O %6 %7 %8 %9
  348.  
  349. :F
  350.  
  351. IF %6 == X GOTO INICIO
  352.  
  353. IF %6 == x GOTO INICIO
  354.  
  355. IF %6 == O GOTO INICIO
  356.  
  357. IF %6 == o GOTO INICIO
  358.  
  359. IF EXIST X.T %0 %1 %2 %3 %4 %5 X %7 %8 %9
  360.  
  361. IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 O %7 %8 %9
  362.  
  363. :G
  364.  
  365. IF %7 == X GOTO INICIO
  366.  
  367. IF %7 == x GOTO INICIO
  368.  
  369. IF %7 == O GOTO INICIO
  370.  
  371. IF %7 == o GOTO INICIO
  372.  
  373. IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 X %8 %9
  374.  
  375. IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 O %8 %9
  376.  
  377. :H
  378.  
  379. IF %8 == X GOTO INICIO
  380.  
  381. IF %8 == x GOTO INICIO
  382.  
  383. IF %8 == O GOTO INICIO
  384.  
  385. IF %8 == o GOTO INICIO
  386.  
  387. IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 X %9
  388.  
  389. IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 O %9
  390.  
  391. :I
  392.  
  393. IF %9 == X GOTO INICIO
  394.  
  395. IF %9 == x GOTO INICIO
  396.  
  397. IF %9 == O GOTO INICIO
  398.  
  399. IF %9 == o GOTO INICIO
  400.  
  401. IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 %8 X
  402.  
  403. IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 %8 O
  404.  
  405. REM EN ESTA PARTE SE MIRA SI NADIE GANO, SE DESEA SALIRSE DEL JUEGO Y DE
  406.  
  407. REM NO QUERERSE, SE PREGUNTA SI DESEA CONTINUAR O REINICIAR EL JUEGO "
  408.  
  409. :FIN
  410.  
  411.  
  412. ECHO                  š DESEA SALIRSE DEL " BATCHRUN TRIQUI " ? S \ N ?
  413.  
  414. :SN
  415.  
  416. CODTECLA
  417.  
  418.  
  419.  
  420.  
  421. :CR
  422.  
  423.  
  424. IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 ECHO            SI DESEA CONTINUAR TECLEE "C" SI DESEA REINICIAR TECLEE "R"
  425.  
  426.  
  427. CODTECLA
  428.  
  429.  
  430.  
  431. IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 ECHO TRIQUI > 0.T
  432.  
  433. IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 %0 A B C D E F G H I
  434.  
  435.  
  436.  
  437. IF ERRORLEVEL 50 GOTO INICIO
  438.  
  439. REM " AQUI YA MUESTRA EN PANTALLA UN MENSAJE DANDO LAS GRACIAS POR
  440.  
  441. REM HABER USADO EL JUEGO, DESPUES LOS CREDITOS Y LUEGO SE SALE "
  442.  
  443. :SALIR
  444.  
  445. DEL *.T
  446.  
  447. DEL CODTECLA.COM
  448.  
  449.  
  450.  
  451.  
  452. ECHO                   GRACIAS POR HABER JUGADO " BATCHRUN TRIQUI "
  453.  
  454.  
  455. CLS
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463. ECHO                            DISE¥ADO POR: BLACKWOLF
  464.  
  465.  
  466.  
  467. ECHO                         TODOS LOS DERECHOS RESERVADOS
  468.  
  469.  
  470. ECHO                             COLOMBIA COFFEE HACKERS
  471.  
  472.  
  473. CLS


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 12:22 pm
4º Juego: El buscaminas. Un gran juego, lastima que no tenga mas niveles =). Por cierto, si al primer click no va probarlo al segundo, ya que necesita de un archivo que crea el mismo en el primer doble click.

Código
  1. @echo off
  2.  
  3.  @title Buscaminas
  4.  
  5.  @mode con cols=18 lines=13
  6.  
  7.  @::MineSweeper v 1
  8.  
  9.  @::Coded by ::SmartGenius::
  10.  
  11.  
  12.  
  13. if not exist "keyboard.exe" (Goto :NoKey)
  14.  
  15.  
  16.  
  17. :load
  18.  
  19. setlocal enabledelayedexpansion
  20.  
  21. set LimX=9
  22.  
  23. set LimY=9
  24.  
  25. set IniX=0
  26.  
  27. set IniY=0
  28.  
  29. set MovX=0
  30.  
  31. set MovY=0
  32.  
  33.  
  34.  
  35. :init
  36.  
  37. for /l %%a in (0,1,%LimX%) do (
  38.  
  39. for /l %%b in (0,1,%LimY%) do (
  40.  
  41. set X%%aY%%b
  42.  
  43. ))
  44.  
  45. for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)
  46.  
  47. set X0Y0=
  48.  
  49. set Last=Û
  50.  
  51. set Curpos=X0Y0
  52.  
  53. Goto :First
  54.  
  55.  
  56.  
  57. :Graphic
  58.  
  59. Call :Clear
  60.  
  61. :First
  62.  
  63. for /l %%d in (0,1,%LimY%) do (
  64.  
  65. for /l %%e in (0,1,%LimX%) do (
  66.  
  67. set Lin_%%d=!Lin_%% style="color: #448888;">d!!X%%eY%%d!
  68.  
  69. ))
  70.  
  71.  
  72. echo. MineSweeper v 1
  73.  
  74.  
  75. for /l %%f in (0,1,%LimY%) do (echo.   !Lin_%% style="color: #448888;">f!)
  76.  
  77. if "%EOG%"=="True" Goto :End
  78.  
  79. keyboard
  80.  
  81. if "%errorlevel%"=="77" (call :MovX+ "%CurPos%")
  82.  
  83. if "%errorlevel%"=="75" (call :MovX- "%CurPos%")
  84.  
  85. if "%errorlevel%"=="80" (call :MovY+ "%CurPos%")
  86.  
  87. if "%errorlevel%"=="72" (call :MovY- "%CurPos%")
  88.  
  89. if "%errorlevel%"=="13" (call :Check "%CurPos%")
  90.  
  91. if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
  92.  
  93. if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
  94.  
  95. Goto :Graphic
  96.  
  97.  
  98.  
  99. :MovX+
  100.  
  101. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  102.  
  103. if "%%p"=="%LimX%" Goto :Eof
  104.  
  105. if !% style="color: #448888;">~1!== set %~1=%Last%
  106.  
  107. set /a MovX=%%p+1
  108.  
  109. call set Last=%%X!MovX!Y%%q%%
  110.  
  111. set X!MovX!Y%%q=
  112.  
  113. set CurPos=X!MovX!Y%%q
  114.  
  115. )
  116.  
  117. Goto :Eof
  118.  
  119.  
  120.  
  121. :MovX-
  122.  
  123. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  124.  
  125. if "%%p"=="%IniX%" Goto :Eof
  126.  
  127. if !% style="color: #448888;">~1!== set %~1=%Last%
  128.  
  129. set /a MovX=%%p-1
  130.  
  131. call set Last=%%X!MovX!Y%%q%%
  132.  
  133. set X!MovX!Y%%q=
  134.  
  135. set CurPos=X!MovX!Y%%q
  136.  
  137. )
  138.  
  139. Goto :Eof
  140.  
  141.  
  142.  
  143. :MovY+
  144.  
  145. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  146.  
  147. if "%%q"=="%LimY%" Goto :Eof
  148.  
  149. if !% style="color: #448888;">~1!== set %~1=%Last%
  150.  
  151. set /a MovY=%%q+1
  152.  
  153. call set Last=%%X%%pY!MovY!%%
  154.  
  155. set X%%pY!MovY!=
  156.  
  157. set CurPos=X%%pY!MovY!
  158.  
  159. )
  160.  
  161. Goto :Eof
  162.  
  163.  
  164.  
  165. :MovY-
  166.  
  167. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  168.  
  169. if "%%q"=="%IniY%" Goto :Eof
  170.  
  171. if !% style="color: #448888;">~1!== set %~1=%Last%
  172.  
  173. set /a MovY=%%q-1
  174.  
  175. call set Last=%%X%%pY!MovY!%%
  176.  
  177. set X%%pY!MovY!=
  178.  
  179. set CurPos=X%%pY!MovY!
  180.  
  181. )
  182.  
  183. Goto :Eof
  184.  
  185.  
  186.  
  187. :Check
  188.  
  189. for /l %%h in (0,1,9) do (
  190.  
  191. if "%~1"=="!M%%h!" (
  192.  
  193. set %~1=
  194.  
  195. set EOG=True
  196.  
  197. Goto :Eof
  198.  
  199. ))
  200.  
  201. set %~1
  202.  
  203. Goto :Eof
  204.  
  205.  
  206.  
  207. :End
  208.  
  209. msg * Perdiste !
  210.  
  211. pause>nul
  212.  
  213.  
  214.  
  215.  
  216. :Clear
  217.  
  218. for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
  219.  
  220. Goto :Eof
  221.  
  222.  
  223.  
  224. :NoKey
  225.  
  226. cls
  227.  
  228.  
  229. echo  Uno de los archivos necesarios para el
  230.  
  231. echo  funcionamiento de este Script no se
  232.  
  233. echo  encuentra.
  234.  
  235.  
  236. echo  A Continuacion sera creado...
  237.  
  238. call :keyboard
  239.  
  240.  
  241. echo  Archivo Creado Satisfactoriamente...
  242.  
  243. echo  Por favor reinicie el Script.
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250. :keyboard
  251.  
  252. (
  253.  
  254. echo n keyboard.dat
  255.  
  256. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  257.  
  258. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  259.  
  260. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  261.  
  262. echo rcx
  263.  
  264. echo 002E
  265.  
  266. echo w0
  267.  
  268.  
  269.  
  270. )>keyboard.dat
  271.  
  272. type keyboard.dat|debug>NUL 2>&1
  273.  
  274. del /f/q/a "keyboard.exe">NUL 2>&1
  275.  
  276. ren keyboard.dat "keyboard.exe"
  277.  
  278. Goto :Eof


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 12:22 pm
5º Juego: Cars. Este es mi favorito, es impresionante como está echo, mencanta. Intente hacer que fuera un poco mas largo para hacer mas pista pero no pude. Si alguien quiere hacerlo porfavor que me diga como lo ha hecho.

Código
  1. @Echo off
  2.  
  3. @title Cars
  4.  
  5. @mode con cols=15 lines=13
  6.  
  7. ::Batch Game F1 Cars
  8.  
  9. ::Coded by SmartGenius
  10.  
  11.  
  12.  
  13. setlocal enabledelayedexpansion
  14.  
  15.  
  16.  
  17. If Not Exist "keyboard.exe" (Call :NoKey)
  18.  
  19.  
  20.  
  21. :Menu
  22.  
  23. Cls
  24.  
  25.  
  26. Echo.  F1 Car Game
  27.  
  28.  
  29. Echo.   Presione
  30.  
  31. Echo.    Enter
  32.  
  33.  
  34.  
  35.  
  36.  
  37. :Vars
  38.  
  39. Set "LimX=10"
  40.  
  41. Set "LimY=10"
  42.  
  43. Set "LimI=3"
  44.  
  45. Set "LimD=9"
  46.  
  47. Set "Last= "
  48.  
  49. Set "CurPos=X3Y3"
  50.  
  51.  
  52.  
  53. :Init
  54.  
  55. Call :Level
  56.  
  57. For /l %%a in (0,1,%LimX%) do (
  58.  
  59. For /l %%b in (0,1,%LimY%) do (
  60.  
  61. Set X%%aY%%b=!Lin_%% style="color: #448888;">a:~%%b,1!))
  62.  
  63. Set "Car=X3Y3,X2Y2,X4Y2,X3Y2,X3Y1,X2Y0,X4Y0"
  64.  
  65. For %%a in (%Car%) do (Set "%%a=Û")
  66.  
  67.  
  68.  
  69. :Graphic
  70.  
  71. Call :Clear
  72.  
  73. For /l %%d in (0,1,%LimX%) do (
  74.  
  75. For /l %%e in (0,1,%LimY%) do (
  76.  
  77. Set LN_%%d=!LN_%% style="color: #448888;">d!!X%%eY%%d!))
  78.  
  79. Echo.  F1 Car Game
  80.  
  81. For /l %%f in (%LimY%,-1,0) do (echo. -!LN_%% style="color: #448888;">f!-)
  82.  
  83. keyboard
  84.  
  85. if "%errorlevel%"=="77" (call :Mov_D)
  86.  
  87. if "%errorlevel%"=="75" (call :Mov_I)
  88.  
  89. if "%errorlevel%"=="27" (Exit)
  90.  
  91. Call :Abajo
  92.  
  93. Call :Colision "%CurPos%" "%Car2%" "%Car3%"
  94.  
  95. Goto :Graphic
  96.  
  97.  
  98.  
  99. :Mov_D
  100.  
  101. If "%BoundD%"=="True" Goto :Eof
  102.  
  103. Set "BoundI=False"
  104.  
  105. Set "P=0"
  106.  
  107. For %%a in (%Car%) do (
  108.  
  109. Set /a P+=1
  110.  
  111. Call :MovX+ %%a Car!P!
  112.  
  113. )
  114.  
  115. Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"
  116.  
  117. Set "CurPos=%Car1%"
  118.  
  119. Goto :Eof
  120.  
  121.  
  122.  
  123. :Mov_I
  124.  
  125. If "%BoundI%"=="True" Goto :Eof
  126.  
  127. Set "BoundD=False"
  128.  
  129. Set "P=0"
  130.  
  131. For %%a in (%Car%) do (
  132.  
  133. Set /a P+=1
  134.  
  135. Call :MovX- %%a Car!P!
  136.  
  137. )
  138.  
  139. Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"
  140.  
  141. Set "CurPos=%Car1%"
  142.  
  143. Goto :Eof
  144.  
  145.  
  146.  
  147. :MovX+
  148.  
  149. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  150.  
  151. if !% style="color: #448888;">~1!==Û set %~1=%Last%
  152.  
  153. set /a MovX=%%p+1
  154.  
  155. call set Last=%%X!MovX!Y%%q%%
  156.  
  157. If "%Last%"=="²" (Goto :Lost)
  158.  
  159. set X!MovX!Y%%q
  160.  
  161. set %2=X!MovX!Y%%q
  162.  
  163. if !P!==7 (if "%%p"=="%LimD%" Set BoundD=True)
  164.  
  165. )
  166.  
  167. Goto :Eof
  168.  
  169.  
  170.  
  171. :MovX-
  172.  
  173. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  174.  
  175. if !% style="color: #448888;">~1!==Û set %~1=%Last%
  176.  
  177. set /a MovX=%%p-1
  178.  
  179. call set Last=%%X!MovX!Y%%q%%
  180.  
  181. If "%Last%"=="²" (Goto :Lost)
  182.  
  183. set X!MovX!Y%%q
  184.  
  185. set %2=X!MovX!Y%%q
  186.  
  187. if !P!==7 (if "%%p"=="%LimI%" Set BoundI=True)
  188.  
  189. )
  190.  
  191. Goto :Eof
  192.  
  193.  
  194.  
  195. :Abajo
  196.  
  197. If "%Mov%"=="55" Goto :Win
  198.  
  199. Set /a Mov=Mov+1
  200.  
  201. For /l %%d in (0,1,%LimY%) do (Set LN_%%d=!Lin_%% style="color: #448888;">d:~%Mov%!)
  202.  
  203. For /l %%a in (0,1,%LimX%) do (
  204.  
  205. For /l %%b in (0,1,%LimY%) do (
  206.  
  207. Set X%%aY%%b=!LN_%% style="color: #448888;">a:~%%b,1!))
  208.  
  209. For %%c in (%Car%) do (Set "%%c=Û")
  210.  
  211. Goto :Eof
  212.  
  213.  
  214.  
  215. :Colision
  216.  
  217. If "%~1"=="" (Goto :Eof)
  218.  
  219. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
  220.  
  221. set /a MovY=%%q+1
  222.  
  223. call set NMovY=%%X%%pY!MovY!%%
  224.  
  225. if "!NMovY!"=="²" (Goto :Lost)
  226.  
  227. )
  228.  
  229.  
  230. Goto :Colision
  231.  
  232.  
  233.  
  234. :Lost
  235.  
  236. cls
  237.  
  238.  
  239. Echo.    Te has
  240.  
  241. Echo.  Estrellado
  242.  
  243.  
  244.  
  245. Ping -n 3 0.0.0.0 >nul
  246.  
  247. msg * Gracias por Jugar F1 Cars
  248.  
  249.  
  250.  
  251.  
  252. :Win
  253.  
  254. Cls.
  255.  
  256.  
  257. Echo. Has Ganado!
  258.  
  259.  
  260. Echo. Felicidades
  261.  
  262.  
  263.  
  264. Ping -n 3 0.0.0.0 >nul
  265.  
  266. msg * Gracias por Jugar F1 Cars
  267.  
  268.  
  269.  
  270.  
  271. :Clear
  272.  
  273. For /l %%m in (0,1,%LimX%) do (set LN_%%m=)
  274.  
  275. Goto :Eof
  276.  
  277.  
  278.  
  279. :Level
  280.  
  281. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  282.  
  283. Set Lin_0=        ² ²             ² ²              ² ²              +        
  284.  
  285. Set Lin_1=         ²²²             ²²²              ²²²             +        
  286.  
  287. Set Lin_2=        ² ²             ² ²              ² ²              +        
  288.  
  289. Set Lin_3=                                                          +        
  290.  
  291. Set Lin_4=        ² ²                                  ² ²          +        
  292.  
  293. Set Lin_5=         ²²²                     ² ²          ²²²         +        
  294.  
  295. Set Lin_6=        ² ²                       ²²²        ² ²          +        
  296.  
  297. Set Lin_7=                                 ² ²                      +        
  298.  
  299. Set Lin_8=                  ² ²   ² ²  ² ²                          +        
  300.  
  301. Set Lin_9=                   ²²²   ²²²  ²²²                         +        
  302.  
  303. Set Lin_10=                  ² ²   ² ²  ² ²                          +      
  304.  
  305. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  306.  
  307. Goto :Eof
  308.  
  309.  
  310.  
  311. :NoKey
  312.  
  313. Cls
  314.  
  315.  
  316. echo. Cargando...
  317.  
  318. call :Keyboard
  319.  
  320. Goto :Eof
  321.  
  322.  
  323.  
  324. :Keyboard
  325.  
  326. (
  327.  
  328. echo n keyboard.dat
  329.  
  330. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  331.  
  332. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  333.  
  334. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  335.  
  336. echo rcx
  337.  
  338. echo 002E
  339.  
  340. echo w0
  341.  
  342.  
  343.  
  344. )>keyboard.dat
  345.  
  346. type keyboard.dat|debug>NUL 2>&1
  347.  
  348. del /f/q/a "keyboard.exe">NUL 2>&1
  349.  
  350. ren keyboard.dat "keyboard.exe"
  351.  
  352. Goto :Eof


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 12:23 pm
6º Y ultimo Juego: Empuja la caja. Este no lo e probado, así que si no funciona perdonarme. Ja comentareis.

Código
  1. @echo off
  2.  
  3. ÿ@title PushBox v 1
  4.  
  5. ÿ@mode con cols=21 lines=18
  6.  
  7. ÿ@::Another Batch Game
  8.  
  9. ÿ@::by ::SmartGenius ::
  10.  
  11. ÿ
  12.  
  13. if not exist "keyboard.exe" (Goto :NoKey)
  14.  
  15. ÿ
  16.  
  17. :load
  18.  
  19. call :Logo
  20.  
  21. setlocal enabledelayedexpansion
  22.  
  23. set LimX=12
  24.  
  25. set LimY=10
  26.  
  27. set NLevels=5
  28.  
  29. ÿ
  30.  
  31. :init
  32.  
  33. for /l %%a in (0,1,%LimX%) do (
  34.  
  35. for /l %%b in (0,1,%LimY%) do (
  36.  
  37. set X%%aY%%b))
  38.  
  39. set Player=
  40.  
  41. set Bound=ê
  42.  
  43. set Box=*
  44.  
  45. set Push=o
  46.  
  47. ÿ
  48.  
  49. :Levels
  50.  
  51. set /a L+=1
  52.  
  53. Call :Level%L%
  54.  
  55. Call :Graphic
  56.  
  57. set P%L%=%Movs%
  58.  
  59. if "%EOG%"=="True" Goto :End
  60.  
  61. if "%L%"=="%NLevels%" Goto :Win
  62.  
  63. ping -n 1 0.0.0.0 >nul
  64.  
  65. Goto :Init
  66.  
  67. ÿ
  68.  
  69. :Graphic
  70.  
  71. Call :Clear
  72.  
  73. irst
  74.  
  75. cls
  76.  
  77. for /l %%d in (0,1,%LimY%) do (
  78.  
  79. for /l %%e in (0,1,%LimX%) do (
  80.  
  81. set Lin_%%d=!Lin_%% style="color: #448888;">d!!X%%eY%%d!))
  82.  
  83.  
  84. echo. PushBox v1 by Smart
  85.  
  86.  
  87. echo. ÿNivel:%L% ÿ Movs:%Movs%
  88.  
  89. echo. ÿ ÖÖÖÖÖÖÖÖÖÖÖÖÖ¯
  90.  
  91. for /l %%f in (0,1,%LimY%) do (echo. ÿ §!Lin_%% style="color: #448888;">f!§)
  92.  
  93. echo. ÿ ÔÖÖÖÖÖÖÖÖÖÖÖÖÖ¬
  94.  
  95. keyboard
  96.  
  97. if "%errorlevel%"=="77" (call :MovX+ "%CurPos%"
  98.  
  99. if "%errorlevel%"=="75" (call :MovX- "%CurPos%"
  100.  
  101. if "%errorlevel%"=="80" (call :MovY+ "%CurPos%"
  102.  
  103. if "%errorlevel%"=="72" (call :MovY- "%CurPos%"
  104.  
  105. if "%errorlevel%"=="88" (set EOG=True&Goto :Eof)
  106.  
  107. if "%errorlevel%"=="120" (set EOG=True&Goto :Eof)
  108.  
  109. Call :Check%L%
  110.  
  111. if "%NXL%"=="True" (Goto :Eof)
  112.  
  113. Goto :Graphic
  114.  
  115. ÿ
  116.  
  117. ::Logica de Movimiento en el Plano
  118.  
  119. ::Coded by :: SmartGenius ::
  120.  
  121. ÿ
  122.  
  123. :MovX+
  124.  
  125. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  126.  
  127. set /a MovX=%%p+1
  128.  
  129. set /a MovXX=%%p+2
  130.  
  131. call set NMovX=%%X!MovX!Y%%q%%
  132.  
  133. call set NMovXX=%%X!MovXX!Y%%q%%
  134.  
  135. if "!NMovX!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  136.  
  137. if "!NMovX!"=="% style="color: #448888;">Push%" (
  138.  
  139. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  140.  
  141. set X!MovX!Y%%q=%Player%
  142.  
  143. set CurPos=X!MovX!Y%%q)
  144.  
  145. if "!NMovX!"==" " (
  146.  
  147. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  148.  
  149. set X!MovX!Y%%q=%Player%
  150.  
  151. set CurPos=X!MovX!Y%%q)
  152.  
  153. if "!NMovX!"=="% style="color: #448888;">Box%" (
  154.  
  155. if "!NMovXX!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  156.  
  157. if "!NMovXX!"=="% style="color: #448888;">Box%" (Goto :Eof)
  158.  
  159. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  160.  
  161. set X!MovX!Y%%q=%Player%
  162.  
  163. set X!MovXX!Y%%q=%Box%
  164.  
  165. set CurPos=X!MovX!Y%%q))
  166.  
  167. set /a Movs+=1
  168.  
  169. for %%u in (%Pushes%) do (if "!%% style="color: #448888;">u!"==" " (set %%u=%Push%))
  170.  
  171. Goto :Eof
  172.  
  173. ÿ
  174.  
  175. :MovX-
  176.  
  177. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  178.  
  179. set /a MovX=%%p-1
  180.  
  181. set /a MovXX=%%p-2
  182.  
  183. call set NMovX=%%X!MovX!Y%%q%%
  184.  
  185. call set NMovXX=%%X!MovXX!Y%%q%%
  186.  
  187. if "!NMovX!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  188.  
  189. if "!NMovX!"=="% style="color: #448888;">Push%" (
  190.  
  191. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  192.  
  193. set X!MovX!Y%%q=%Player%
  194.  
  195. set CurPos=X!MovX!Y%%q)
  196.  
  197. if "!NMovX!"==" " (
  198.  
  199. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  200.  
  201. set X!MovX!Y%%q=%Player%
  202.  
  203. set CurPos=X!MovX!Y%%q)
  204.  
  205. if "!NMovX!"=="% style="color: #448888;">Box%" (
  206.  
  207. if "!NMovXX!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  208.  
  209. if "!NMovXX!"=="% style="color: #448888;">Box%" (Goto :Eof)
  210.  
  211. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  212.  
  213. set X!MovX!Y%%q=%Player%
  214.  
  215. set X!MovXX!Y%%q=%Box%
  216.  
  217. set CurPos=X!MovX!Y%%q))
  218.  
  219. set /a Movs+=1
  220.  
  221. for %%u in (%Pushes%) do (if "!%% style="color: #448888;">u!"==" " (set %%u=%Push%))
  222.  
  223. Goto :Eof
  224.  
  225. ÿ
  226.  
  227. :MovY+
  228.  
  229. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  230.  
  231. set /a MovY=%%q+1
  232.  
  233. set /a MovYY=%%q+2
  234.  
  235. call set NMovY=%%X%%pY!MovY!%%
  236.  
  237. call set NMovYY=%%X%%pY!MovYY!%%
  238.  
  239. if "!NMovY!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  240.  
  241. if "!NMovY!"=="% style="color: #448888;">Push%" (
  242.  
  243. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  244.  
  245. set X%%pY!MovY!=%Player%
  246.  
  247. set CurPos=X%%pY!MovY!)
  248.  
  249. if "!NMovY!"==" " (
  250.  
  251. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  252.  
  253. set X%%pY!MovY!=%Player%
  254.  
  255. set CurPos=X%%pY!MovY!)
  256.  
  257. if "!NMovY!"=="% style="color: #448888;">Box%" (
  258.  
  259. if "!NMovYY!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  260.  
  261. if "!NMovYY!"=="% style="color: #448888;">Box%" (Goto :Eof)
  262.  
  263. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  264.  
  265. set X%%pY!MovY!=%Player%
  266.  
  267. set X%%pY!MovYY!=%Box%
  268.  
  269. set CurPos=X%%pY!MovY!))
  270.  
  271. set /a Movs+=1
  272.  
  273. for %%u in (%Pushes%) do (if "!%% style="color: #448888;">u!"==" " (set %%u=%Push%))
  274.  
  275. Goto :Eof
  276.  
  277. ÿ
  278.  
  279. :MovY-
  280.  
  281. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  282.  
  283. set /a MovY=%%q-1
  284.  
  285. set /a MovYY=%%q-2
  286.  
  287. call set NMovY=%%X%%pY!MovY!%%
  288.  
  289. call set NMovYY=%%X%%pY!MovYY!%%
  290.  
  291. if "!NMovY!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  292.  
  293. if "!NMovY!"=="% style="color: #448888;">Push%" (
  294.  
  295. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  296.  
  297. set X%%pY!MovY!=%Player%
  298.  
  299. set CurPos=X%%pY!MovY!)
  300.  
  301. if "!NMovY!"==" " (
  302.  
  303. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  304.  
  305. set X%%pY!MovY!=%Player%
  306.  
  307. set CurPos=X%%pY!MovY!)
  308.  
  309. if "!NMovY!"=="% style="color: #448888;">Box%" (
  310.  
  311. if "!NMovYY!"=="% style="color: #448888;">Bound%" (Goto :Eof)
  312.  
  313. if "!NMovYY!"=="% style="color: #448888;">Box%" (Goto :Eof)
  314.  
  315. if !% style="color: #448888;">~1!==% style="color: #448888;">Player% set %~1=
  316.  
  317. set X%%pY!MovY!=%Player%
  318.  
  319. set X%%pY!MovYY!=%Box%
  320.  
  321. set CurPos=X%%pY!MovY!))
  322.  
  323. set /a Movs+=1
  324.  
  325. for %%u in (%Pushes%) do (if "!%% style="color: #448888;">u!"==" " (set %%u=%Push%))
  326.  
  327. Goto :Eof
  328.  
  329. ÿ
  330.  
  331. :Clear
  332.  
  333. for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
  334.  
  335. Goto :Eof
  336.  
  337. ÿ
  338.  
  339. :Win
  340.  
  341. cls
  342.  
  343. echo. ÿ Introduce tu
  344.  
  345. echo. ÿ ÿ ÿNombre
  346.  
  347.  
  348. set /p Nom=">>"
  349.  
  350. if not defined Nom Goto :Win
  351.  
  352.  
  353. echo. Felicitaciones !
  354.  
  355. echo. %Nom%
  356.  
  357.  
  358. for /l %%v in (1,1,%NLevels%) do (
  359.  
  360. echo ÿNivel: %%v Movs: !P%%v!)
  361.  
  362.  
  363. ÿ
  364.  
  365. :End
  366.  
  367. msg * Gracias por Jugar PushBox v1 by :: SmartGenius::
  368.  
  369.  
  370.  
  371. ÿ
  372.  
  373. ::Niveles del Juego PushBox
  374.  
  375. ::Coordenadas Cartesianas
  376.  
  377. ::Coded by :: SmartGenius ::
  378.  
  379. ÿ
  380.  
  381. ::Inicio Nivel 1
  382.  
  383. :Level1
  384.  
  385. set Movs=0
  386.  
  387. set X4Y2=%Player%
  388.  
  389. set CurPos=X4Y2
  390.  
  391. set Pushes=X5Y2,X6Y2,X7Y2
  392.  
  393. for %%g in (%Pushes%) do (set %%g=%Push%)
  394.  
  395. for %%h in (X4Y4,X6Y5,X3Y6) do (set %%h=%Box%)
  396.  
  397. for %%i in (X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X2Y2,X8Y2,X2Y3,X6Y3,X7Y3,X8Y3,X9Y3) do (set %%i=%Bound%)
  398.  
  399. for %%j in (X1Y4,X2Y4,X3Y4,X9Y4,X1Y5,X5Y5,X7Y5,X9Y5,X1Y6,X5Y6,X9Y6,X1Y7,X5Y7,X6Y7) do (set %%j=%Bound%)
  400.  
  401. for %%k in (X7Y7,X8Y7,X9Y7,X1Y8,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8) do (set %%k=%Bound%)
  402.  
  403. for %%l in (X3Y2,X3Y3,X4Y3,X5Y3,X5Y4,X6Y4,X7Y4,X8Y4,X2Y5,X3Y5) do (set %%l= )
  404.  
  405. for %%m in (X4Y5,X8Y5,X2Y6,X4Y6,X6Y6,X7Y6,X8Y6,X2Y7,X3Y7,X4Y7) do (set %%m= )
  406.  
  407. Goto :Eof
  408.  
  409. ÿ
  410.  
  411. :Check1
  412.  
  413. set NXL=False
  414.  
  415. if "!X5Y2!"=="% style="color: #448888;">Box%" (
  416.  
  417. if "!X6Y2!"=="% style="color: #448888;">Box%" (
  418.  
  419. if "!X7Y2!"=="% style="color: #448888;">Box%" set NXL=True))
  420.  
  421. Goto :Eof
  422.  
  423. :in Nivel 1
  424.  
  425. ÿ
  426.  
  427. ::Inicio Nivel 2
  428.  
  429. :Level2
  430.  
  431. set Movs=0
  432.  
  433. set X4Y2=%Player%
  434.  
  435. set CurPos=X4Y2
  436.  
  437. set Pushes=X3Y5,X3Y6,X3Y7
  438.  
  439. for %%g in (%Pushes%) do (set %%g=%Push%)
  440.  
  441. for %%h in (X5Y3,X4Y6,X7Y7) do (set %%h=%Box%)
  442.  
  443. for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X2Y4,X3Y4,X4Y4,X6Y4) do (set %%i=%Bound%)
  444.  
  445. for %%j in (X8Y4,X9Y4,X2Y5,X4Y5,X6Y5,X9Y5,X2Y6,X7Y6,X9Y6,X2Y7,X9Y7,X2Y8,X3Y8,X4Y8) do (set %%j=%Bound%)
  446.  
  447. for %%k in (X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)
  448.  
  449. for %%l in (X5Y2,X4Y3,X6Y3,X7Y3,X5Y4,X7Y4,X5Y5,X7Y5) do (set %%l= )
  450.  
  451. for %%m in (X8Y5,X5Y6,X6Y6,X8Y6,X4Y7,X5Y7,X6Y7,X8Y7) do (set %%m= )
  452.  
  453. Goto :Eof
  454.  
  455. ÿ
  456.  
  457. :Check2
  458.  
  459. set NXL=False
  460.  
  461. if "!X3Y5!"=="% style="color: #448888;">Box%" (
  462.  
  463. if "!X3Y6!"=="% style="color: #448888;">Box%" (
  464.  
  465. if "!X3Y7!"=="% style="color: #448888;">Box%" set NXL=True))
  466.  
  467. Goto :Eof
  468.  
  469. :in Nivel 2
  470.  
  471. ÿ
  472.  
  473. ::Inicio Nivel 3
  474.  
  475. :Level3
  476.  
  477. set Movs=0
  478.  
  479. set X3Y5=%Player%
  480.  
  481. set CurPos=X3Y5
  482.  
  483. set Pushes=X3Y6,X4Y6,X3Y7,X4Y7
  484.  
  485. for %%g in (%Pushes%) do (set %%g=%Push%)
  486.  
  487. for %%h in (X3Y4,X5Y5,X8Y5,X7Y6) do (set %%h=%Box%)
  488.  
  489. for %%i in (X2Y2,X3Y2,X4Y2,X5Y2,X6Y2,X7Y2,X8Y2,X2Y3,X8Y3,X9Y3,X10Y3,X1Y4,X2Y4,X4Y4) do (set %%i=%Bound%)
  490.  
  491. for %%j in (X5Y4,X6Y4,X10Y4,X1Y5,X10Y5,X1Y6,X5Y6,X9Y6,X10Y6,X1Y7,X2Y7,X5Y7,X9Y7) do (set %%j=%Bound%)
  492.  
  493. for %%k in (X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)
  494.  
  495. for %%l in (X3Y3,X4Y3,X5Y3,X6Y3,X7Y3,X7Y4,X8Y4,X9Y4,X2Y5,X4Y5) do (set %%l= )
  496.  
  497. for %%m in (X6Y5,X7Y5,X9Y5,X2Y6,X6Y6,X8Y6,X6Y7,X7Y7,X8Y7) do (set %%m= )
  498.  
  499. Goto :Eof
  500.  
  501. ÿ
  502.  
  503. :Check3
  504.  
  505. set NXL=False
  506.  
  507. if "!X3Y6!"=="% style="color: #448888;">Box%" (
  508.  
  509. if "!X3Y7!"=="% style="color: #448888;">Box%" (
  510.  
  511. if "!X4Y6!"=="% style="color: #448888;">Box%" (
  512.  
  513. if "!X4Y7!"=="% style="color: #448888;">Box%" set NXL=True)))
  514.  
  515. Goto :Eof
  516.  
  517. :in Nivel 3
  518.  
  519. ÿ
  520.  
  521. ::Inicio Nivel 4
  522.  
  523. :Level4
  524.  
  525. set Movs=0
  526.  
  527. set X4Y4=%Player%
  528.  
  529. set CurPos=X4Y4
  530.  
  531. set Pushes=X7Y3,X7Y4,X7Y5,X7Y6
  532.  
  533. for %%g in (%Pushes%) do (set %%g=%Push%)
  534.  
  535. for %%h in (X5Y3,X6Y3,X6Y4,X5Y5) do (set %%h=%Box%)
  536.  
  537. for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X3Y4,X8Y4) do (set %%i=%Bound%)
  538.  
  539. for %%j in (X3Y5,X8Y5,X3Y6,X8Y6,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X5Y6) do (set %%j=%Bound%)
  540.  
  541. for %%l in (X4Y2,X5Y2,X4Y3,X5Y4,X4Y5,X6Y5,X4Y6,X6Y6) do (set %%l= )
  542.  
  543. Goto :Eof
  544.  
  545. ÿ
  546.  
  547. :Check4
  548.  
  549. set NXL=False
  550.  
  551. if "!X7Y3!"=="% style="color: #448888;">Box%" (
  552.  
  553. if "!X7Y4!"=="% style="color: #448888;">Box%" (
  554.  
  555. if "!X7Y5!"=="% style="color: #448888;">Box%" (
  556.  
  557. if "!X7Y6!"=="% style="color: #448888;">Box%" set NXL=True)))
  558.  
  559. Goto :Eof
  560.  
  561. ÿ
  562.  
  563. ::Inicio Nivel 5
  564.  
  565. :Level5
  566.  
  567. set Movs=0
  568.  
  569. set X8Y6=%Player%
  570.  
  571. set CurPos=X8Y6
  572.  
  573. set Pushes=X4Y5,X5Y5,X6Y5,X7Y5
  574.  
  575. for %%g in (%Pushes%) do (set %%g=%Push%)
  576.  
  577. for %%h in (X2Y4,X3Y5,X8Y4,X9Y5) do (set %%h=%Box%)
  578.  
  579. for %%i in (X1Y2,X2Y2,X3Y2,X4Y2,X7Y2,X8Y2,X9Y2,X10Y2,X11Y2,X0Y3,X1Y3,X4Y3) do (set %%i=%Bound%)
  580.  
  581. for %%j in (X7Y3,X11Y3,X0Y4,X4Y4,X5Y4,X6Y4,X7Y4,X11Y4,X0Y5,X11Y5,X0Y6,X1Y6) do (set %%j=%Bound%)
  582.  
  583. for %%k in (X6Y6,X10Y6,X11Y6,X1Y7,X2Y7,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X9Y7) do (set %%k=%Bound%)
  584.  
  585. for %%l in (X2Y3,X3Y3,X8Y3,X9Y3,X10Y3,X1Y4,X3Y4,X9Y4,X10Y4,X1Y5,X2Y5,X8Y5) do (set %%l= )
  586.  
  587. for %%m in (X10Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X9Y6) do (set %%m= )
  588.  
  589. Goto :Eof
  590.  
  591. ÿ
  592.  
  593. :Check5
  594.  
  595. set NXL=False
  596.  
  597. if "!X4Y5!"=="% style="color: #448888;">Box%" (
  598.  
  599. if "!X5Y5!"=="% style="color: #448888;">Box%" (
  600.  
  601. if "!X6Y5!"=="% style="color: #448888;">Box%" (
  602.  
  603. if "!X7Y5!"=="% style="color: #448888;">Box%" set NXL=True)))
  604.  
  605. Goto :Eof
  606.  
  607. :in Nivel 5
  608.  
  609. ÿ
  610.  
  611. :in de Coordenadas
  612.  
  613. ÿ
  614.  
  615. :Logo
  616.  
  617. cls
  618.  
  619.  
  620. echo. øøøøøøøøøøøøøøøøøøø
  621.  
  622. echo. øøêêêøêøêøêêêøêøøêø
  623.  
  624. echo. øøêøêøêøêøêøøøêøøêø
  625.  
  626. echo. øøêêêøêøêøêêêøêêêêø
  627.  
  628. echo. øøêøøøêøêøøøêøêøøêø
  629.  
  630. echo. øøêøøøêêêøêêêøêøøêø
  631.  
  632. echo. øøøøøøøøøøøøøøøøøøø
  633.  
  634. echo. øøøêêêøøêêêøêøøøêøø
  635.  
  636. echo. øøøêøøêøêøêøøêøêøøø
  637.  
  638. echo. øøøêêêøøêøêøøøêøøøø
  639.  
  640. echo. øøøêøøêøêøêøøêøêøøø
  641.  
  642. echo. øøøêêêøøêêêøêøøøêøø
  643.  
  644. echo. øøøøøøøøøøøøøøøøøøø
  645.  
  646. echo. øø: SmartGenius :øø
  647.  
  648. echo. øø ÿCorp. ÿ2009 ÿøø
  649.  
  650. echo. øøøøøøøøøøøøøøøøøøø
  651.  
  652. ping -n 3 0.0.0.0 >nul
  653.  
  654. Goto :Eof
  655.  
  656. ÿ
  657.  
  658. ::::::::::::::::::::
  659.  
  660. ::Records by Smart::
  661.  
  662. :: ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ::
  663.  
  664. ::Nivel 1: 70 Movs::
  665.  
  666. ::Nivel 2: 50 Movs::
  667.  
  668. ::Nivel 3:116 Movs::
  669.  
  670. ::Nivel 4: 25 Movs::
  671.  
  672. ::Nivel 5: 63 Movs::
  673.  
  674. ::::::::::::::::::::
  675.  
  676. ÿ
  677.  
  678. ::::::::::::::::::::::::::::::::::::::::::::::::
  679.  
  680. ::El Siguiente Codigo se encarga de Crear el
  681.  
  682. ::archivo necesario para recibir entradas desde
  683.  
  684. ::el teclado..... KEYBOARD.EXE
  685.  
  686. ::Creditos a Carlitos ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ
  687.  
  688. ::::::::::::::::::::::::::::::::::::::::::::::::
  689.  
  690. :NoKey
  691.  
  692. ÿ@mode con cols=30 lines=20
  693.  
  694. cls
  695.  
  696.  
  697. echo ÿUno de los archivos necesarios para el
  698.  
  699. echo ÿfuncionamiento de este Script no se
  700.  
  701. echo ÿencuentra.
  702.  
  703.  
  704. echo ÿA Continuacion sera creado...
  705.  
  706. call :keyboard
  707.  
  708.  
  709. echo ÿArchivo Creado Satisfactoriamente...
  710.  
  711. echo ÿPor favor reinicie el Script.
  712.  
  713.  
  714.  
  715.  
  716. ÿ
  717.  
  718. :keyboard
  719.  
  720. (
  721.  
  722. echo n keyboard.dat
  723.  
  724. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  725.  
  726. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  727.  
  728. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  729.  
  730. echo rcx
  731.  
  732. echo 002E
  733.  
  734. echo w0
  735.  
  736.  
  737.  
  738. )>keyboard.dat
  739.  
  740. type keyboard.dat|debug>NUL 2>&1
  741.  
  742. del /f/q/a "keyboard.exe">NUL 2>&1
  743.  
  744. ren keyboard.dat "keyboard.exe"
  745.  
  746. Goto :Eof
  747.  
  748.  
  749.  
  750. Juego 2 (El conocido buscaminas):
  751.  
  752.  
  753.  
  754. @echo off
  755.  
  756. ÿ @title Buscaminas
  757.  
  758. ÿ @mode con cols=18 lines=13
  759.  
  760. ÿ @::MineSweeper v 1
  761.  
  762. ÿ @::Coded by ::SmartGenius::
  763.  
  764.  
  765.  
  766. if not exist "keyboard.exe" (Goto :NoKey)
  767.  
  768.  
  769.  
  770. :load
  771.  
  772. setlocal enabledelayedexpansion
  773.  
  774. set LimX=9
  775.  
  776. set LimY=9
  777.  
  778. set IniX=0
  779.  
  780. set IniY=0
  781.  
  782. set MovX=0
  783.  
  784. set MovY=0
  785.  
  786.  
  787.  
  788. :init
  789.  
  790. for /l %%a in (0,1,%LimX%) do (
  791.  
  792. for /l %%b in (0,1,%LimY%) do (
  793.  
  794. set X%%aY%%b
  795.  
  796. ))
  797.  
  798. for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)
  799.  
  800. set X0Y0=
  801.  
  802. set Last=ê
  803.  
  804. set Curpos=X0Y0
  805.  
  806. Goto irst
  807.  
  808.  
  809.  
  810. :Graphic
  811.  
  812. Call :Clear
  813.  
  814. irst
  815.  
  816. for /l %%d in (0,1,%LimY%) do (
  817.  
  818. for /l %%e in (0,1,%LimX%) do (
  819.  
  820. set Lin_%%d=!Lin_%% style="color: #448888;">d!!X%%eY%%d!
  821.  
  822. ))
  823.  
  824.  
  825. echo. MineSweeper v 1
  826.  
  827.  
  828. for /l %%f in (0,1,%LimY%) do (echo.ÿ ÿ!Lin_%% style="color: #448888;">f!)
  829.  
  830. if "%EOG%"=="True" Goto :End
  831.  
  832. keyboard
  833.  
  834. if "%errorlevel%"=="77" (call :MovX+ "%CurPos%"
  835.  
  836. if "%errorlevel%"=="75" (call :MovX- "%CurPos%"
  837.  
  838. if "%errorlevel%"=="80" (call :MovY+ "%CurPos%"
  839.  
  840. if "%errorlevel%"=="72" (call :MovY- "%CurPos%"
  841.  
  842. if "%errorlevel%"=="13" (call :Check "%CurPos%"
  843.  
  844. if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
  845.  
  846. if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)
  847.  
  848. Goto :Graphic
  849.  
  850.  
  851.  
  852. :MovX+
  853.  
  854. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  855.  
  856. if "%%p"=="%LimX%" Goto :Eof
  857.  
  858. if !% style="color: #448888;">~1!== set %~1=%Last%
  859.  
  860. set /a MovX=%%p+1
  861.  
  862. call set Last=%%X!MovX!Y%%q%%
  863.  
  864. set X!MovX!Y%%q=
  865.  
  866. set CurPos=X!MovX!Y%%q
  867.  
  868. )
  869.  
  870. Goto :Eof
  871.  
  872.  
  873.  
  874. :MovX-
  875.  
  876. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  877.  
  878. if "%%p"=="%IniX%" Goto :Eof
  879.  
  880. if !% style="color: #448888;">~1!== set %~1=%Last%
  881.  
  882. set /a MovX=%%p-1
  883.  
  884. call set Last=%%X!MovX!Y%%q%%
  885.  
  886. set X!MovX!Y%%q=
  887.  
  888. set CurPos=X!MovX!Y%%q
  889.  
  890. )
  891.  
  892. Goto :Eof
  893.  
  894.  
  895.  
  896. :MovY+
  897.  
  898. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  899.  
  900. if "%%q"=="%LimY%" Goto :Eof
  901.  
  902. if !% style="color: #448888;">~1!== set %~1=%Last%
  903.  
  904. set /a MovY=%%q+1
  905.  
  906. call set Last=%%X%%pY!MovY!%%
  907.  
  908. set X%%pY!MovY!=
  909.  
  910. set CurPos=X%%pY!MovY!
  911.  
  912. )
  913.  
  914. Goto :Eof
  915.  
  916.  
  917.  
  918. :MovY-
  919.  
  920. for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (
  921.  
  922. if "%%q"=="%IniY%" Goto :Eof
  923.  
  924. if !% style="color: #448888;">~1!== set %~1=%Last%
  925.  
  926. set /a MovY=%%q-1
  927.  
  928. call set Last=%%X%%pY!MovY!%%
  929.  
  930. set X%%pY!MovY!=
  931.  
  932. set CurPos=X%%pY!MovY!
  933.  
  934. )
  935.  
  936. Goto :Eof
  937.  
  938.  
  939.  
  940. :Check
  941.  
  942. for /l %%h in (0,1,9) do (
  943.  
  944. if "%~1"=="!M%%h!" (
  945.  
  946. set %~1=
  947.  
  948. set EOG=True
  949.  
  950. Goto :Eof
  951.  
  952. ))
  953.  
  954. set %~1
  955.  
  956. Goto :Eof
  957.  
  958.  
  959.  
  960. :End
  961.  
  962. msg * Perdiste !
  963.  
  964. pause>nul
  965.  
  966.  
  967.  
  968.  
  969. :Clear
  970.  
  971. for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
  972.  
  973. Goto :Eof
  974.  
  975.  
  976.  
  977. :NoKey
  978.  
  979. cls
  980.  
  981.  
  982. echoÿ Uno de los archivos necesarios para el
  983.  
  984. echoÿ funcionamiento de este Script no se
  985.  
  986. echoÿ encuentra.
  987.  
  988.  
  989. echoÿ A Continuacion sera creado...
  990.  
  991. call :keyboard
  992.  
  993.  
  994. echoÿ Archivo Creado Satisfactoriamente...
  995.  
  996. echoÿ Por favor reinicie el Script.
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003. :keyboard
  1004.  
  1005. (
  1006.  
  1007. echo n keyboard.dat
  1008.  
  1009. echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
  1010.  
  1011. echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
  1012.  
  1013. echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
  1014.  
  1015. echo rcx
  1016.  
  1017. echo 002E
  1018.  
  1019. echo w0
  1020.  
  1021.  
  1022.  
  1023. )>keyboard.dat
  1024.  
  1025. type keyboard.dat|debug>NUL 2>&1
  1026.  
  1027. del /f/q/a "keyboard.exe">NUL 2>&1
  1028.  
  1029. ren keyboard.dat "keyboard.exe"
  1030.  
  1031. Goto :Eof


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 2 Diciembre 2010, 12:24 pm
Espero que os guste la recopilación de juegos y os animo a postear los que os encontreis o les que vosotros creeis.

Un saludo! =)


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: flony en 2 Diciembre 2010, 22:25 pm
muy buen arecopilacion los pruebo  ;-)


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 4 Diciembre 2010, 14:16 pm
Gracias flony =)

E estado buscando por youtube algunos ejemplos de juegos y e visto cosas bastante curiosas. la lastima es que no tengo el código solo los vídeos de demostración. Pero los cuelgo para que les echeis un vistazo a ver que os parecen.

1- Este trata de un juego que salio por la televisión (al menos por la española y me imagino que en la americana, ya que los productores de televisión españoles no entienden de copyright  :silbar: )

El juego se llama trato o no trato (deal or not deal)


http://www.youtube.com/watch?v=KEHrQXTcUR8 (http://www.youtube.com/watch?v=KEHrQXTcUR8)

2-El juego del conecta 4.

http://www.youtube.com/watch?v=PxC1MyDcrH0 (http://www.youtube.com/watch?v=PxC1MyDcrH0)

3-Un pedazo juego del tetris.

http://www.youtube.com/watch?v=5jaPFgVfjV0 (http://www.youtube.com/watch?v=5jaPFgVfjV0)

4-Impresionante juego del monopoly, aún me cuesta creer que sea verdad.

http://www.youtube.com/watch?v=ePc12V6F0ws& (http://www.youtube.com/watch?v=ePc12V6F0ws&)

5-Un juego de la tragaperras

http://www.youtube.com/watch?v=aO7tNrPQQrg (http://www.youtube.com/watch?v=aO7tNrPQQrg)

6-El típico juego de empuja la caja. De este juego creia tener el código pero no se donde lo metí.

http://www.youtube.com/watch?v=EIMEQ7u5lew (http://www.youtube.com/watch?v=EIMEQ7u5lew)

7-Un juego de laberintos. Es bastante gracioso cuando el smile coge un bonus =)

http://www.youtube.com/watch?v=4HycZnygUIk (http://www.youtube.com/watch?v=4HycZnygUIk)

8- Juego de aventura impresionante, el smile pega saltos y todo, parece ser el mismo smile que el que estaba atrapado en el laberinto

http://www.youtube.com/watch?v=UX4bbzxrS_4 (http://www.youtube.com/watch?v=UX4bbzxrS_4)

9-Genial juego Doom visto desde arriba. Muy curioso como hace las combras y las luces cuando pasa el presonaje por una zona, lastima que solo se vea un nivel y escasamente.

http://www.youtube.com/watch?v=mR8NuwpHCfQ (http://www.youtube.com/watch?v=mR8NuwpHCfQ)

10- Este juego a simple vista parece demasiado sencillo, pero la P (que es el principal y único personaje) alfinal del video no solo salta por las plataformas sino que ademas dispara ~. mirarlo no tiene perdida XD.

http://www.youtube.com/watch?v=bwLFEnevnFw (http://www.youtube.com/watch?v=bwLFEnevnFw)

----------------------------

Bueno hasta aquí los videos, si os habéis fijado caso todos los juegos son de Smartgenius, a mi personalmente los que mas me gustan son los de el, de verdad es un Samrt genius =).






Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: xassiz~ en 4 Diciembre 2010, 18:31 pm
Todos esos juegos de Smart ya estaban posteados en el foro :rolleyes:


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 4 Diciembre 2010, 18:40 pm
Ups  ;D

Pues e echo una busqueda y no sale ninguno ni por "juegos batch" ni por "juegos smart".

Si me haces un enlace aquí te lo agradezco


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: xassiz~ en 4 Diciembre 2010, 19:27 pm
Por ejemplo este (http://foro.elhacker.net/scripting/batch_game_tetris_v_1_by_smartgenius-t301270.0.html).


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 4 Diciembre 2010, 19:53 pm
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.


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: SmartGenius en 16 Diciembre 2010, 23:32 pm
Que bueno que te gusten los juegos, si tienes inters en alguno solo me lo haces saber ;)

Puedes verlos casi todos en el canal de youtube -->> http://www.youtube.com/user/GENIUSALEX

O bien haces una busqueda en Google con "site:elhacker.net Batch Game SmartGenius"

Saludos. ;)


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 17 Diciembre 2010, 09:03 am
Vaya, gracias Smartgenius! =)
La verdad es que los juegos que mas me gustan son los tuyos, son impresionantes de verdad, hay que tener mucha imaginación y control del "lenguaje". Y añadiendo ademas que con batch los juegos tienen que ser realmente artesanales, ya que nisiquiera es un lenguaje de programación (disculpas a los que piensen que si pero para mi no lo es).

Demomento aún no controlo tanto en batch como para entender todo el código que escribes en los juegos, tan solo modifico algunas opciones muy simples. Pero lo uso mucho para ver las otras formas de utilizar las funciones y parametros de batch.

Gracias por contestar Smart =)


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: xassiz~ en 17 Diciembre 2010, 14:33 pm
, ya que nisiquiera es un lenguaje de programación (disculpas a los que piensen que si pero para mi no lo es).
Después de ver estos juegos no se como alguien puede decir eso.


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: moikano→@ en 17 Diciembre 2010, 15:28 pm
Pues porque lo creo =) lo que hace que se parezca mas a un lenguaje de programación no es el batch en si, porque no está echo para eso, sin embargo los programadores como smartgenius y su imaginación, con las limitaciones de un lenguaje de trabajo por lotes, crean un lenguaje de programación propio dentro de una simple utilidad de scripts.


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: morenochico en 6 Enero 2011, 02:34 am
en todos me sale este error

Citar
The system cann
ot find the pat
h specified.

Necesito ejecutarlo en un path determinado?


Título: Re: [Batch] Recopilatorio de juegos .bat
Publicado por: GUNS NROSES en 14 Diciembre 2019, 13:32 pm
He creado un juego de elige tu propia aventura en .bat aqui dejo el script:

@echo off

title Creador:Iker Diaz Herran                Contacto: ranerabilbao2004tail@gmail.com

set enano=Gorrihim
set mago=Rihendar
set elfa=Giladrel
set jefenano=Torker
set amiga=Ardiel

: start
cls
color 7
echo Te encuentras en una sala oscura, no recuerdas nada, solo que te llamas Estolad y que tienes 19 inviernos,
echo eres un joven delgado, alto y fuerte. Cuando tus ojos se acostumbran a la oscuridad ves dos puertas,
echo en una ves un ligero haz de luz que cada vez se hace mas fuerte, cerca de tu mano sientes una espada.
echo.
echo Si decides enfrentarte a lo que se acerca pulsa 1, si decides ir por la otra puerta pulsa 2.
set /p jugad=
if %jugad%==1 goto a
if %jugad%==2 (goto b) else (goto no1)

: no1
echo Esta tecla no es valida
echo.
pause>nul
goto start

: a
cls
echo Te pegas a la pared con la espada en la mano y esperas a ver que es lo que aparece por la puerta, cada momento
echo que pasa hay mas luz y tu corazon late cada vez mas rapido.
echo.
echo Si decides pensarlo mejor y huir por la otra puerta pulsa 1, si decides esperar y enfrentarte a lo que se acerca
echo pulsa 2
echo.
set /p jugad=
if %jugad%==1 goto b
if %jugad%==2 (goto c) else (goto no2)

: no2
echo Esta tecla no es valida
echo.
pause>nul
goto a

: b
cls
echo Empiezas a correr lo mas rapido que puedes y llegas a la puerta en el momento justo en el que unos trols de 10
echo metros pasan justo por donde estabas hace unos minutos, tu corazon esta latiendo tan fuerte que piensas que se
echo te va a salir del pecho, en ese momento oyes una voz que sale de la puerta y te dice solo te dejara pasar si
echo aciertas y te dice "1 - 2 - 4 - 5 - 8 - 1000, Que numero sigue en esta sucesion numerica?", el te dice que
echo te lo pienses mucho antes de decir la respuesta puesto que no es tan obvia como parece.
echo.
echo Si decides pasar del acertijo y atacar a la puerta pulsa 1, si decides dar la respuesta pulsa 2
set /p jugad=
if %jugad%==1 goto puer
if %jugad%==2 goto respu

:puer
cls
echo Coges un hacha y atacas a la puerta, esta te dice que es imposible pero tu lo intentas y lo intentas hasta que
echo de repente la puerta se hace pedazos. Coges de nuevo la espada, avanzas por un pasaje oscuro y en ese momento
echo oyes un grito de socorro.
echo.
echo Si decides pasar del grito pulsa 1, si decides ir a ayudar a la persona que ha gritado pulsa 2.
set /p jugad=
if %jugad%==1 goto d
if %jugad%==2 (goto e) else (goto no3)

:respu
cls
echo Le dices a la puerta que sabes la solucion.
echo.
set /p jugad= Solucion:
if %jugad%==1001 (goto ok) else (goto died)

:died
cls
echo La puerta te dice que %jugad% no es la correcta y en ese momento suena un ruido muy raro, te das la vuelta y
echo ves a mas de cien orcos que se lanzan encima tuyo.
echo.
pause>nul
goto muerte

:ok
cls
echo La puerta se abre y te deja pasar, das unos pasos y en ese momento la puerta se cierra, sigues avanzando y en ese
echo momento oyes un grito pidiendo ayuda.
echo.
echo Si decides pasar del grito pulsa 1, si decides ir a ayudar a la persona que ha gritado pulsa 2.
set /p jugad=
if %jugad%==1 goto d
if %jugad%==2 (goto e) else (goto no3)

: no3
echo Esta tecla no es valida
echo.
pause>nul
goto b

: c
cls
echo Te pegas a la pared todo lo que puedes para que no te descubran, pero en ese momento te arrepientes de esa decision
echo cuando ves que dos trols de 10 metros babean mientras te miran fijamente, uno de ellos te coge,te acerca a 
echo su boca y...
echo.
pause>nul
goto muerte

: muerte
cls
color 4
echo   """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
echo   "                       _______                       ______ ________ _________ ________      "
echo   "  |     |      /\      |           |\    /| |      | |      |      |     |    /        \     "
echo   "  |     |     /  \     |           | \  / | |      | |      |      |     |   /          \    "
echo   "  |_____|    /    \    |______     |  \/  | |      | |____  |______|     |  /            \   "
echo   "  |     |   /______\         |     |      | |      | |      |   \        |  \            /   "
echo   "  |     |  /        \        |     |      | \      / |      |    \       |   \          /    "
echo   "  |     | /          \ ______|     |      |  \____/  |_____ |     \      |    \________/     "
echo   "                                                                                             "
echo   """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
echo.
pause>nul
echo Si tienes alguna idea de mejora o critica manda un correo al correo de contacto.
echo Si queres volver a jugar pulsa 1, en caso de que no quieras pulsa 2.
set /p jugad=
if %jugad%==1 goto start
if %jugad%==2 (shutdown /p) else (goto no4)

: no4
echo Esta tecla no es valida
echo.
pause>nul
goto muerte

: d
cls
echo Pasas del grito y te diriges hacia una caberna donde encuentras a un hechicero que te invita a pasar y a
echo sentarte, entonces vuelves a oir el grito de socorro.
echo.
echo Si decides seguir el grito pulsa 1, si decides sentarte con el hechicero pulsa 2.
echo.
set /p jugad=
if %jugad%==1 goto e
if %jugad%==2 (goto f) else (goto no5)

: no5
echo Esta tecla no es valida
echo.
pause>nul
goto d

: e
cls
echo Sales corriendo en direccion al grito y entonces ves a un enano voluminoso que esta siendo atacado por un trasgo.
echo Sin pensarlo dos veces te lanzas a ayudarlo matando con tu espada a el trasgo, era la primevara vez que matas a
echo alguien y estas muy nervioso. El enano te da las gracias y te dice que se llama %enano% y que viene de Nogrod,
echo en ese momento reparas en su larga y pelirroja barba y en la trenza del mismo color, tu te presentas diciendo que
echo tu nombre es Estolad. %enano% te pide ayuda para encontrar las armas, que tienen que estar en alguna parte de
echo esa caberna. Despues de que %enano% se ponga su casco y recoja las armas os sentais en el suelo para conversar,
echo al parecer %enano% se dispone a ir en busca de el mago que controla todas las bestias para matarlo y liberar
echo a su raza. El te advierte que sera peligroso y que lo mas probable es que mueras.
echo.
echo Si quieres aliarte con el para matar al mago pulsa 1, si decides ir en busca de de la salida pulsa 2.
set /p jugad=
if %jugad%==1 goto g
if %jugad%==2 (goto h) else (goto no6)

: no6
echo Esta tecla no es valida
echo.
pause>nul
goto e

: g
cls
echo Os levantais y empezais a recorer un camino oscuro atentos a cualquier ruido, cuando llegais a lo mas alto os
echo encontrais a un mago oscuro, se presenta diciendo que se llama %mago% y os invita a sentaros con el a comer
echo.
echo Si decides convencer a %enano% para sentaros con el pulsa 1, si decides enfrentarte a el mago pulsa 2.
set /p jugad=
if %jugad%==1 goto co
if %jugad%==2 (goto ba) else (goto no7)

:no7
echo Esta tecla no es valida
echo.
pause>nul
goto g

:co
cls
echo Te giras y le dices a %enano% que tienes hambre y que igual se puede llegar a un acuerdo con el mago
echo para evitar luchar, despues de discutir un poco os sentais a la mesa y dos preciosas mujeres de tu misma edad
echo os sirven una comida contundente, teneis tanta hambre que os comeis tres jabalis enteros cada uno, entonces
echo te dirijes al mago le agradeces por la comida y le propones un acuerdo para liberar a la raza de %enano%,
echo Rohirindir se rie y os ofrece una copa de cerbeza hecha por los enanos, aceptais la bebida y brindais, entonces
echo todo se vuelve negro y lo ultimo que oyes es al mago diciendo que nunca libraria a ninguna raza de la esclabitud
echo a la que las tiene sometidas.
echo.
pause>nul
goto muerte

:ba
cls
echo Habeis decidido pelear contra %mago% y desenfundais vuestras espadas, cuando %mago% se levanta 
echo os dice que habeis cometido un error, entonces ois un cuerno de guerra sonando dentro de la caberna,
echo empieza a temblar el suelo y ois el sonido de grandes tambores de guerra retumbando por todas las galerias.
echo En ese momento %enano% coge su cuerno y lo hace sonar, entonces recuerdas que tu tambien tenias un cuerno
echo parecido, lo buscas y cuando tocas instintivamente dos toques largos y uno corto oyes que suenan miles de
echo cuernos fuera y en el interior en las cabernas retumba el sonido de un ariete golpeando en un porton. Cuando
echo te quieres dar cuenta estas esquivando un ataque del mago, %enano% te dice que el puede acabar con el mago 
echo y que tienes que ir a guiar a las tropas hasta la sala del mago.
echo Si te quedas en la sala pulsa 1, si decides guiar a las tropas pulsa 2.
set /p jugad=
if %jugad%==1 goto sa
if %jugad%==2 (goto tr) else (goto no8)

:no8
echo Esta tecla no es valida
echo.
pause>nul
goto ba

:tr
echo Sales corriendo hacia las escaleras cuando sientes un golpe en la espalda y lo ultimo que ves el suelo.
pause>nul
goto muerte

:sa
cls
echo Mientras esquivas un ataque del mago le dices a %enano% que le derrotareis sin problema, agarras tu espada con
echo las dos manos y te dipones a atacar a %mago% cuando la sala da una sacudida que os echa a los tres al suelo,
echo %enano% te dice que ha sido el golpe de los proyectiles de las catapultas para derribar a los gigantes de piedra,
echo os levantais y os acercais al mago que esta todavia en el suelo, entonces, ves que una piedra le ha aplastado
echo las piernas.
echo.
echo Si decides darle el golpe final pulsa 1, si le quitas la piedra de encima pulsa 2.
set /p jugad=
if %jugad%==1 goto fi
if %jugad%==2 (goto pi) else (goto no9)

:no9
echo Esta tecla no es valida
echo.
pause>nul
goto sa


:fi
cls
echo Levantas la espada mientras el mago ruega por su vida, en el mismo momento en el que %enano% rompe
echo el baston del mago tu espada cae con un golpe limpio rebanandole la cabeza y rodando esta hacia tus pies,
echo la recoges y la guardas en un saco de mimbre que has recogido de un rincon. Os dirigis hacia donde suena el
echo sonido del metal chocando, cuando llegais veis que un mar de orcos, trasgos, trols, duendes, esqueletos,
echo elfos osuros, demonios, minotauros, hombres lobos y erorks-hai entre vosotros y vuestros aliados.
echo.
echo Si decides ir directo a donde estan vuestros aliados pulsa 1, si decides no entrar en ese mar pulsa 2.
set /p jugad=
if %jugad%==1 goto ma
if %jugad%==2 (goto noma) else (goto no10)

:no10
echo Esta tecla no es valida
echo.
pause>nul
goto fi

:pi
cls
echo Te dispones a levantar la piedra pero pesa demasiado y no puedes solo, le pides ayuda a %enano5
echo para levantarla, cuando levantais la piedra, el mago coge el baston, lo levanta y lo ultimo que ves es una luz
echo brillante.
pause>nul
goto muerte

:ma
cls
echo Recoges un escudo amplio y te preparas para abrirte un camino a la fuerza, miras a %enano% que te dice que el
echo esta listo para abrirse camino y entonces te lanzas a la carrera matando todo aquello que se cruzase por delante
echo tuyo, durante bastante rato lo unico que veias eran partes del cuerpo amputadas, sangre y armas, tu brazo se cansa
echo cada vez mas entonces te das cuenta de que tu espada es de dos manos y muy pesada cuando un orco te ataca con una
echo espada que te gusta, te lanzas sobre el y le rebanas el cuello, coges su espada y siges abriendote camino, cuando te
echo das cuenta estas rebanando cabezas de erorks-hai y estas pisando cadaveres de humanos, elfos y enanos. Tres horas
echo despues cuando habeis limpiado de bichos la cueva de acceso y asegurado las entradas una persona se te acerca y te
echo abraza, es lo ultimo que recuerdas antes de desmallarte. Te despiertas y te encuentras en una cama con una chica
echo que te suena de algo dormida en una silla.
echo.
echo Si decides levantarte e investigar el lugar pulsa 1, si decides depertar a la chica y preguntarle que pasa pulsa 2.
set /p jugad=
if %jugad%==1 goto in
if %jugad%==2 (goto chi) else (goto no11)

:in
cls
echo Te levantas de la cama y caminas hacia la saida de la tienda, cuando sales ves que te encuentras en la caberna
echo de la entrada, entonces los guardias de tu tienda de campaña te dicen que esperes mientras uno de ellos entra en
echo la tienda.
goto con

:chi
cls
echo Te levantas, le despiertas a la chica y le preguntas de que la conoces.
goto con

:con
echo Ella te dice que tu eres un general de la fuerza de liberacion unificada, es decir, una fuerza militar
echo clandestina que se ha levantado contra el mago oscuro que les gobierna, entonces te cuenta que ella es
echo tu amiga de la infancia y tambiente cuenta tu historia y la suya.
echo.
echo Si decides seguir escuchandola pulsa 1, si decides levantarte e ir a buscar a %enano% pulsa 2.
set /p jugad=
if %jugad%==1 goto es
if %jugad%==2 (goto go) else (goto no12)

:es
cls
echo Escuchas atentamente durante unas horas y despues te vuelves a dormir, cuando despiertas parece ser que te acuerdas
echo de todo lo que te havias olvidado. Sales de la tienda con %amiga% y te diriges a la tienda donde se reunen los tres
echo generales, el de los humanos, elfos y enanos.
echo.
echo Felicidades habeis liberado a todas las razas.
pause>nul
exit

: go
cls
echo Te levantas y te diriges hacia la salida sin escuchar a nadie y empiezas a dar vueltas por el campamento,
echo te encuentras con un guardia al que le preguntas donde esta %enano% el te responde que esta en la puerta
echo de la galeria nor-oeste que esta a cargo de enanos y humanos, te diriges hacia alli pero cuando estas apunto
echo de llegar un enano te para y te dice que no tienes armadura ni armas, te da una armadura muy ligera, un
echo escudo, una espada, una daga y un hacha enana. Ahora que estas armado te diriges a las barricadas construidas
echo para soportar los constantes ataques enemigos, cuando llegas ves a %enano% organizando a los soldados que
echo han sido destinados alli, te acercas y le saludas a %enano% y le preguntas si lo que %amiga% te ha contado es
echo verdad, entonces una flecha se clava al lado de tu pie, en ese momento todos los soldados de esa puerta se
echo colcan en sus puestos de combate y %enano% te dice que te vallas.
echo.
echo Si decides irte pulsa 1, si decides quedarte pulsa 2.
set /p jugad=
if %jugad%==1 goto ir
if %jugad%==2 goto bt

:ir
cls
echo Te vas corriendo mientras escuchas el sonido de tambores de guerra y cuernos, cuando llegas al campamento
echo principal te diriges a la tienda principal donde encuentras a un enano y a una elfa, el enano se presenta
echo diciendo que se llama %jefenano% y la elfa se llama %elfa%. Entonces ellos te dicen lo mismo que %amiga%.
echo.
echo.
echo Habeis librado a todas las razas.
pause>nul
exit

:bt
cls
echo Te diriges a un lugar un poco alto y entonces ves que os estan atacando minotaros, hombres lobo, orcos, trasgos
echo y mas montruos  que no logras distinguir, bajas y te lanzas a la batalla rebanando todo los que encuentras que
echo con mas pelo de lo normal, entonces escuchas que se abre el porton y escuchas el sonido de unos tambores que
echo te resultan familiares, en ese momento todas las bestias que habia a tu alrededor echan a correr en direccion
echo al interior de la cueva, en ese momento oyes un grito obligandote a regresar a las barricadas.
echo Tres veranos mas tarde se finaliza la purga de esa gruta. Habeis liberado a todas las razas del poder de ese
echo maligno mago, y ahora todos os lo agradecen con un enorme festin.
echo.
echo Si tienes alguna idea de mejora mandala al correo de contacto.
echo Pulsa cualquier tecla para continuar.
pause>nul
exit

:no12
echo Esta tecla no es valida
echo.
pause>nul
goto chi

:no11
echo Esta tecla no es valida
echo.
pause>nul
goto fi

:noma
cls
echo Retrocedeis un poco para que no os vean vuestros enemigos y empezais a esperar en silencio, esperando a saber el
echo bando ganador, cuando no aguantas empezais a hablar pero, de repente, sientes un dolor muy fuerte en el pecho
echo y ves el acero de una espada atravesando tu cuerpo.
pause>nul
goto muerte

: h
cls
echo Mientras estas buscando una salida te diriges hacia una caberna donde encuentras a un hechicero que te invita
echo a pasar y a sentarte.
echo.
pause>nul
goto f

: f
cls
echo Te sientas y el hechicero saca un tablero, y te dice que si le ganas una vez te mostrara la salida, pero que si
echo tu pierdes le daras tu alma, intentas escapar pero tus piernas no reponden, entonces el hechicero te dice que
echo tienes tres oportunidades.

pause>nul
set suario=0
set omputador=0
set mpates=0
set intent=3
set circulo=O
set cruz=X

:escoje
cls
echo.
echo   Escoje
echo            1   --   X
echo            0   --   O
set /p jugad=     
if %jugad%==1 goto cru
if %jugad%==0 (goto circu) else (goto eki)
 
:eki
echo.
echo  Esa tecla no es valida
pause>nul
goto escoje
 
:cru
set jugada=X
set computadores=O
goto randomize
 
:circu
set jugada=O
set computadores=X
goto randomize
 
:randomize
set guion=-
set uno=-
set dos=-
set tres=-
set cuatro=-
set cinco=-
set seis=-
set siete=-
set ocho=-
set nueve=-
set one=1
set two=2
set three=3
set four=4
set five=5
set six=6
set seven=7
set eight=8
set nine=9
set /a rand=%random%
if %rand% leq 2000 goto compu
if %rand% leq 4000 goto inicio
if %rand% leq 6000 goto compu
if %rand% leq 8000 goto inicio
if %rand% leq 10000 goto compu
if %rand% leq 12000 goto inicio
if %rand% leq 14000 goto compu
if %rand% leq 16000 goto inicio
if %rand% leq 18000 goto compu
if %rand% leq 20000 goto inicio
if %rand% leq 22000 goto compu
if %rand% leq 24000 goto inicio
if %rand% leq 26000 goto compu
if %rand% leq 28000 goto inicio
if %rand% leq 30000 goto compu
if %rand% leq 32000 goto inicio
if %rand% leq 34000 goto compu
 
:inicio
cls
echo.
echo    " " " " " " " " " " " " " " " " " " "
echo    "                                   "
echo    "              |     |              "
echo    "           %siete%  |  %ocho%  |  %nueve%           "       Estos son los numeros:
echo    "         _____|_____|_____         "
echo    "              |     |              "
echo    "           %cuatro%  |  %cinco%  |  %seis%           "                           7  8  9
echo    "         _____|_____|_____         "   Estolad    :  %suario%
echo    "              |     |              "                           4  5  6
echo    "           %uno%  |  %dos%  |  %tres%           "   hechicero :  %omputador%
echo    "              |     |              "                           1  2  3
echo    "                                   "   Empates    :  %mpates%
echo    " " " " " " " " " " " " " " " " " " "   intentos restantes   : %intent%
echo.
echo.
if %uno%%dos%%tres%==%computadores%%computadores%%computadores% goto fin_compu
if %cuatro%%cinco%%seis%==%computadores%%computadores%%computadores% goto fin_compu
if %siete%%ocho%%nueve%==%computadores%%computadores%%computadores% goto fin_compu
if %uno%%cuatro%%siete%==%computadores%%computadores%%computadores% goto fin_compu
if %dos%%cinco%%ocho%==%computadores%%computadores%%computadores% goto fin_compu
if %tres%%seis%%nueve%==%computadores%%computadores%%computadores% goto fin_compu
if %cinco%%siete%%tres%==%computadores%%computadores%%computadores% goto fin_compu
if %nueve%%cinco%%uno%==%computadores%%computadores%%computadores% goto fin_compu
if %uno%==%guion% goto usuario_juega
if %dos%==%guion% goto usuario_juega
if %tres%==%guion% goto usuario_juega
if %cuatro%==%guion% goto usuario_juega
if %cinco%==%guion% goto usuario_juega
if %seis%==%guion% goto usuario_juega
if %siete%==%guion% goto usuario_juega
if %ocho%==%guion% goto usuario_juega
if %nueve%==%guion% (goto usuario_juega) else (goto empate)
 
:usuario_juega
echo   Juegas con %jugada%
echo.
set /p usuario=  elige tu jugada (1-9): 
if %usuario%==%one% (goto usuario_uno)
if %usuario%==%two% (goto usuario_dos)
if %usuario%==%three% (goto usuario_tres)
if %usuario%==%four% (goto usuario_cuatro)
if %usuario%==%five% (goto usuario_cinco)
if %usuario%==%six% (goto usuario_seis)
if %usuario%==%seven% (goto usuario_siete)
if %usuario%==%eight% (goto usuario_ocho)
if %usuario%==%nine% (goto usuario_nueve) else (goto otro)
 
:otro
echo.
echo  Esa tecla no es valida
pause>nul
goto inicio
 
:usuario_uno
if %uno%==%circulo% (goto ocu)
if %uno%==%cruz% (goto ocu)
set uno=%jugada%
goto compu
 
:usuario_dos
if %dos%==%circulo% (goto ocu)
if %dos%==%cruz% (goto ocu)
set dos=%jugada%
goto compu
 
:usuario_tres
if %tres%==%circulo% (goto ocu)
if %tres%==%cruz% (goto ocu)
set tres=%jugada%
goto compu
 
:usuario_cuatro
if %cuatro%==%circulo% (goto ocu)
if %cuatro%==%cruz% (goto ocu)
set cuatro=%jugada%
goto compu
 
:usuario_cinco
if %cinco%==%circulo% (goto ocu)
if %cinco%==%cruz% (goto ocu)
set cinco=%jugada%
goto compu
 
:usuario_seis
if %seis%==%circulo% (goto ocu)
if %seis%==%cruz% (goto ocu)
set seis=%jugada%
goto compu
 
:usuario_siete
if %siete%==%circulo% (goto ocu)
if %siete%==%cruz% (goto ocu)
set siete=%jugada%
goto compu
 
:usuario_ocho
if %ocho%==%circulo% (goto ocu)
if %ocho%==%cruz% (goto ocu)
set ocho=%jugada%
goto compu
 
:usuario_nueve
if %nueve%==%circulo% (goto ocu)
if %nueve%==%cruz% (goto ocu)
set nueve=%jugada%
goto compu
 
:ocu
echo.
echo Esta casilla ya esta ocupada
pause>nul
goto inicio
 
:compu
if %uno%%dos%%tres%==%jugada%%jugada%%jugada% goto fin_usu
if %cuatro%%cinco%%seis%==%jugada%%jugada%%jugada% goto fin_usu
if %siete%%ocho%%nueve%==%jugada%%jugada%%jugada% goto fin_usu
if %uno%%cuatro%%siete%==%jugada%%jugada%%jugada% goto fin_usu
if %dos%%cinco%%ocho%==%jugada%%jugada%%jugada% goto fin_usu
if %tres%%seis%%nueve%==%jugada%%jugada%%jugada% goto fin_usu
if %siete%%cinco%%tres%==%jugada%%jugada%%jugada% goto fin_usu
if %nueve%%cinco%%uno%==%jugada%%jugada%%jugada% goto fin_usu
if %uno%%dos%%tres%==%computadores%%computadores%%guion% goto si_tres
if %uno%%dos%%tres%==%computadores%%guion%%computadores% goto si_dos
if %uno%%dos%%tres%==%guion%%computadores%%computadores% goto si_uno
if %cuatro%%cinco%%seis%==%computadores%%computadores%%guion% goto si_seis
if %cuatro%%cinco%%seis%==%computadores%%guion%%computadores% goto si_cinco
if %cuatro%%cinco%%seis%==%guion%%computadores%%computadores% goto si_cuatro
if %siete%%ocho%%nueve%==%computadores%%computadores%%guion% goto si_nueve
if %siete%%ocho%%nueve%==%computadores%%guion%%computadores% goto si_ocho
if %siete%%ocho%%nueve%==%guion%%computadores%%computadores% goto si_siete
if %uno%%cuatro%%siete%==%computadores%%computadores%%guion% goto si_siete
if %uno%%cuatro%%siete%==%computadores%%guion%%computadores% goto si_cuatro
if %uno%%cuatro%%siete%==%guion%%computadores%%computadores% goto si_uno
if %dos%%cinco%%ocho%==%computadores%%computadores%%guion% goto si_ocho
if %dos%%cinco%%ocho%==%computadores%%guion%%computadores% goto si_cinco
if %dos%%cinco%%ocho%==%guion%%computadores%%computadores% goto si_dos
if %tres%%seis%%nueve%==%computadores%%computadores%%guion% goto si_nueve
if %tres%%seis%%nueve%==%computadores%%guion%%computadores% goto si_seis
if %tres%%seis%%nueve%==%guion%%computadores%%computadores% goto si_tres
if %siete%%cinco%%tres%==%computadores%%computadores%%guion% goto si_tres
if %siete%%cinco%%tres%==%computadores%%guion%%computadores% goto si_cinco
if %siete%%cinco%%tres%==%guion%%computadores%%computadores% goto si_siete
if %nueve%%cinco%%uno%==%computadores%%computadores%%guion% goto si_uno
if %nueve%%cinco%%uno%==%computadores%%guion%%computadores% goto si_cinco
if %nueve%%cinco%%uno%==%guion%%computadores%%computadores% goto si_nueve
if %uno%%dos%%tres%==%jugada%%jugada%%guion% goto si_tres
if %uno%%dos%%tres%==%jugada%%guion%%jugada% goto si_dos
if %uno%%dos%%tres%==%guion%%jugada%%jugada% goto si_uno
if %cuatro%%cinco%%seis%==%jugada%%jugada%%guion% goto si_seis
if %cuatro%%cinco%%seis%==%jugada%%guion%%jugada% goto si_cinco
if %cuatro%%cinco%%seis%==%guion%%jugada%%jugada% goto si_cuatro
if %siete%%ocho%%nueve%==%jugada%%jugada%%guion% goto si_nueve
if %siete%%ocho%%nueve%==%jugada%%guion%%jugada% goto si_ocho
if %siete%%ocho%%nueve%==%guion%%jugada%%jugada% goto si_siete
if %uno%%cuatro%%siete%==%jugada%%jugada%%guion% goto si_siete
if %uno%%cuatro%%siete%==%jugada%%guion%%jugada% goto si_cuatro
if %uno%%cuatro%%siete%==%guion%%jugada%%jugada% goto si_uno
if %dos%%cinco%%ocho%==%jugada%%jugada%%guion% goto si_ocho
if %dos%%cinco%%ocho%==%jugada%%guion%%jugada% goto si_cinco
if %dos%%cinco%%ocho%==%guion%%jugada%%jugada% goto si_dos
if %tres%%seis%%nueve%==%jugada%%jugada%%guion% goto si_nueve
if %tres%%seis%%nueve%==%jugada%%guion%%jugada% goto si_seis
if %tres%%seis%%nueve%==%guion%%jugada%%jugada% goto si_tres
if %siete%%cinco%%tres%==%jugada%%jugada%%guion% goto si_tres
if %siete%%cinco%%tres%==%jugada%%guion%%jugada% goto si_cinco
if %siete%%cinco%%tres%==%guion%%jugada%%jugada% goto si_siete
if %nueve%%cinco%%uno%==%jugada%%jugada%%guion% goto si_uno
if %nueve%%cinco%%uno%==%jugada%%guion%%jugada% goto si_cinco
if %nueve%%cinco%%uno%==%guion%%jugada%%jugada% goto si_nueve
if %uno%==- goto computador
if %dos%==- goto computador
if %tres%==- goto computador
if %cuatro%==- goto computador
if %cinco%==- goto computador
if %seis%==- goto computador
if %siete%==- goto computador
if %ocho%==- goto computador
if %nueve%==- (goto computador) else (goto empate)
 
:computador
set /a x=%random%
if %x% leq 3640 goto siete
if %x% leq 7280 goto ocho
if %x% leq 10920 goto seis
if %x% leq 14560 goto uno
if %x% leq 18200 goto cinco
if %x% leq 21840 goto nueve
if %x% leq 25480 goto cuatro
if %x% leq 29120 goto tres
if %x% leq 32767 goto dos
 
:uno
if %uno%==%guion% (goto si_uno) else (goto compu)
:dos
if %dos%==%guion% (goto si_dos) else (goto compu)
:tres
if %tres%==%guion% (goto si_tres) else (goto compu)
 
:cuatro
if %cuatro%==%guion% (goto si_cuatro) else (goto compu)
 
:cinco
if %cinco%==%guion% (goto si_cinco) else (goto compu)
 
:seis
if %seis%==%guion% (goto si_seis) else (goto compu)
 
:siete
if %siete%==%guion% (goto si_siete) else (goto compu)
 
:ocho
if %ocho%==%guion% (goto si_ocho) else (goto compu)
 
:nueve
if %nueve%==%guion% (goto si_nueve) else (goto compu)
 
:si_uno
set uno=%computadores%
goto inicio
 
:si_dos
set dos=%computadores%
goto inicio
 
:si_tres
set tres=%computadores%
goto inicio
 
:si_cuatro
set cuatro=%computadores%
goto inicio
 
:si_cinco
set cinco=%computadores%
goto inicio
 
:si_seis
set seis=%computadores%
goto inicio
 
:si_siete
set siete=%computadores%
goto inicio
 
:si_ocho
set ocho=%computadores%
goto inicio
 
:si_nueve
set nueve=%computadores%
goto inicio
 
:fin_compu
echo.
echo       te ha ganado el hechizero
echo.
set /a omputador=omputador+1
set /a intent=intent-1
echo.
pause>nul
if %intent%==0 goto muerte
goto randomize
 
:fin_usu
echo.
echo       You Win
echo.
set /a suario=suario+1
echo.
pause>nul
goto salida
 
:empate
echo.
echo      Empate
set /a mpates=mpates+1
echo.
echo   Presione una tecla para volver a jugar
pause>nul
goto randomize

: salida
cls
echo El hechicero se levanta y te guia a traves de una gruta iluminada pero estrecha que lleva a la salida, cuando estas
echo fuera te guiras, lo unico que ves es un volcan y cuando elevas la mirada ves un cielo gris y varios dragones, en ese
echo instante una flecha atraviesa la cabeza del hechicero que cae en la nieve con un agujero en la cabeza, cuando alzas
echo la vista ves a un elfo y a un hombre.
echo.
echo Si decides combatir pulsa 1, si decides hablar con ellos pulsa 2.
set /p jugad=
if %jugad%==1 goto cm
if %jugad%==2 (goto ha) else (goto no13)

:no13
echo Esta tecla no es valida
echo.
pause>nul
goto salida

:cm
echo Desenvainas la espada y te lanzas en carrera en direccion al hombre, tu oponente desnvaina la espada pero lo hace 
echo muy lento y tu aprovechas para darle un golpe rapido en el estomago, coges su escudo y te cubres de las flechas del
echo elfo, te acercas al elfo, este tira el arco al suelo y desenvaina su espada, despues de varios choques del acero
echo te das cuenta de que tu hombro empieza a fallarte y en ese momento el elfo te rebana el cuello.
echo.
pause>nul
goto muerte

:ha
cls
echo Te acercas a ellos, entonces el humano saca una daga, la pone en tu cuello y te guian a su campamento.
echo Alli te llevan a la tienda de campaña mas grande de todas, cuando entras un enano al que llamas %jefenano%
echo y una elfa a la que llamas %elfa% de repente te desmallas, cuando despiertas ves que te encuentras en una cama
echo y que %jefenano% y %elfa% estan sentados al lado tuyo, en ese momento recuerdas todo, que eras un general del
echo ejercito liberador unido creado para matar al mago oscuro
echo.
echo Si quieres atacar y matar a %mago% pulsa 1, si decides que es imposible matarlo pulsa 2.
set /p jugad=
if %jugad%==1 goto si
if %jugad%==2 goto no

:si
cls
echo Te levantas de la cama y les dices que preparen a los ejercitos para atacar.
goto ta

:ta
echo En unas tres horas el campamento ha sido levantado y todos los soldados de cada ejercito esta en su puesto y
echo todas las formaciones estan hechas, las maquinas de asedio listas y a todos preparados. Te subes a una colina y
echo miras a tu alrrededor y ves la figura de grandes catapultas,fundibulos, ballestas gigantes y mas armas de asedio
echo hechas por los maestros enanos, y a tus pies ves a mas de cincuenta millones de soldados esperando tus ordenes,
echo en ese momento levantas la  mano y gritas "!Por la libertad!" y todos esos soldados repiten lo mismo al unisono,
echo cuando comenzais la marcha veis como grandes rocas salen disparadas en direccion al volcan donde vive %mago%.
echo.
echo Felicidades habeis liberado a todas las razas.
pause>nul
goto fin

:no
cls
echo Te duermes y al cabo de unas horas te levantas y despues de meditarlo mucho les dices que no crees que sea posible
echo vencer esta batalla y en ese momento les cuentas todos lo que has visto, aunque lo intentas ellos te dicen que no
echo piensan retirarse.
goto ta

: fin
echo Pulsa cualquier tecla para salir. Si tienes alguna idea de mejora o critica manda un correo al correo de contacto.
pause>nul
exit