elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] (JUEGO TA-TE-TI)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] (JUEGO TA-TE-TI)  (Leído 5,419 veces)
DA KILLER

Desconectado Desconectado

Mensajes: 85


Solo sé que no sé nada...


Ver Perfil
[BATCH] (JUEGO TA-TE-TI)
« en: 6 Septiembre 2010, 17:56 pm »

JUEGO  " TA - TE - TI "

Bueno, primero agradecerle a 3D1 por compartir su script "mous" (http://foro.elhacker.net/scripting/manual_usar_mouse_en_batch-t260579.0.html) , ya que el juego se basa casi íntegramente en él.

Creo que el nombre lo dice todo, en fin, para los que no lo conocen es un juego en el cual gana el primer jugador en marcar una línea de 3 símbolos iguales, ya haya elegido "X" o "O", ya sea en forma vertical, horizontal o en diagonal.

Si quedan dudas, el código, al menos para mí, lo dice todo, pero ante cualquier duda me consultan.

Hay que pulir algunos detalles, sobretodo con la IA tan rudimentaria que se basa en la respuesta al último movimiento. Quiero aclarar que cuando hice esa parte del script pensé que no se podía anidar en batch.

        ERRORES :

  • El juego suele hacer trampas, como por ejemplo jugar dos veces o no terminar la partida
  • El "randomizer" es MUY MALO, lo reconozco, pero estoy buscando el randomizer de mi tetris xD

Lo hice esta misma mañana en el colegio, con el fin de demostrar los usos del debug en batch y particularmente del valor de poder utilizar el mouse, así que espero me puedan decir que aspectos hay que mejorar y como.

Bueno, como siempre, espero que les guste y espero sus críticas.

Código:
@Echo off
@title TA - TE - TI by .: THE KILLER :.
@color 0A
SETLOCAL ENABLEDELAYEDEXPANSION

::############################################################################################################
::# JUEGO REALIZADO CON PROPÓSITOS EDUCATIVOS A FIN DE ILUSTRAR LAS POSIBILIDADES DEL SCRIPT DE EDDY         #
::# ES COMPLETAMENTE FREEWARE SIEMPRE Y CUANDO RESPETEN LOS DERECHOS DE EDDY, ASI COMO MIS MENORES EDICIONES #
::############################################################################################################

(
echo e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3
echo g116
echo q
)>Zmouse.txt

set "orig="

cls
Echo.
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±               ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ               ±±ÛÛ
Echo. ÛÛ±±               Û      Û      Û      Û   Û  Û      Û                   ±±ÛÛ
Echo. ÛÛ±±               ÛÛÛ    ÛÛÛÛÛ  Û      Û   Û  Û  ÛÛ  ÛÛÛ                 ±±ÛÛ
Echo. ÛÛ±±               Û          Û  Û      Û   Û  Û   Û  Û                   ±±ÛÛ
Echo. ÛÛ±±               ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ               ±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±             Ú--------------¿            Ú--------------¿             ±±ÛÛ
Echo. ÛÛ±±             ^|   \      /   ^|            ^|   ÚÄÄÄÄÄÄ¿   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|    \    /    ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|     \  /     ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|      \/      ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|      /\      ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|     /  \     ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|    /    \    ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|   /      \   ^|            ^|   ÀÄÄÄÄÄÄÙ   ^|             ±±ÛÛ
Echo. ÛÛ±±             À--------------Ù            À--------------Ù             ±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

:bucle
if defined orig (goto:clear)
Del /Q /A ZDats>nul 2>&1
Debug< Zmouse.txt |Find /i "x">ZDats

Call:x
call:y
Call:Back

Call:mous "0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F 0020 0021" "%CX%" "000B 000C 000D 000E 000F 0010 0011 0012 0013 0014" "%DX%"
If %state% EQU OK (goto:OPTION_A)

Call:mous "002E 002F 0030 0031 0032 0033 0034 0035 0036 0037 0038 003A 003B 003C 003D" "%CX%" "000B 000C 000D 000E 000F 0010 0011 0012 0013 0014" "%DX%"
If %state% EQU OK (goto:OPTION_B)

Set /p= X:%CX% ::: Y:%DX%

Goto:bucle
 

:OPTION_A
Set "orig=X"
Goto:bucle

:OPTION_B
set "orig=O"
Goto:bucle


:: -- VARIABLES --
set "chc=!orig!"

:clear

set "comb=0"
set "chc=!orig!"
set "color=0A"
set "lstmv=PC"

set "1=False"
set "2=False"
set "3=False"
set "4=False"
set "5=False"
set "6=False"
set "7=False"
set "9=False"

set "1C=Empty"
set "2C=Empty"
set "3C=Empty"
set "4C=Empty"
set "5C=Empty"
set "6C=Empty"
set "7C=Empty"
set "8C=Empty"
set "9C=Empty"

set "1P="
set "2P="
set "3P="
set "4P="
set "5P="
set "6P="
set "7P="
set "8P="
set "9P="

cls

Echo.
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛ±±                                               ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ±±ÛÛ
Echo. ÛÛ±±   ÛÛÛÛÛ ÛÛÛÛÛ                       ÚÄÄÄÄÄÄÄ¿ º     Ú¿            º ±±ÛÛ
Echo. ÛÛ±±     Û   Û   Û                       ³ SALIR ³ º      ³ ABLERO      º ±±ÛÛ
Echo. ÛÛ±±     Û   ÛÛÛÛÛ                       ÀÄÄÄÄÄÄÄÙ ÌÍÍÍÍÍÍËÍÍÍÍÍÍËÍÍÍÍÍ͹ ±±ÛÛ
Echo. ÛÛ±±     Û   Û   Û                                 º      º      º      º ±±ÛÛ
Echo. ÛÛ±±     Û   Û   Û                                 º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                                               º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                ÛÛÛÛÛ ÛÛÛÛÛ                    º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                  Û   Û                        ÌÍÍÍÍÍÍÎÍÍÍÍÍÍÎÍÍÍÍÍ͹ ±±ÛÛ
Echo. ÛÛ±±                  Û   ÛÛÛ                      º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                  Û   Û                        º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                  Û   ÛÛÛÛÛ                    º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                                               º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                             ÛÛÛÛÛ ÛÛÛÛÛ       ÌÍÍÍÍÍÍÎÍÍÍÍÍÍÎÍÍÍÍÍ͹ ±±ÛÛ
Echo. ÛÛ±±                               Û     Û         º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                               Û     Û         º      º      º      º ±±ÛÛ
Echo. ÛÛ±± ÚÄÄÄÄÄÄÄÄÄÄÄ¿                 Û     Û         º      º      º      º ±±ÛÛ
Echo. ÛÛ±± ³ REINICIAR ³                 Û   ÛÛÛÛÛ       º      º      º      º ±±ÛÛ
Echo. ÛÛ±± ÀÄÄÄÄÄÄÄÄÄÄÄÙ                                 ÈÍÍÍÍÍÍÊÍÍÍÍÍÍÊÍÍÍÍÍͼ ±±ÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

:LOOP

set "chc=!orig!"
set "color=0A"

Del /Q /A ZDats>nul 2>&1
Debug< Zmouse.txt |Find /i "x">ZDats

Call:x
call:y
Call:Back

if "!lstmv!" NEQ "PC" (Call:ANS)

Call:mous "0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012" "%CX%" "0013 0014 0015" "%DX%"
If %state% EQU OK (goto:clear)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=1"&&set "1=True"&&Call:1)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=2"&&set "2=True"&&Call:2)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=3"&&set "3=True"&&Call:3)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=4"&&set "4=True"&&Call:4)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=5"&&set "5=True"&&Call:5)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=6"&&set "6=True"&&Call:6)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=7"&&set "7=True"&&Call:7)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=8"&&set "8=True"&&Call:8)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=9"&&set "9=True"&&Call:9)

Call:mous "002A 002B 002C 002D 002E 002F 0030 0031 0032" "%CX%" "0004 0005 0006" "%DX%"
If %state% EQU OK (Goto:OUT)

Call:GAME

GOTO:LOOP

:X
Set /p LineCode=<ZDats
for /f "Tokens=3" %%_ in ('Type ZDats') do (
Set %%_
Goto:eof
)
 
:Y
Set /p LineCode=<ZDats
for /f "Tokens=4" %%_ in ('Type ZDats') do (
Set %%_
Goto:eof
)
 
:Back
for /f "tokens=*" %%a in ('ipconfig') do (
Set /p=%%a<nul
Goto :eof
)
 
:mous
Set DMous=%2
Set DMous=!DMous!%4
for %%m in (%~1) do (
for %%n in (%~3) do (
if !DMous! EQU "%%m""%%n" (
Set state=OK
Set CX=0000
Set DX=0000
Goto:eof
) ELSE (
Set state=NO
)
)
)
Goto:eof

:: -- GAME DATA --

:GAME

if defined 1P ( if defined 2P ( if defined 3P (if "!1P!"=="!2P!" ( if "!2P!"=="!3P!" (set "comb=1"&&Goto:Win)))))
if defined 1P ( if defined 4P ( if defined 7P (if "!1P!"=="!4P!" ( if "!4P!"=="!7P!" (set "comb=2"&&Goto:Win)))))
if defined 1P ( if defined 5P ( if defined 9P (if "!1P!"=="!5P!" ( if "!5P!"=="!9P!" (set "comb=3"&&Goto:Win)))))
if defined 2P ( if defined 5P ( if defined 8P (if "!2P!"=="!5P!" ( if "!5P!"=="!8P!" (set "comb=4"&&Goto:Win)))))
if defined 4P ( if defined 5P ( if defined 6P (if "!4P!"=="!5P!" ( if "!5P!"=="!6P!" (set "comb=5"&&Goto:Win)))))
if defined 3P ( if defined 5P ( if defined 7P (if "!3P!"=="!5P!" ( if "!5P!"=="!7P!" (set "comb=6"&&Goto:Win)))))
if defined 3P ( if defined 6P ( if defined 9P (if "!3P!"=="!6P!" ( if "!6P!"=="!9P!" (set "comb=7"&&Goto:Win)))))
if defined 7P ( if defined 8P ( if defined 9P (if "!7P!"=="!8P!" ( if "!8P!"=="!9P!" (set "comb=8"&&Goto:Win)))))

Goto:EOF

:Win

if "!comb!"=="0" (Goto:EOF)

if "!comb!"=="1" ( (
Echo. EB800:56A "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo. Q
)|debug>nul )

if "!comb!"=="2" ( (
Echo. EB800:4D0 "³"0E
Echo. EB800:570 "³"0E
Echo. EB800:610 "³"0E
Echo. EB800:6B0 "³"0E
Echo. EB800:750 "³"0E
Echo. EB800:7F0 "³"0E
Echo. EB800:890 "³"0E
Echo. EB800:930 "³"0E
Echo. EB800:9D0 "³"0E
Echo. EB800:A70 "³"0E
Echo. EB800:B10 "³"0E
Echo. EB800:BB0 "³"0E
Echo. EB800:C50 "³"0E
Echo. EB800:CF0 "³"0E
Echo. Q
)|debug>nul )

if "!comb!"=="3" ( (
Echo. EB800:4D0 "\"0E
Echo. EB800:572 "\"0E
Echo. EB800:614 "\"0E
Echo. EB800:6B6 "\"0E
Echo. EB800:758 "\"0E
Echo. EB800:7FA "\"0E
Echo. EB800:89C "\"0E
Echo. EB800:93E "\"0E
Echo. EB800:9E0 "\"0E
Echo. EB800:A82 "\"0E
Echo. EB800:B24 "\"0E
Echo. EB800:BC6 "\"0E
Echo. EB800:C68 "\"0E
Echo. EB800:D0A "\"0E
Echo. Q
)|debug>nul )

if "!comb!"=="4" ( (
Echo. EB800:4DE "³"0E
Echo. EB800:57E "³"0E
Echo. EB800:61E "³"0E
Echo. EB800:6BE "³"0E
Echo. EB800:75E "³"0E
Echo. EB800:7FE "³"0E
Echo. EB800:89E "³"0E
Echo. EB800:93E "³"0E
Echo. EB800:9DE "³"0E
Echo. EB800:A7E "³"0E
Echo. EB800:B1E "³"0E
Echo. EB800:BBE "³"0E
Echo. EB800:C5E "³"0E
Echo. EB800:CFE "³"0E
Echo. Q
)|debug>nul )

if "!comb!"=="5" ( (
Echo. EB800:88A "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo. EB800:8A4 "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo.Q
)|debug>nul )

if "!comb!"=="6" ( (
Echo. EB800:4EC "/"0E
Echo. EB800:58A "/"0E
Echo. EB800:628 "/"0E
Echo. EB800:6C6 "/"0E
Echo. EB800:764 "/"0E
Echo. EB800:802 "/"0E
Echo. EB800:8A0 "/"0E
Echo. EB800:93E "/"0E
Echo. EB800:9DC "/"0E
Echo. EB800:A7A "/"0E
Echo. EB800:B18 "/"0E
Echo. EB800:BB6 "/"0E
Echo. EB800:C54 "/"0E
Echo. EB800:CF2 "/"0E
Echo. Q
)|debug>nul )

if "!comb!"=="7" ( (
Echo. EB800:4EC "³"0E
Echo. EB800:58C "³"0E
Echo. EB800:62C "³"0E
Echo. EB800:6CC "³"0E
Echo. EB800:76C "³"0E
Echo. EB800:80C "³"0E
Echo. EB800:8AC "³"0E
Echo. EB800:94C "³"0E
Echo. EB800:9EC "³"0E
Echo. EB800:A8C "³"0E
Echo. EB800:B2C "³"0E
Echo. EB800:BCC "³"0E
Echo. EB800:C6C "³"0E
Echo. EB800:D0C "³"0E
Echo. Q
)|debug>nul )
if "!comb!"=="8" ( (
Echo. EB800:BAA "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo.Q
)|debug>nul )

Goto:EOF

:ANS

if "!chc!"=="X" (set "chc=O") else (set "chc=X")

if "!lstmv!"=="0" (goto:eof)
if "!lstmv!"=="PC" (goto:eof)
set "lstmv=PC"
if "!lstmv!"=="1" (goto:ans1)
if "!lstmv!"=="2" (goto:ans2)
if "!lstmv!"=="3" (goto:ans3)
if "!lstmv!"=="4" (goto:ans4)
if "!lstmv!"=="5" (goto:ans5)
if "!lstmv!"=="6" (goto:ans6)
if "!lstmv!"=="7" (goto:ans7)
if "!lstmv!"=="8" (goto:ans8)
if "!lstmv!"=="9" (goto:ans9)


:ans1
set "color=0B"
if "!3!"=="True" (set "lstmv=PC"&&Call:2)
if "!2!"=="True" (set "lstmv=PC"&&Call:3)
if "!4!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:4)
if "!5!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans2
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:8)
if "!8!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans3
set "color=0B"
if "!2!"=="True" (set "lstmv=PC"&&Call:1)
if "!1!"=="True" (set "lstmv=PC"&&Call:2)
if "!5!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans4
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:6)
if "!6!"=="True" (set "lstmv=PC"&&Call:5)
set "lstmv=PC"
goto:randomizer

:ans5
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:9)
if "!3!"=="True" (set "lstmv=PC"&&Call:7)
if "!9!"=="True" (set "lstmv=PC"&&Call:1)
if "!7!"=="True" (set "lstmv=PC"&&Call:3)
if "!2!"=="True" (set "lstmv=PC"&&Call:8)
if "!8!"=="True" (set "lstmv=PC"&&Call:2)
if "!4!"=="True" (set "lstmv=PC"&&Call:6)
if "!6!"=="True" (set "lstmv=PC"&&Call:4)
goto:randomizer

:ans6
set "color=0B"
if "!3!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:3)
if "!5!"=="True" (set "lstmv=PC"&&Call:4)
if "!4!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans7
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:4)
if "!4!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:5)
if "!8!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:8)
goto:randomizer

:ans8
set "color=0B"
if "!2!"=="True" (set "lstmv=PC"&&Call:5)
if "!5!"=="True" (set "lstmv=PC"&&Call:2)
if "!7!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:7)
goto:randomizer

:ans9
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:5)
if "!5!"=="True" (set "lstmv=PC"&&Call:1)
if "!6!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:6)
if "!8!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:8)
goto:randomizer

:1

if "!1C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:4CA " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:56A " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:60A " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6AA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4CA " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:56A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:60A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:6AA " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "1P=!chc!"
set "1C=Fill"

goto:eof

:2

if "!2C!"=="Fill" (goto:eof)

if "!chc!"=="X" ( (
Echo. EB800:4D8 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:578 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:618 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6B8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4D8 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:578 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:618 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:6B8 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "2P=!chc!"
set "2C=Fill"

goto:eof

:3

if "!3C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:4E6 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:586 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:626 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6C6 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4E6 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:586 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:626 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:6C6 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "3P=!chc!"
set "3C=Fill"

goto:eof

:4

if "!4C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:7EA " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:88A " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:92A " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9CA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:7EA " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:88A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:92A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:9CA " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "4P=!chc!"
set "4C=Fill"

goto:eof

:5
if "!5C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:7F8 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:898 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:938 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9D8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:7F8 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:898 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:938 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:9D8 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "5P=!chc!"
set "5C=Fill"

goto:eof

:6

if "!6C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:806 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:8A6 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:946 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9E6 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:806 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:8A6 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:946 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:9E6 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "6P=!chc!"
set "6C=Fill"

goto:eof

:7

if "!7C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B0A " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BAA " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C4A" "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:CEA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B0A " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:BAA " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:C4A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:CEA " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "7P=!chc!"
set "7C=Fill"

goto:eof

:8

if "!8C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B18 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BB8 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C58 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:CF8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B18 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:BB8 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:C58 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:CF8 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "8P=!chc!"
set "8C=Fill"

goto:eof

:9

if "!9C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B26 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BC6 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C66 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:D06 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B26 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:BC6 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:C66 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:D06 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "9P=!chc!"
set "9C=Fill"

goto:eof

:randomizer

if "!5C!"=="Empty" (call:5&&goto:eof)
if "!9C!"=="Empty" (call:9&&goto:eof)
if "!3C!"=="Empty" (call:3&&goto:eof)
if "!6C!"=="Empty" (call:6&&goto:eof)
if "!8C!"=="Empty" (call:8&&goto:eof)
if "!1C!"=="Empty" (call:1&&goto:eof)
if "!7C!"=="Empty" (call:7&&goto:eof)
if "!2C!"=="Empty" (call:2&&goto:eof)
if "!4C!"=="Empty" (call:4&&goto:eof)

goto:eof

:OUT
Exit/b 0

Salu2.


« Última modificación: 23 Septiembre 2010, 23:45 pm por DA KILLER » En línea

.: DA KILLER :.


FerJGS

Desconectado Desconectado

Mensajes: 75


Ver Perfil
Re: [BATCH] (JUEGO TA-TE-TI)
« Respuesta #1 en: 7 Septiembre 2010, 13:52 pm »

Muy buena idea lo de hacer un tres en raya pero...no sé cómo te funcionará a ti `pero el mío está tonto...pongo una X y él me pone dos cuadrados, y cuando pongo la x para que no haga tres en raya...en vez de mi X pone él su cuadrado y me hace 3 en raya 2 veces


En línea

DA KILLER

Desconectado Desconectado

Mensajes: 85


Solo sé que no sé nada...


Ver Perfil
Re: [BATCH] (JUEGO TA-TE-TI)
« Respuesta #2 en: 7 Septiembre 2010, 18:35 pm »

Esta aclarado en la sección de errores, además lo hice en un módulo libre en el colegio (70 min, 75 si contás que me quedé en el recreo para subirlo a mi mail) encima se me está por romper la compu, si querés podés ir editándolo y vemos como se lo puede mejorar, no llega a las 100 posibilidades de jugadas por lo que tengo entendido, así que solo hay que usar el anidamiento para hacer buenos bloques lógicos, pero de momento no tengo tiempo, ( lo subí porque unas vocecillas decían que el debug y el uso del ratón en batch era algo inútil).

Salu2
En línea

.: DA KILLER :.


kworld

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: [BATCH] (JUEGO TA-TE-TI)
« Respuesta #3 en: 7 Septiembre 2010, 20:36 pm »

bueno, mira yo hice ese juego hace poco, lo hice con el método como juegan los humanos, con estrategia, hay otra forma de hacerlo que es con un método llamado minimax, que si lo programas en c o en java, funciona porque se calcula de manera completa todo el árbol del juego, pero en batch no funciona por un asunto de tiempo, es muy lento.

Aquí está el code:
Código:
http://ss64.org/viewtopic.php?pid=4096#p4096
En línea

DA KILLER

Desconectado Desconectado

Mensajes: 85


Solo sé que no sé nada...


Ver Perfil
Re: [BATCH] (JUEGO TA-TE-TI)
« Respuesta #4 en: 14 Septiembre 2010, 22:30 pm »

En realidad mi idea no es tan ala, en base a la última jugada y a las jugadas anteriores se calcula la respuesta, pero casi no estoy teniendo tiempo para programar por el estudio, en este mes sigo a full, es más no me conectaba hace más de tres días en ninguna computadora hasta hoy y ya tengo que salir, me gustaría que mi juego sea lo más mío posible, y estoy al corriente de que es algo muy común programarlo tanto en java como en C++, lo hice únicamente con motivos ilustrativos, si lo puedo mejorar lo haré, pero de momento no tengo tiempo.

Salu2 y veré tu sugerencia, gracias por tomarte el tiempo de ayudarme  ;-)

PD: Está MUY BUENO
En línea

.: DA KILLER :.


kworld

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: [BATCH] (JUEGO TA-TE-TI)
« Respuesta #5 en: 16 Septiembre 2010, 05:42 am »

Gracias DA Killer, mira aquí dejé herramientas, comandos externos de código abierto que te pueden ayudar.
http://carlitossoft.110mb.com/cmdtoolkit/

En los ejemplos viene el mismo juego pero coloreado.
http://carlitossoft.110mb.com/cmdtoolkit/examples.zip

Se ve así:
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Juego de ajedrez en batch online
Scripting
WaAYa HaCK 1 3,244 Último mensaje 13 Mayo 2011, 16:17 pm
por D4RIO
[Codigo Fuente]Juego en Batch
Scripting
1nfectØ 3 5,206 Último mensaje 4 Agosto 2011, 15:19 pm
por kub0x
[DUDA Batch] Estoy armando un juego...
Scripting
Nachodsk 1 2,142 Último mensaje 8 Noviembre 2011, 01:26 am
por leogtz
Juego de loteria - batch
Scripting
gerhy13 4 2,823 Último mensaje 3 Febrero 2015, 00:54 am
por gerhy13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines