Juego del gato creado en batch (modo grafico)

Iniciado por WHK, 1 Abril 2007, 00:27 AM

0 Miembros y 1 Visitante están viendo este tema.

WHK

Me interesó tanto el tema de la programación en batch que busqué entre mis cosas antiguas este viejo script para que se diviertan jugando al gato en modo grafico ;) =

@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


------------
Y que quede claro esta vez que yo no lo hice Aunque entiendo el 95% de lo que hace este bat, pero porfavor ya no me torturen como el post de virus hechos en batch :-s

Att. Yan.
Unilola Software.

Mad Antrax

Jeje, está currado pero yo no ví a ningún gato xD
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

WHK

#2
cuidado porque entremedio salta una carita que puede hacer que no se copie en el bat.

Yo lo ejecuté y si se puede jugar al gato y ya me he entretenido mucho con el XD Aunque es bastante viejo.


Avoidance25

Muy bueno, no hay muchos juegos en batch que yo conosca.

Una pregunta: Como funciona la parte de "Debug":

: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

:huh:

y esta:
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


Podría alguien explicarmelo?
:huh: :huh: :huh:
--Recuerda siempre que eres único... Exactamente igual que todos los demás.
--Diplomacia es el arte de decir "bonito perrito"... hasta que puedas encontrar una piedra.
--Morir es como dormir, pero sin levantarse a hacer pis.
--En las guerras, los soldados reciben las balas y los generales las medallas.

-Elkiot-

Mmm esta interesante, voy a probarlo.

Por cierto, WHK, edita el post y pon el codigo en batch entre  [code ] [/code ] (sin los espacios que he puesto) , para que no salgan las caritas ok?  ;)

Saludos