Test Foro de elhacker.net SMF 2.1

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 (dos) [Seleccionar]
@echo off
title    Gato     -     KeseriK.es.tl
color 9
set suario=0
set omputador=0
set mpates=0
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    "         _____|_____|_____         "   Usuario    :  %suario%
echo    "              |     |              "                           4  5  6
echo    "           %uno%  |  %dos%  |  %tres%           "   Computador :  %omputador%
echo    "              |     |              "                           1  2  3
echo    "                                   "   Empates    :  %mpates%
echo    " " " " " " " " " " " " " " " " " " "
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       Game over
echo.
set /a omputador=omputador+1
echo.
echo   Presione una tecla para volver a jugar
pause>nul
goto randomize

:fin_usu
echo.
echo       You Win
echo.
set /a suario=suario+1
echo.
echo   Presione una tecla para volver a jugar
pause>nul
goto randomize

:empate
echo.
echo      Empate
set /a mpates=mpates+1
echo.
echo   Presione una tecla para volver a jugar
pause>nul
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 (dos) [Seleccionar]
@echo off
:volver
set tu=
set r=%random%
set p=15000
set a=20000
set t=25000
if %r% LEQ %p% (goto piedra)
if %r% LEQ %a% (goto papel)
if %r% LEQ %t% (goto tigera)
if %r% GEQ %t% (goto tigera)
:piedra
echo 1 piedra
echo.
echo 2 papel
echo.
echo 3 tigera
echo.
echo elige 1,2 o 3
echo.
set/p tu=
if %tu%==1 (
echo EMPATE :!
pause >nul
cls
goto volver
)
if %tu%==2 (
echo GANASTE ¡¡¡
pause >nul
cls
goto volver
)
if %tu%==3 (
echo PERDISTE !!!
pause >nul
cls
goto volver
)
:papel
echo 1 piedra
echo.
echo 2 papel
echo.
echo 3 tigera
echo.
echo elige 1,2 o 3
echo.
set/p tu=
if %tu%==2 (
echo EMPATE :!
pause >nul
cls
goto volver
)
if %tu%==3 (
echo GANASTE ¡¡¡
pause >nul
cls
goto volver
)
if %tu%==1 (
echo PERDISTE !!!
pause >nul
cls
goto volver
)
:tigera
echo 1 piedra
echo.
echo 2 papel
echo.
echo 3 tigera
echo.
echo elige 1,2 o 3
echo.
set/p tu=
if %tu%==3 (
echo EMPATE :!
pause >nul
cls
goto volver
)
if %tu%==1 (
echo GANASTE ¡¡¡
pause >nul
cls
goto volver
)
if %tu%==2 (
echo PERDISTE !!!
pause >nul
cls
goto volver

)
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 (dos) [Seleccionar]
@ECHO OFF

REM " AQUI MIRA SI SE ESTA INICIANDO EL JUEGO Y SI ES ASI BORRA

REM TODA HUELLA DE ALGUNA POSIBLE SALIDA INCORRECTA DEL JUEGO ".

@IF A == %1 GOTO BEGIN

@IF X == %1 GOTO BEGIN

@IF O == %1 GOTO BEGIN

IF EXIST *.T DEL *.T

:BEGIN

REM " EN ESTA PARTE MIRA Y ACTUALIZA LA CANTIDAD DE JUGADAS YA REALIZADAS "

IF NOT EXIST *.T CLS

IF EXIST 9.T REN 9.T 10.T

IF EXIST 10.T GOTO INICIO

IF EXIST 8.T REN 8.T 9.T

IF EXIST 9.T GOTO INI

IF EXIST 7.T REN 7.T 8.T

IF EXIST 8.T GOTO INI

IF EXIST 6.T REN 6.T 7.T

IF EXIST 7.T GOTO INI

IF EXIST 5.T REN 5.T 6.T

IF EXIST 6.T GOTO INI

IF EXIST 4.T REN 4.T 5.T

IF EXIST 5.T GOTO INI

IF EXIST 3.T REN 3.T 4.T

IF EXIST 4.T GOTO INI

IF EXIST 2.T REN 2.T 3.T

IF EXIST 3.T GOTO INI

IF EXIST 1.T REN 1.T 2.T

IF EXIST 2.T GOTO INI

IF EXIST 0.T REN 0.T 1.T

IF EXIST 1.T GOTO INI

REM " ESTA ES LA PORTADA DE BIENVENIDA "

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO                        BIENVENIDO A: " BATCHRUN TRIQUI "

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO                            DISE¥ADO POR: BLACKWOLF

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO                         TODOS LOS DERECHOS RESERVADOS

IF NOT EXIST 0.T ECHO.

IF NOT EXIST 0.T ECHO                             COLOMBIA COFFEE HACKERS

IF NOT EXIST 0.T PAUSE > NUL

IF NOT EXIST 0.T ECHO TRIQUI > 0.T

REM "AQUI SE CREA UN SUBPROGRAMITA QUE USARA EL JUEGO PARA PODER LEER

REM LAS OPCIONES QUE TECLEE EL JUGADOR, SIEMPRE Y CUANDO NO EXISTA "

IF EXIST CODTECLA.COM GOTO NDEBUG

:DEBUG

ECHO N CODTECLA.COM >> CT.SCR

ECHO A 100 >> CT.SCR

ECHO INT 16 >> CT.SCR

ECHO MOV AL, AH >> CT.SCR

ECHO MOV AH, 4C  >> CT.SCR

ECHO INT 21  >> CT.SCR

ECHO.  >> CT.SCR

ECHO R CX  >> CT.SCR

ECHO 8  >> CT.SCR

ECHO W  >> CT.SCR

ECHO Q  >> CT.SCR

DEBUG < CT.SCR > NUL

DEL CT.SCR

:NDEBUG

REM " AQUI SE INICIA Y ASIGNAN LOS PRIMEROS VALORES A LA MATRIZ DEL JUEGO "

%0 A B C D E F G H I

REM " EN ESTA PARTE MIRA CON QUE SIGNO (X,O) HACER LA JUGADA "

:INI

IF NOT EXIST X.T GOTO INIA

IF EXIST X.T GOTO INIB

:INIA

ECHO TRIQUI > X.T

GOTO INICIO

:INIB

DEL X.T

GOTO INICIO

REM " AQUI SE MUESTRA EN PANTALLA LA MATRIZ CON LOS VALORES QUE SE TRAIGAN "

:INICIO

CLS

ECHO.

ECHO.

ECHO                  TECLEE LA LETRA EN DONDE QUIERE HACER SU JUGADA :

ECHO.

ECHO.

ECHO                                   ÉÍÍÍËÍÍÍËÍÍÍ»

ECHO                                   º %1 º %2 º %3 º

ECHO                                   ÌÍÍÍÎÍÍÍÎÍÍ͹

ECHO                                   º %4 º %5 º %6 º

ECHO                                   ÌÍÍÍÎÍÍÍÎÍÍ͹

ECHO                                   º %7 º %8 º %9 º

ECHO                                   ÈÍÍÍÊÍÍÍÊÍÍÍŒ

ECHO.

ECHO                             O PULSE " ESC " PARA SALIR.

ECHO.

REM " EN ESTA PARTE SE COMPARAN LOS VALORES DE LA MATRIZ DEL JUEGO

REM PARA SABER SI ALGUIEN GANO Y SE FELICITA A QUIEN LO HIZO"

IF %1 == %2 IF %2 == %3 ECHO 

IF %1 == %2 IF %2 == %3 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %1 == %2 IF %2 == %3 PAUSE > NUL

IF %1 == %2 IF %2 == %3 GOTO FIN

IF %4 == %5 IF %5 == %6 ECHO 

IF %4 == %5 IF %5 == %6 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %4 == %5 IF %5 == %6 PAUSE > NUL

IF %4 == %5 IF %5 == %6 GOTO FIN

IF %7 == %8 IF %8 == %9 ECHO 

IF %7 == %8 IF %8 == %9 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %7 == %8 IF %8 == %9 PAUSE > NUL

IF %7 == %8 IF %8 == %9 GOTO FIN

IF %1 == %4 IF %4 == %7 ECHO 

IF %1 == %4 IF %4 == %7 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %1 == %4 IF %4 == %7 PAUSE > NUL

IF %1 == %4 IF %4 == %7 GOTO FIN

IF %2 == %5 IF %5 == %8 ECHO 

IF %2 == %5 IF %5 == %8 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %2 == %5 IF %5 == %8 PAUSE > NUL

IF %2 == %5 IF %5 == %8 GOTO FIN

IF %3 == %6 IF %6 == %9 ECHO 

IF %3 == %6 IF %6 == %9 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %3 == %6 IF %6 == %9 PAUSE > NUL

IF %3 == %6 IF %6 == %9 GOTO FIN

IF %1 == %5 IF %5 == %9 ECHO 

IF %1 == %5 IF %5 == %9 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %1 == %5 IF %5 == %9 PAUSE > NUL

IF %1 == %5 IF %5 == %9 GOTO FIN

IF %7 == %5 IF %5 == %3 ECHO 

IF %7 == %5 IF %5 == %3 ECHO                         ­ FELICITACIONES ACABAS DE GANAR !

IF %7 == %5 IF %5 == %3 PAUSE > NUL

IF %7 == %5 IF %5 == %3 GOTO FIN

REM " SI EXISTE 10.T SIGNIFICA QUE HIZO LA ULTIMA JUGADA Y SI SE LLEGO A ESTA

REM  PARTE, ES QUE NADIE GANO, POR LO QUE SE EJECUTA EL FINAL DEL JUEGO "

IF EXIST 10.T  ECHO                             NADIE GANO EN ESTA OCACION

IF EXIST 10.T PAUSE > NUL

IF EXIST 10.T GOTO FIN

:COD

REM " EN ESTA PARTE SE LEE LA OPCION QUE DESEA EL JUGADOR ELEGIR "

CODTECLA

REM " AQUI SE EJECUTA LA OPCION ELEGIDA POR EL JUGADOR "

IF ERRORLEVEL 30 IF NOT ERRORLEVEL 31 GOTO A

IF ERRORLEVEL 48 IF NOT ERRORLEVEL 49 GOTO B

IF ERRORLEVEL 46 IF NOT ERRORLEVEL 47 GOTO C

IF ERRORLEVEL 32 IF NOT ERRORLEVEL 33 GOTO D

IF ERRORLEVEL 18 IF NOT ERRORLEVEL 19 GOTO E

IF ERRORLEVEL 33 IF NOT ERRORLEVEL 34 GOTO F

IF ERRORLEVEL 34 IF NOT ERRORLEVEL 35 GOTO G

IF ERRORLEVEL 35 IF NOT ERRORLEVEL 36 GOTO H

IF ERRORLEVEL 23 IF NOT ERRORLEVEL 24 GOTO I

IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO FIN

GOTO INICIO

REM " EN ESTA PARTE SE ENVIA A LA MATRIZ EL VALOR SELECCIONADO Y

REM SE MUESTRA EN PANTALLA LA MATRIZ DEL JUEGO COMPLETA "

:A

IF %1 == X GOTO INICIO

IF %1 == x GOTO INICIO

IF %1 == O GOTO INICIO

IF %1 == o GOTO INICIO

IF EXIST X.T %0 X %2 %3 %4 %5 %6 %7 %8 %9

IF NOT EXIST X.T %0 O %2 %3 %4 %5 %6 %7 %8 %9

:B

IF %2 == X GOTO INICIO

IF %2 == x GOTO INICIO

IF %2 == O GOTO INICIO

IF %2 == o GOTO INICIO

IF EXIST X.T %0 %1 X %3 %4 %5 %6 %7 %8 %9

IF NOT EXIST X.T %0 %1 O %3 %4 %5 %6 %7 %8 %9

:C

IF %3 == X GOTO INICIO

IF %3 == x GOTO INICIO

IF %3 == O GOTO INICIO

IF %3 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 X %4 %5 %6 %7 %8 %9

IF NOT EXIST X.T %0 %1 %2 O %4 %5 %6 %7 %8 %9

:D

IF %4 == X GOTO INICIO

IF %4 == x GOTO INICIO

IF %4 == O GOTO INICIO

IF %4 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 %3 X %5 %6 %7 %8 %9

IF NOT EXIST X.T %0 %1 %2 %3 O %5 %6 %7 %8 %9

:E

IF %5 == X GOTO INICIO

IF %5 == x GOTO INICIO

IF %5 == O GOTO INICIO

IF %5 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 %3 %4 X %6 %7 %8 %9

IF NOT EXIST X.T %0 %1 %2 %3 %4 O %6 %7 %8 %9

:F

IF %6 == X GOTO INICIO

IF %6 == x GOTO INICIO

IF %6 == O GOTO INICIO

IF %6 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 %3 %4 %5 X %7 %8 %9

IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 O %7 %8 %9

:G

IF %7 == X GOTO INICIO

IF %7 == x GOTO INICIO

IF %7 == O GOTO INICIO

IF %7 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 X %8 %9

IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 O %8 %9

:H

IF %8 == X GOTO INICIO

IF %8 == x GOTO INICIO

IF %8 == O GOTO INICIO

IF %8 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 X %9

IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 O %9

:I

IF %9 == X GOTO INICIO

IF %9 == x GOTO INICIO

IF %9 == O GOTO INICIO

IF %9 == o GOTO INICIO

IF EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 %8 X

IF NOT EXIST X.T %0 %1 %2 %3 %4 %5 %6 %7 %8 O

REM EN ESTA PARTE SE MIRA SI NADIE GANO, SE DESEA SALIRSE DEL JUEGO Y DE

REM NO QUERERSE, SE PREGUNTA SI DESEA CONTINUAR O REINICIAR EL JUEGO "

:FIN

ECHO.

ECHO                  š DESEA SALIRSE DEL " BATCHRUN TRIQUI " ? S \ N ?

:SN

CODTECLA

IF ERRORLEVEL 1 IF NOT ERRORLEVEL 31 GOTO SN

IF ERRORLEVEL 31 IF NOT ERRORLEVEL 32 GOTO SALIR

IF ERRORLEVEL 32 IF NOT ERRORLEVEL 49 GOTO SN

:CR

IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 ECHO.

IF ERRORLEVEL 49 IF NOT ERRORLEVEL 50 ECHO            SI DESEA CONTINUAR TECLEE "C" SI DESEA REINICIAR TECLEE "R"

IF ERRORLEVEL 50 GOTO SN

CODTECLA

IF ERRORLEVEL 1 IF NOT ERRORLEVEL 19 GOTO CR

IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 DEL *.T

IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 ECHO TRIQUI > 0.T

IF ERRORLEVEL 19 IF NOT ERRORLEVEL 20 %0 A B C D E F G H I

IF ERRORLEVEL 20 IF NOT ERRORLEVEL 46 GOTO CR

IF ERRORLEVEL 46 IF NOT ERRORLEVEL 47 GOTO INICIO

IF ERRORLEVEL 50 GOTO INICIO

REM " AQUI YA MUESTRA EN PANTALLA UN MENSAJE DANDO LAS GRACIAS POR

REM HABER USADO EL JUEGO, DESPUES LOS CREDITOS Y LUEGO SE SALE "

:SALIR

DEL *.T

DEL CODTECLA.COM

ECHO.

ECHO.

ECHO.

ECHO                   GRACIAS POR HABER JUGADO " BATCHRUN TRIQUI "

PAUSE > NUL

CLS

ECHO.

ECHO.

ECHO.

ECHO.

ECHO.

ECHO.

ECHO                            DISE¥ADO POR: BLACKWOLF

ECHO.

ECHO.

ECHO                         TODOS LOS DERECHOS RESERVADOS

ECHO.

ECHO                             COLOMBIA COFFEE HACKERS

PAUSE > NUL

CLS

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 (dos) [Seleccionar]
@echo off

 @title Buscaminas

 @mode con cols=18 lines=13

 @::MineSweeper v 1

 @::Coded by ::SmartGenius::



if not exist "keyboard.exe" (Goto :NoKey)



:load

setlocal enabledelayedexpansion

set LimX=9

set LimY=9

set IniX=0

set IniY=0

set MovX=0

set MovY=0



:init

for /l %%a in (0,1,%LimX%) do (

for /l %%b in (0,1,%LimY%) do (

set X%%aY%%b=Û

))

for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)

set X0Y0=

set Last=Û

set Curpos=X0Y0

Goto :First



:Graphic

Call :Clear

:First

for /l %%d in (0,1,%LimY%) do (

for /l %%e in (0,1,%LimX%) do (

set Lin_%%d=!Lin_%%d!!X%%eY%%d!

))

echo.

echo. MineSweeper v 1

echo.

for /l %%f in (0,1,%LimY%) do (echo.   !Lin_%%f!)

if "%EOG%"=="True" Goto :End

keyboard

if "%errorlevel%"=="77" (call :MovX+ "%CurPos%")

if "%errorlevel%"=="75" (call :MovX- "%CurPos%")

if "%errorlevel%"=="80" (call :MovY+ "%CurPos%")

if "%errorlevel%"=="72" (call :MovY- "%CurPos%")

if "%errorlevel%"=="13" (call :Check "%CurPos%")

if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)

if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)

Goto :Graphic



:MovX+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

if "%%p"=="%LimX%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovX=%%p+1

call set Last=%%X!MovX!Y%%q%%

set X!MovX!Y%%q=

set CurPos=X!MovX!Y%%q

)

Goto :Eof



:MovX-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

if "%%p"=="%IniX%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovX=%%p-1

call set Last=%%X!MovX!Y%%q%%

set X!MovX!Y%%q=

set CurPos=X!MovX!Y%%q

)

Goto :Eof



:MovY+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

if "%%q"=="%LimY%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovY=%%q+1

call set Last=%%X%%pY!MovY!%%

set X%%pY!MovY!=

set CurPos=X%%pY!MovY!

)

Goto :Eof



:MovY-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

if "%%q"=="%IniY%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovY=%%q-1

call set Last=%%X%%pY!MovY!%%

set X%%pY!MovY!=

set CurPos=X%%pY!MovY!

)

Goto :Eof



:Check

for /l %%h in (0,1,9) do (

if "%~1"=="!M%%h!" (

set %~1=

set EOG=True

Goto :Eof

))

set %~1=°

Goto :Eof



:End

msg * Perdiste !

pause>nul

exit



:Clear

for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)

Goto :Eof



:NoKey

cls

echo.

echo  Uno de los archivos necesarios para el

echo  funcionamiento de este Script no se

echo  encuentra.

echo.

echo  A Continuacion sera creado...

call :keyboard

echo.

echo  Archivo Creado Satisfactoriamente...

echo  Por favor reinicie el Script.

echo.

pause

exit



:keyboard

(

echo n keyboard.dat

echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF

echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00

echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21

echo rcx

echo 002E

echo w0

echo q

echo.

)>keyboard.dat

type keyboard.dat|debug>NUL 2>&1

del /f/q/a "keyboard.exe">NUL 2>&1

ren keyboard.dat "keyboard.exe"

Goto :Eof

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 (dos) [Seleccionar]
@Echo off

@title Cars

@mode con cols=15 lines=13

::Batch Game F1 Cars

::Coded by SmartGenius



setlocal enabledelayedexpansion



If Not Exist "keyboard.exe" (Call :NoKey)



:Menu

Cls

Echo.

Echo.  F1 Car Game

Echo.

Echo.   Presione

Echo.    Enter

Echo.

Pause >nul



:Vars

Set "LimX=10"

Set "LimY=10"

Set "LimI=3"

Set "LimD=9"

Set "Last= "

Set "CurPos=X3Y3"



:Init

Call :Level

For /l %%a in (0,1,%LimX%) do (

For /l %%b in (0,1,%LimY%) do (

Set X%%aY%%b=!Lin_%%a:~%%b,1!))

Set "Car=X3Y3,X2Y2,X4Y2,X3Y2,X3Y1,X2Y0,X4Y0"

For %%a in (%Car%) do (Set "%%a=Û")



:Graphic

Call :Clear

For /l %%d in (0,1,%LimX%) do (

For /l %%e in (0,1,%LimY%) do (

Set LN_%%d=!LN_%%d!!X%%eY%%d!))

Echo.  F1 Car Game

For /l %%f in (%LimY%,-1,0) do (echo. -!LN_%%f!-)

keyboard

if "%errorlevel%"=="77" (call :Mov_D)

if "%errorlevel%"=="75" (call :Mov_I)

if "%errorlevel%"=="27" (Exit)

Call :Abajo

Call :Colision "%CurPos%" "%Car2%" "%Car3%"

Goto :Graphic



:Mov_D

If "%BoundD%"=="True" Goto :Eof

Set "BoundI=False"

Set "P=0"

For %%a in (%Car%) do (

Set /a P+=1

Call :MovX+ %%a Car!P!

)

Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"

Set "CurPos=%Car1%"

Goto :Eof



:Mov_I

If "%BoundI%"=="True" Goto :Eof

Set "BoundD=False"

Set "P=0"

For %%a in (%Car%) do (

Set /a P+=1

Call :MovX- %%a Car!P!

)

Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"

Set "CurPos=%Car1%"

Goto :Eof



:MovX+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

if !%~1!==Û set %~1=%Last%

set /a MovX=%%p+1

call set Last=%%X!MovX!Y%%q%%

If "%Last%"=="²" (Goto :Lost)

set X!MovX!Y%%q=Û

set %2=X!MovX!Y%%q

if !P!==7 (if "%%p"=="%LimD%" Set BoundD=True)

)

Goto :Eof



:MovX-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

if !%~1!==Û set %~1=%Last%

set /a MovX=%%p-1

call set Last=%%X!MovX!Y%%q%%

If "%Last%"=="²" (Goto :Lost)

set X!MovX!Y%%q=Û

set %2=X!MovX!Y%%q

if !P!==7 (if "%%p"=="%LimI%" Set BoundI=True)

)

Goto :Eof



:Abajo

If "%Mov%"=="55" Goto :Win

Set /a Mov=Mov+1

For /l %%d in (0,1,%LimY%) do (Set LN_%%d=!Lin_%%d:~%Mov%!)

For /l %%a in (0,1,%LimX%) do (

For /l %%b in (0,1,%LimY%) do (

Set X%%aY%%b=!LN_%%a:~%%b,1!))

For %%c in (%Car%) do (Set "%%c=Û")

Goto :Eof



:Colision

If "%~1"=="" (Goto :Eof)

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (

set /a MovY=%%q+1

call set NMovY=%%X%%pY!MovY!%%

if "!NMovY!"=="²" (Goto :Lost)

)

Shift

Goto :Colision



:Lost

cls

Echo.

Echo.    Te has

Echo.  Estrellado

Echo.

Echo.

Ping -n 3 0.0.0.0 >nul

msg * Gracias por Jugar F1 Cars

Exit



:Win

Cls.

Echo.

Echo. Has Ganado!

Echo.

Echo. Felicidades

Echo.

Echo.

Ping -n 3 0.0.0.0 >nul

msg * Gracias por Jugar F1 Cars

Exit



:Clear

For /l %%m in (0,1,%LimX%) do (set LN_%%m=)

Goto :Eof



:Level

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Set Lin_0=        ² ²             ² ²              ² ²              +        

Set Lin_1=         ²²²             ²²²              ²²²             +        

Set Lin_2=        ² ²             ² ²              ² ²              +        

Set Lin_3=                                                          +        

Set Lin_4=        ² ²                                  ² ²          +        

Set Lin_5=         ²²²                     ² ²          ²²²         +        

Set Lin_6=        ² ²                       ²²²        ² ²          +        

Set Lin_7=                                 ² ²                      +        

Set Lin_8=                  ² ²   ² ²  ² ²                          +        

Set Lin_9=                   ²²²   ²²²  ²²²                         +        

Set Lin_10=                  ² ²   ² ²  ² ²                          +      

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Goto :Eof



:NoKey

Cls

echo.

echo. Cargando...

call :Keyboard

Goto :Eof



:Keyboard

(

echo n keyboard.dat

echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF

echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00

echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21

echo rcx

echo 002E

echo w0

echo q

echo.

)>keyboard.dat

type keyboard.dat|debug>NUL 2>&1

del /f/q/a "keyboard.exe">NUL 2>&1

ren keyboard.dat "keyboard.exe"

Goto :Eof

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 (dos) [Seleccionar]
@echo off

ÿ@title PushBox v 1

ÿ@mode con cols=21 lines=18

ÿ@::Another Batch Game

ÿ@::by ::SmartGenius ::

ÿ

if not exist "keyboard.exe" (Goto :NoKey)

ÿ

:load

call :Logo

setlocal enabledelayedexpansion

set LimX=12

set LimY=10

set NLevels=5

ÿ

:init

for /l %%a in (0,1,%LimX%) do (

for /l %%b in (0,1,%LimY%) do (

set X%%aY%%b=ø))

set Player=

set Bound=ê

set Box=*

set Push=o

ÿ

:Levels

set /a L+=1

Call :Level%L%

Call :Graphic

set P%L%=%Movs%

if "%EOG%"=="True" Goto :End

if "%L%"=="%NLevels%" Goto :Win

ping -n 1 0.0.0.0 >nul

Goto :Init

ÿ

:Graphic

Call :Clear

irst

cls

for /l %%d in (0,1,%LimY%) do (

for /l %%e in (0,1,%LimX%) do (

set Lin_%%d=!Lin_%%d!!X%%eY%%d!))

echo.

echo. PushBox v1 by Smart

echo.

echo. ÿNivel:%L% ÿ Movs:%Movs%

echo. ÿ ÖÖÖÖÖÖÖÖÖÖÖÖÖ¯

for /l %%f in (0,1,%LimY%) do (echo. ÿ §!Lin_%%f!§)

echo. ÿ ÔÖÖÖÖÖÖÖÖÖÖÖÖÖ¬

keyboard

if "%errorlevel%"=="77" (call :MovX+ "%CurPos%"

if "%errorlevel%"=="75" (call :MovX- "%CurPos%"

if "%errorlevel%"=="80" (call :MovY+ "%CurPos%"

if "%errorlevel%"=="72" (call :MovY- "%CurPos%"

if "%errorlevel%"=="88" (set EOG=True&Goto :Eof)

if "%errorlevel%"=="120" (set EOG=True&Goto :Eof)

Call :Check%L%

if "%NXL%"=="True" (Goto :Eof)

Goto :Graphic

ÿ

::Logica de Movimiento en el Plano

::Coded by :: SmartGenius ::

ÿ

:MovX+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

set /a MovX=%%p+1

set /a MovXX=%%p+2

call set NMovX=%%X!MovX!Y%%q%%

call set NMovXX=%%X!MovXX!Y%%q%%

if "!NMovX!"=="%Bound%" (Goto :Eof)

if "!NMovX!"=="%Push%" (

if !%~1!==%Player% set %~1=

set X!MovX!Y%%q=%Player%

set CurPos=X!MovX!Y%%q)

if "!NMovX!"==" " (

if !%~1!==%Player% set %~1=

set X!MovX!Y%%q=%Player%

set CurPos=X!MovX!Y%%q)

if "!NMovX!"=="%Box%" (

if "!NMovXX!"=="%Bound%" (Goto :Eof)

if "!NMovXX!"=="%Box%" (Goto :Eof)

if !%~1!==%Player% set %~1=

set X!MovX!Y%%q=%Player%

set X!MovXX!Y%%q=%Box%

set CurPos=X!MovX!Y%%q))

set /a Movs+=1

for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))

Goto :Eof

ÿ

:MovX-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

set /a MovX=%%p-1

set /a MovXX=%%p-2

call set NMovX=%%X!MovX!Y%%q%%

call set NMovXX=%%X!MovXX!Y%%q%%

if "!NMovX!"=="%Bound%" (Goto :Eof)

if "!NMovX!"=="%Push%" (

if !%~1!==%Player% set %~1=

set X!MovX!Y%%q=%Player%

set CurPos=X!MovX!Y%%q)

if "!NMovX!"==" " (

if !%~1!==%Player% set %~1=

set X!MovX!Y%%q=%Player%

set CurPos=X!MovX!Y%%q)

if "!NMovX!"=="%Box%" (

if "!NMovXX!"=="%Bound%" (Goto :Eof)

if "!NMovXX!"=="%Box%" (Goto :Eof)

if !%~1!==%Player% set %~1=

set X!MovX!Y%%q=%Player%

set X!MovXX!Y%%q=%Box%

set CurPos=X!MovX!Y%%q))

set /a Movs+=1

for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))

Goto :Eof

ÿ

:MovY+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

set /a MovY=%%q+1

set /a MovYY=%%q+2

call set NMovY=%%X%%pY!MovY!%%

call set NMovYY=%%X%%pY!MovYY!%%

if "!NMovY!"=="%Bound%" (Goto :Eof)

if "!NMovY!"=="%Push%" (

if !%~1!==%Player% set %~1=

set X%%pY!MovY!=%Player%

set CurPos=X%%pY!MovY!)

if "!NMovY!"==" " (

if !%~1!==%Player% set %~1=

set X%%pY!MovY!=%Player%

set CurPos=X%%pY!MovY!)

if "!NMovY!"=="%Box%" (

if "!NMovYY!"=="%Bound%" (Goto :Eof)

if "!NMovYY!"=="%Box%" (Goto :Eof)

if !%~1!==%Player% set %~1=

set X%%pY!MovY!=%Player%

set X%%pY!MovYY!=%Box%

set CurPos=X%%pY!MovY!))

set /a Movs+=1

for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))

Goto :Eof

ÿ

:MovY-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

set /a MovY=%%q-1

set /a MovYY=%%q-2

call set NMovY=%%X%%pY!MovY!%%

call set NMovYY=%%X%%pY!MovYY!%%

if "!NMovY!"=="%Bound%" (Goto :Eof)

if "!NMovY!"=="%Push%" (

if !%~1!==%Player% set %~1=

set X%%pY!MovY!=%Player%

set CurPos=X%%pY!MovY!)

if "!NMovY!"==" " (

if !%~1!==%Player% set %~1=

set X%%pY!MovY!=%Player%

set CurPos=X%%pY!MovY!)

if "!NMovY!"=="%Box%" (

if "!NMovYY!"=="%Bound%" (Goto :Eof)

if "!NMovYY!"=="%Box%" (Goto :Eof)

if !%~1!==%Player% set %~1=

set X%%pY!MovY!=%Player%

set X%%pY!MovYY!=%Box%

set CurPos=X%%pY!MovY!))

set /a Movs+=1

for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%))

Goto :Eof

ÿ

:Clear

for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)

Goto :Eof

ÿ

:Win

cls

echo. ÿ Introduce tu

echo. ÿ ÿ ÿNombre

echo.

set /p Nom=">>"

if not defined Nom Goto :Win

echo.

echo. Felicitaciones !

echo. %Nom%

echo.

for /l %%v in (1,1,%NLevels%) do (

echo ÿNivel: %%v Movs: !P%%v!)

pause >nul

ÿ

:End

msg * Gracias por Jugar PushBox v1 by :: SmartGenius::

endlocal

exit

ÿ

::Niveles del Juego PushBox

::Coordenadas Cartesianas

::Coded by :: SmartGenius ::

ÿ

::Inicio Nivel 1

:Level1

set Movs=0

set X4Y2=%Player%

set CurPos=X4Y2

set Pushes=X5Y2,X6Y2,X7Y2

for %%g in (%Pushes%) do (set %%g=%Push%)

for %%h in (X4Y4,X6Y5,X3Y6) do (set %%h=%Box%)

for %%i in (X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X2Y2,X8Y2,X2Y3,X6Y3,X7Y3,X8Y3,X9Y3) do (set %%i=%Bound%)

for %%j in (X1Y4,X2Y4,X3Y4,X9Y4,X1Y5,X5Y5,X7Y5,X9Y5,X1Y6,X5Y6,X9Y6,X1Y7,X5Y7,X6Y7) do (set %%j=%Bound%)

for %%k in (X7Y7,X8Y7,X9Y7,X1Y8,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8) do (set %%k=%Bound%)

for %%l in (X3Y2,X3Y3,X4Y3,X5Y3,X5Y4,X6Y4,X7Y4,X8Y4,X2Y5,X3Y5) do (set %%l= )

for %%m in (X4Y5,X8Y5,X2Y6,X4Y6,X6Y6,X7Y6,X8Y6,X2Y7,X3Y7,X4Y7) do (set %%m= )

Goto :Eof

ÿ

:Check1

set NXL=False

if "!X5Y2!"=="%Box%" (

if "!X6Y2!"=="%Box%" (

if "!X7Y2!"=="%Box%" set NXL=True))

Goto :Eof

:in Nivel 1

ÿ

::Inicio Nivel 2

:Level2

set Movs=0

set X4Y2=%Player%

set CurPos=X4Y2

set Pushes=X3Y5,X3Y6,X3Y7

for %%g in (%Pushes%) do (set %%g=%Push%)

for %%h in (X5Y3,X4Y6,X7Y7) do (set %%h=%Box%)

for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X2Y4,X3Y4,X4Y4,X6Y4) do (set %%i=%Bound%)

for %%j in (X8Y4,X9Y4,X2Y5,X4Y5,X6Y5,X9Y5,X2Y6,X7Y6,X9Y6,X2Y7,X9Y7,X2Y8,X3Y8,X4Y8) do (set %%j=%Bound%)

for %%k in (X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)

for %%l in (X5Y2,X4Y3,X6Y3,X7Y3,X5Y4,X7Y4,X5Y5,X7Y5) do (set %%l= )

for %%m in (X8Y5,X5Y6,X6Y6,X8Y6,X4Y7,X5Y7,X6Y7,X8Y7) do (set %%m= )

Goto :Eof

ÿ

:Check2

set NXL=False

if "!X3Y5!"=="%Box%" (

if "!X3Y6!"=="%Box%" (

if "!X3Y7!"=="%Box%" set NXL=True))

Goto :Eof

:in Nivel 2

ÿ

::Inicio Nivel 3

:Level3

set Movs=0

set X3Y5=%Player%

set CurPos=X3Y5

set Pushes=X3Y6,X4Y6,X3Y7,X4Y7

for %%g in (%Pushes%) do (set %%g=%Push%)

for %%h in (X3Y4,X5Y5,X8Y5,X7Y6) do (set %%h=%Box%)

for %%i in (X2Y2,X3Y2,X4Y2,X5Y2,X6Y2,X7Y2,X8Y2,X2Y3,X8Y3,X9Y3,X10Y3,X1Y4,X2Y4,X4Y4) do (set %%i=%Bound%)

for %%j in (X5Y4,X6Y4,X10Y4,X1Y5,X10Y5,X1Y6,X5Y6,X9Y6,X10Y6,X1Y7,X2Y7,X5Y7,X9Y7) do (set %%j=%Bound%)

for %%k in (X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%)

for %%l in (X3Y3,X4Y3,X5Y3,X6Y3,X7Y3,X7Y4,X8Y4,X9Y4,X2Y5,X4Y5) do (set %%l= )

for %%m in (X6Y5,X7Y5,X9Y5,X2Y6,X6Y6,X8Y6,X6Y7,X7Y7,X8Y7) do (set %%m= )

Goto :Eof

ÿ

:Check3

set NXL=False

if "!X3Y6!"=="%Box%" (

if "!X3Y7!"=="%Box%" (

if "!X4Y6!"=="%Box%" (

if "!X4Y7!"=="%Box%" set NXL=True)))

Goto :Eof

:in Nivel 3

ÿ

::Inicio Nivel 4

:Level4

set Movs=0

set X4Y4=%Player%

set CurPos=X4Y4

set Pushes=X7Y3,X7Y4,X7Y5,X7Y6

for %%g in (%Pushes%) do (set %%g=%Push%)

for %%h in (X5Y3,X6Y3,X6Y4,X5Y5) do (set %%h=%Box%)

for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X3Y4,X8Y4) do (set %%i=%Bound%)

for %%j in (X3Y5,X8Y5,X3Y6,X8Y6,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X5Y6) do (set %%j=%Bound%)

for %%l in (X4Y2,X5Y2,X4Y3,X5Y4,X4Y5,X6Y5,X4Y6,X6Y6) do (set %%l= )

Goto :Eof

ÿ

:Check4

set NXL=False

if "!X7Y3!"=="%Box%" (

if "!X7Y4!"=="%Box%" (

if "!X7Y5!"=="%Box%" (

if "!X7Y6!"=="%Box%" set NXL=True)))

Goto :Eof

ÿ

::Inicio Nivel 5

:Level5

set Movs=0

set X8Y6=%Player%

set CurPos=X8Y6

set Pushes=X4Y5,X5Y5,X6Y5,X7Y5

for %%g in (%Pushes%) do (set %%g=%Push%)

for %%h in (X2Y4,X3Y5,X8Y4,X9Y5) do (set %%h=%Box%)

for %%i in (X1Y2,X2Y2,X3Y2,X4Y2,X7Y2,X8Y2,X9Y2,X10Y2,X11Y2,X0Y3,X1Y3,X4Y3) do (set %%i=%Bound%)

for %%j in (X7Y3,X11Y3,X0Y4,X4Y4,X5Y4,X6Y4,X7Y4,X11Y4,X0Y5,X11Y5,X0Y6,X1Y6) do (set %%j=%Bound%)

for %%k in (X6Y6,X10Y6,X11Y6,X1Y7,X2Y7,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X9Y7) do (set %%k=%Bound%)

for %%l in (X2Y3,X3Y3,X8Y3,X9Y3,X10Y3,X1Y4,X3Y4,X9Y4,X10Y4,X1Y5,X2Y5,X8Y5) do (set %%l= )

for %%m in (X10Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X9Y6) do (set %%m= )

Goto :Eof

ÿ

:Check5

set NXL=False

if "!X4Y5!"=="%Box%" (

if "!X5Y5!"=="%Box%" (

if "!X6Y5!"=="%Box%" (

if "!X7Y5!"=="%Box%" set NXL=True)))

Goto :Eof

:in Nivel 5

ÿ

:in de Coordenadas

ÿ

:Logo

cls

echo.

echo. øøøøøøøøøøøøøøøøøøø

echo. øøêêêøêøêøêêêøêøøêø

echo. øøêøêøêøêøêøøøêøøêø

echo. øøêêêøêøêøêêêøêêêêø

echo. øøêøøøêøêøøøêøêøøêø

echo. øøêøøøêêêøêêêøêøøêø

echo. øøøøøøøøøøøøøøøøøøø

echo. øøøêêêøøêêêøêøøøêøø

echo. øøøêøøêøêøêøøêøêøøø

echo. øøøêêêøøêøêøøøêøøøø

echo. øøøêøøêøêøêøøêøêøøø

echo. øøøêêêøøêêêøêøøøêøø

echo. øøøøøøøøøøøøøøøøøøø

echo. øø: SmartGenius :øø

echo. øø ÿCorp. ÿ2009 ÿøø

echo. øøøøøøøøøøøøøøøøøøø

ping -n 3 0.0.0.0 >nul

Goto :Eof

ÿ

::::::::::::::::::::

::Records by Smart::

:: ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ::

::Nivel 1: 70 Movs::

::Nivel 2: 50 Movs::

::Nivel 3:116 Movs::

::Nivel 4: 25 Movs::

::Nivel 5: 63 Movs::

::::::::::::::::::::

ÿ

::::::::::::::::::::::::::::::::::::::::::::::::

::El Siguiente Codigo se encarga de Crear el

::archivo necesario para recibir entradas desde

::el teclado..... KEYBOARD.EXE

::Creditos a Carlitos ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ

::::::::::::::::::::::::::::::::::::::::::::::::

:NoKey

ÿ@mode con cols=30 lines=20

cls

echo.

echo ÿUno de los archivos necesarios para el

echo ÿfuncionamiento de este Script no se

echo ÿencuentra.

echo.

echo ÿA Continuacion sera creado...

call :keyboard

echo.

echo ÿArchivo Creado Satisfactoriamente...

echo ÿPor favor reinicie el Script.

echo.

pause

exit

ÿ

:keyboard

(

echo n keyboard.dat

echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF

echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00

echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21

echo rcx

echo 002E

echo w0

echo q

echo.

)>keyboard.dat

type keyboard.dat|debug>NUL 2>&1

del /f/q/a "keyboard.exe">NUL 2>&1

ren keyboard.dat "keyboard.exe"

Goto :Eof



Juego 2 (El conocido buscaminas):



@echo off

ÿ @title Buscaminas

ÿ @mode con cols=18 lines=13

ÿ @::MineSweeper v 1

ÿ @::Coded by ::SmartGenius::



if not exist "keyboard.exe" (Goto :NoKey)



:load

setlocal enabledelayedexpansion

set LimX=9

set LimY=9

set IniX=0

set IniY=0

set MovX=0

set MovY=0



:init

for /l %%a in (0,1,%LimX%) do (

for /l %%b in (0,1,%LimY%) do (

set X%%aY%%b=ê

))

for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!)

set X0Y0=

set Last=ê

set Curpos=X0Y0

Goto irst



:Graphic

Call :Clear

irst

for /l %%d in (0,1,%LimY%) do (

for /l %%e in (0,1,%LimX%) do (

set Lin_%%d=!Lin_%%d!!X%%eY%%d!

))

echo.

echo. MineSweeper v 1

echo.

for /l %%f in (0,1,%LimY%) do (echo.ÿ ÿ!Lin_%%f!)

if "%EOG%"=="True" Goto :End

keyboard

if "%errorlevel%"=="77" (call :MovX+ "%CurPos%"

if "%errorlevel%"=="75" (call :MovX- "%CurPos%"

if "%errorlevel%"=="80" (call :MovY+ "%CurPos%"

if "%errorlevel%"=="72" (call :MovY- "%CurPos%"

if "%errorlevel%"=="13" (call :Check "%CurPos%"

if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)

if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit)

Goto :Graphic



:MovX+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

if "%%p"=="%LimX%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovX=%%p+1

call set Last=%%X!MovX!Y%%q%%

set X!MovX!Y%%q=

set CurPos=X!MovX!Y%%q

)

Goto :Eof



:MovX-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

if "%%p"=="%IniX%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovX=%%p-1

call set Last=%%X!MovX!Y%%q%%

set X!MovX!Y%%q=

set CurPos=X!MovX!Y%%q

)

Goto :Eof



:MovY+

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

if "%%q"=="%LimY%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovY=%%q+1

call set Last=%%X%%pY!MovY!%%

set X%%pY!MovY!=

set CurPos=X%%pY!MovY!

)

Goto :Eof



:MovY-

for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do (

if "%%q"=="%IniY%" Goto :Eof

if !%~1!== set %~1=%Last%

set /a MovY=%%q-1

call set Last=%%X%%pY!MovY!%%

set X%%pY!MovY!=

set CurPos=X%%pY!MovY!

)

Goto :Eof



:Check

for /l %%h in (0,1,9) do (

if "%~1"=="!M%%h!" (

set %~1=

set EOG=True

Goto :Eof

))

set %~1=ø

Goto :Eof



:End

msg * Perdiste !

pause>nul

exit



:Clear

for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)

Goto :Eof



:NoKey

cls

echo.

echoÿ Uno de los archivos necesarios para el

echoÿ funcionamiento de este Script no se

echoÿ encuentra.

echo.

echoÿ A Continuacion sera creado...

call :keyboard

echo.

echoÿ Archivo Creado Satisfactoriamente...

echoÿ Por favor reinicie el Script.

echo.

pause

exit



:keyboard

(

echo n keyboard.dat

echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF

echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00

echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21

echo rcx

echo 002E

echo w0

echo q

echo.

)>keyboard.dat

type keyboard.dat|debug>NUL 2>&1

del /f/q/a "keyboard.exe">NUL 2>&1

ren keyboard.dat "keyboard.exe"

Goto :Eof
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
Cita de: moikano→@ en 17 Diciembre 2010, 09:03 AM
, 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

CitarThe 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