elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
22 Agosto 2008, 06:26  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Scripting
| | | |-+  3 en raya en batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: 3 en raya en batch  (Leído 107 veces)
The Shadow

Desconectado Desconectado

Mensajes: 27



Ver Perfil
3 en raya en batch
« en: 16 Febrero 2008, 00:06 »

Código:
@echo off
title 3R
echo.>00.t && echo.>01.t && echo.>02.t && echo.>10.t && echo.>11.t && echo.>12.t && echo.>20.t && echo.>21.t
echo.>22.t && attrib *.t +h
:ini
color a
cls
set op=-
set or=-
set a3=-
set b3=-
set c3=-
set a2=-
set b2=-
set c2=-
set a1=-
set b1=-
set c1=-
call :4ech 4
echo                        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo                           3 en Raya en batch by Shadow
call :4ech 4
echo                               [a]   Juego Nuevo
echo                               [i]   Tabla de Errores
echo                               [s]   Salir
echo                        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
call :4ech 2
set /p op=_
if %op%==- call :error 01 ini
set opc=%op: =%
set opcn1=%opc:~0,1%
if %opcn1%==- call :error 01 ini
if %opcn1%==a (goto a_) else (if %opcn1%==A (goto a_))
if %opcn1%==i (goto i_) else (if %opcn1%==I (goto i_))
if %opcn1%==s (goto x_) else (if %opcn1%==S (goto x_))
call :error 01 ini
:a_
cls
call :4ech 4
echo                        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo                          [e] Empezar tu
echo                          [s] Sederme el turno
echo                          [v] Volver al menu anterior
echo                        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
call :4ech 3
set /p or=Que desea hacer (E, S o V)?
if %or%==- call :error 02 a_
set ord=%or: =%
set ordn=%ord:~0,1%
if %ordn%==e (goto graph) else (if %ordn%==E (goto graph))
if %ordn%==s (goto pr) else (if %ordn%==S (goto pr))
if %ordn%==v (goto ini) else (if %ordn%==V (goto ini))
call :error 02 a_
:pr
set rdm=%random:~0,1%
if not %rdm%==1 (if not %rdm%==2 (if not %rdm%==3 (goto pr)))
goto b%rdm%
:graph
cls && call :4ech 3
echo                                    0      1     2
call :4ech 2
echo                            ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo                            º                             º
echo                            º           ^|     ^|           º
echo                      0     º        %a1%  ^|  %b1%  ^|  %c1%        º
echo                            º      _____^|_____^|_____      º
echo                            º           ^|     ^|           º
echo                      1     º        %a2%  ^|  %b2%  ^|  %c2%        º
echo                            º      _____^|_____^|_____      º
echo                            º           ^|     ^|           º
echo                      2     º        %a3%  ^|  %b3%  ^|  %c3%        º
echo                            º           ^|     ^|           º
echo                            º                             º
echo                            ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
set curr=X && call :win_chk jugmov
:win_chk
set nest=%1
:lop
if %curr%==X (set term=Perdiste! && set col=4)
if %a1%%b1%%c1%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %a2%%b2%%c2%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %a3%%b3%%c3%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %a1%%a2%%a3%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %b1%%b2%%b3%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %c1%%c2%%c3%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %a1%%b2%%c3%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %a3%%b2%%c1%==%curr: =%%curr: =%%curr: =% (call :win %col% %term%)
if %curr%==X (set curr=O && set term=Ganaste! && set col=a && goto lop)
call :juju %nest%
:juju
if %a1%==- goto %1
if %a2%==- goto %1
if %a3%==- goto %1
if %b1%==- goto %1
if %b2%==- goto %1
if %b3%==- goto %1
if %c1%==- goto %1
if %c2%==- goto %1
if %c3%==- (goto %1) else (call :win f0 Empate!)
:jugmov
call :4ech 2 && echo Elija las coordenadas de su siguiente jugada! && call :4ech 2
set /p co_n=Coordenadas (xy) ej.:11?
set coo_n=%co_n:~0,2%
set coor_n=%coo_n: =%
if op%coor_n%==op (call :error 04 graph)
if %coor_n%==s (goto x_) else (if %coor_n%==S (goto x_))
if not exist %coor_n%.t (call :error 03 graph)
if %coor_a%%coor_n%==00 goto a1_
if %coor_a%%coor_n%==01 goto a2_
if %coor_a%%coor_n%==02 goto a3_
if %coor_a%%coor_n%==10 goto b1_
if %coor_a%%coor_n%==11 goto b2_
if %coor_a%%coor_n%==12 goto b3_
if %coor_a%%coor_n%==20 goto c1_
if %coor_a%%coor_n%==21 goto c2_
if %coor_a%%coor_n%==22 goto c3_
:a1_
if not %a1%==- goto no
set a1=O
goto ia
:a2_
if not %a2%==- goto no
set a2=O
goto ia
:a3_
if not %a3%==- goto no
set a3=O
goto ia
:b1_
if not %b1%==- goto no
set b1=O
goto ia
:b2_
if not %b2%==- goto no
set b2=O
goto ia
:b3_
if not %b3%==- goto no
set b3=O
goto ia
:c1_
if not %c1%==- goto no
set c1=O
goto ia
:c2_
if not %c2%==- goto no
set c2=O
goto ia
:c3_
if not %c3%==- goto no
set c3=O
goto ia
:no
echo Codigo de ERROR:04 (Ha dejado el campo vacio o el espacio ya a sido ocupado) && pause && goto graph
:ia
set curr=X
call :win_chk sif
:sif
if %a1%%b2%%b1%%c1%%a2%%c2%%a3%%b3%%c3%==O-------- goto b2
if %c1%%b2%%b1%%a1%%a2%%c2%%a3%%b3%%c3%==O-------- goto b2
if %a3%%b2%%b1%%a1%%a2%%c2%%c1%%b3%%c3%==O-------- goto b2
if %c3%%b2%%b1%%a1%%a2%%c2%%a3%%b3%%c1%==O-------- goto b2
set crt=X
set cnf=x
:nxpla
if %a3%%b3%%c3%==%crt: =%%crt: =%- goto c3
if %a3%%b3%%c3%==%crt: =%-%crt: =% goto b3
if %a3%%b3%%c3%==-%crt: =%%crt: =% goto a3
if %a2%%b2%%c2%==%crt: =%%crt: =%- goto c2
if %a2%%b2%%c2%==%crt: =%-%crt: =% goto b2
if %a2%%b2%%c2%==-%crt: =%%crt: =% goto a2
if %a1%%b1%%c1%==%crt: =%%crt: =%- goto c1
if %a1%%b1%%c1%==%crt: =%-%crt: =% goto b1
if %a1%%b1%%c1%==-%crt: =%%crt: =% goto a1
if %a3%%a2%%a1%==%crt: =%%crt: =%- goto a1
if %a3%%a2%%a1%==%crt: =%-%crt: =% goto a2
if %a3%%a2%%a1%==-%crt: =%%crt: =% goto a3
if %b3%%b2%%b1%==%crt: =%%crt: =%- goto b1
if %b3%%b2%%b1%==%crt: =%-%crt: =% goto b2
if %b3%%b2%%b1%==-%crt: =%%crt: =% goto b3
if %c3%%c2%%c1%==%crt: =%%crt: =%- goto c1
if %c3%%c2%%c1%==%crt: =%-%crt: =% goto c2
if %c3%%c2%%c1%==-%crt: =%%crt: =% goto c3
if %a1%%b2%%c3%==%crt: =%%crt: =%- goto c3
if %a1%%b2%%c3%==%crt: =%-%crt: =% goto b2
if %a1%%b2%%c3%==-%crt: =%%crt: =% goto a1
if %c1%%b2%%a3%==%crt: =%%crt: =%- goto a3
if %c1%%b2%%a3%==%crt: =%-%crt: =% goto b2
if %c1%%b2%%a3%==-%crt: =%%crt: =% goto c1
if %cnf%==x (set cnf=f
             set crt=O
             goto nxpla)
if %a1%%b2%%b3%%c1%%b1%%c3%%a2%%c2%%a3%==OXO------ goto a3
if %b2%%c2%%a3%%b1%%a1%%c1%%a2%%b3%%c3%==XOO------ goto c3
if %b1%%b2%%c3%%a1%%c1%%c2%%a2%%b3%%a3%==OXO------ goto c1
if %c1%%a2%%b2%%a1%%b1%%c2%%b3%%a3%%c3%==OXO------ goto a1
if %a1%%c2%%b3%%b1%%c1%%a2%%b2%%a3%%c3%==OXO------ goto b2
if %b1%%c2%%a3%%a1%%c1%%a2%%b2%%b3%%c3%==XOO------ goto b2
if %b1%%a2%%c3%%a1%%c1%%c2%%b2%%b3%%a3%==OXO------ goto b2
if %c1%%a2%%b3%%a1%%b1%%c2%%b2%%a3%%c3%==OOX------ goto b2
if %a1%%b1%%a2%%c1%%b2%%a3%%c2%%b3%%c3%==XOO------ goto b2
if %a3%%b3%%a2%%a1%%b2%%c3%%b1%%c2%%c1%==XOO------ goto b2
if %c1%%b1%%c2%%a1%%b2%%c3%%a2%%b3%%a3%==XOO------ goto b2
if %c3%%c2%%b3%%c1%%b2%%a3%%b1%%a2%%a1%==XOO------ goto b2
if %a1%%b1%%a2%%c1%%b2%%a3%%c2%%b3%%c3%==XOO------ goto b2
if %c1%%c2%%a3%%a1%%b1%%a2%%b2%%b3%%c3%==XOO------ goto b2
if %a1%%b1%%c3%%c1%%b2%%a3%%c2%%b3%%a2%==XOO------ goto b2
if %c1%%a2%%a3%%a1%%b1%%b2%%c2%%b3%%c3%==OOX------ goto b2
if %a1%%b3%%c3%%b1%%c1%%a2%%c2%%a3%%b2%==OOX------ goto b2
if %a1%%c2%%b3%%b1%%c1%%a2%%b2%%a3%%c3%==XOO------ goto c1
if %a3%%b2%%c2%%a1%%c1%%a2%%b1%%b3%%c3%==OXO------ goto c3
if %b1%%b2%%a3%%a1%%c1%%a2%%c2%%b3%%c3%==OXO------ goto a2
if %a2%%b2%%c3%%a1%%c1%%b1%%c2%%b3%%a3%==OXO------ goto b3
if %c1%%b2%%b3%%a1%%b1%%c3%%a2%%c2%%a3%==OXO------ goto c2
if %a1%%b2%%c2%%c1%%b1%%c3%%a2%%b3%%a3%==OXO------ goto b1
if %c1%%a2%%b3%%a1%%b1%%b2%%c2%%a3%%c3%==XOO------ goto a1
if %c3%%b1%%a2%%a1%%c1%%b2%%c2%%a3%%b3%==XOO------ goto a3
if %b2%%a1%%c3%%b1%%c2%%c1%%a2%%b3%%a3%==XOO------ goto c2
if %c1%%b2%%a3%%a1%%b1%%a2%%c2%%b3%%c3%==XOO------ goto c3
if %a1%%b2%%c3%%b1%%c1%%a2%%c2%%a3%%b3%==XOO------ goto a3
if %a3%%b2%%c1%%a1%%b1%%a2%%c2%%b3%%c3%==XOO------ goto a1
if %c3%%b2%%a1%%b1%%c1%%a2%%c2%%a3%%b3%==XOO------ goto c1
if %a1%%c2%%b3%%b1%%c1%%a2%%b2%%a3%%c3%==XOO------ goto c1
if %a2%%a3%%c2%%a1%%b1%%c1%%b2%%b3%%c3%==XOO------ goto c3
if %a2%%b3%%c1%%a1%%b1%%b2%%c2%%a3%%c3%==XOO------ goto b2
if %c2%%b1%%a3%%a1%%c1%%a2%%b2%%b3%%c3%==XOO------ goto b2
if %a1%%b1%%a3%%c1%%a2%%b2%%c2%%b3%%c3%==XOO------ goto b2
if %a1%%c1%%b3%%b1%%a2%%b2%%c2%%a3%%c3%==XOO------ goto a3
if %c3%%a3%%c2%%a1%%b1%%c1%%a2%%b2%%b3%==XOO------ goto b2
if %c3%%b3%%c1%%a1%%b1%%a2%%b2%%c2%%a3%==XOO------ goto b2
if %a3%%b3%%c3%%a1%%b1%%c1%%a2%%b2%%c2%==OOX------ goto b2
if %c1%%c2%%c3%%b1%%b2%%b3%%a1%%a2%%a3%==XOO------ goto b2
if %a1%%b1%%c1%%a3%%b3%%c3%%a2%%b2%%c2%==XOO------ goto b2
if %a1%%a2%%a3%%c1%%c2%%c3%%b1%%b2%%b3%==OOX------ goto b2
if %a1%%c1%%a2%%c2%%b3%%b1%%b2%%a3%%c3%==0XXOO---- goto b2
if %a1%%c1%%a2%%c2%%b3%%b1%%b2%%a3%%c3%==XOOXO---- goto b2
if %b1%%a2%%c2%%a3%%c3%%b3%%b2%%a1%%c1%==OOXXO---- goto b2
if %b1%%a2%%c2%%a3%%c3%%b3%%b2%%a1%%c1%==OXOOX---- goto b2
if %a1%%b1%%c2%%a3%%b3%%a2%%b2%%c3%%c1%==XOOOX---- goto b2
if %a1%%b1%%c2%%a3%%b3%%a2%%b2%%c3%%c1%==OXOXO---- goto b2
if %b1%%c1%%a2%%b3%%c3%%a3%%b2%%a1%%c2%==XOOOX---- goto b2
if %b1%%c1%%a2%%b3%%c3%%a3%%b2%%a1%%c2%==OXOXO---- goto b2
if %b1%%a2%%b2%%c2%%c3%%b3%%a3%%a1%%c1%==OXXOO---- goto c1
if %b1%%a2%%b2%%b3%%c3%%a3%%c2%%a1%%c1%==OOXXO---- goto a1
if %c1%%a2%%b2%%c2%%b3%%a3%%a1%%b1%%c3%==OOXXO---- goto a3
if %a1%%b1%%b2%%c2%%b3%%a2%%a3%%c3%%c1%==OXXOO---- goto c3
if %b2%==- goto b2x
if %a3%==- goto pr2
if %b3%==- goto pr2
if %c3%==- goto pr2
if %a2%==- goto pr2
if %c2%==- goto pr2
if %a1%==- goto pr2
if %b1%==- goto pr2
if %c1%==- (goto pr2) else (call :win f0 Empate!)
:a3
if %a3%==- (goto a3x) else (goto pr2)
:b3
if %b3%==- (goto b3x) else (goto pr2)
:c3
if %c3%==- (goto c3x) else (goto pr2)
:a2
if %a2%==- (goto a2x) else (goto pr2)
:b2
if %b2%==- (goto b2x) else (goto pr2)
:c2
if %c2%==- (goto c2x) else (goto pr2)
:a1
if %a1%==- (goto a1x) else (goto pr2)
:b1
if %b1%==- (goto b1x) else (goto pr2)
:c1
if %c1%==- (goto c1x) else (goto pr2)
:a3x
set a3=X
goto graph
:b3x
set b3=X
goto graph
:c3x
set c3=X
goto graph
:a2x
set a2=X
goto graph
:b2x
set b2=X
goto graph
:c2x
set c2=X
goto graph
:a1x
set a1=X
goto graph
:b1x
set b1=X
goto graph
:c1x
set c1=X
goto graph
:4ech
echo.
if %1==1 goto :EOF
echo.
if %1==2 goto :EOF
echo.
if %1==3 goto :EOF
echo.
if %1==4 goto :EOF
echo.
goto :EOF
:error
echo Un error ha ocurrido! Codigo de error: %1 .
echo Para ver la explicacion del error vaya a la tabla de errores en el menu principal.
pause && goto %2
:win
color %1 && call :4ech 2 && echo                          %2 && pause && goto ini
:x_
attrib -h *.t && del /s /q *.t && exit
:i_
cls
call :4ech 5
echo                     TABLA DE ERRORES
echo                    ------------------
echo.
echo        CODIGO ^|                  SIGNIFICADO
echo       ________^|______________________________________________________
echo          01   ^| OPCION INVALIDA (OPCIONES VALIDAS: a, i, x)
echo          02   ^| OPCION INVALIDA (OPCIONES VALIDAS: e, s, v)
echo          03   ^| OPCION INVALIDA (OPCIONES VALIDAS: 00,01,02,10,11,12,20,21,22)
echo          04   ^| Ha dejado un campo en blanco o La coordenada ya ha sido ocupada
call :4ech 3
pause
goto ini
:lo
call :error 05 jugmov
:pr2
set rdm=%random:~1,1%
if not %rdm%==1 (if not %rdm%==2 (if not %rdm%==3 (goto pr2)))
set rdm2=%random:~2,1%
if not %rdm2%==4 (if not %rdm2%==5 (if not %rdm2%==6 (goto pr2)))
set targt=%rdm2%%rdm%
set targt=%targt:4=a%
set targt=%targt:5=b%
set targt=%targt:6=c%
if %targt%==c3 (if %a2%%a1%%b1%%c1%%b2%%c2%%c3%%b3%%a3%==O-------- goto pr2
                if %c1%%a1%%b1%%a2%%b2%%c2%%a3%%b3%%c3%==O-------- goto pr2)
if %targt%==a1 (if %c2%%a1%%b1%%c1%%a2%%b2%%a3%%b3%%c3%==O-------- goto pr2
                if %a3%%a1%%b1%%c1%%a2%%b2%%c2%%b3%%c3%==O-------- goto pr2)
if %targt%==a3 (if %a1%%b1%%c1%%a2%%b2%%c2%%a3%%b3%%c3%==O-------- goto pr2
                if %c2%%a1%%b1%%c1%%a2%%b2%%a3%%b3%%c3%==O-------- goto pr2)
if %targt%==c1 (if %a2%%a1%%b1%%c1%%b2%%c2%%a3%%b3%%c3%==O-------- goto pr2
                if %c3%%a1%%b1%%c1%%a2%%b2%%c2%%a3%%b3%==O-------- goto pr2)
if %targt%==b1 (if %b2%%a1%%b1%%c1%%a2%%c2%%a3%%b3%%c3%==O-------- goto pr2)
if %targt%==c2 (if %b2%%a1%%b1%%c1%%a2%%c2%%a3%%b3%%c3%==O-------- goto pr2)
if %targt%==a2 (if %b2%%a1%%b1%%c1%%a2%%c2%%a3%%b3%%c3%==O-------- goto pr2)
if %targt%==b3 (if %b2%%a1%%b1%%c1%%a2%%c2%%a3%%b3%%c3%==O-------- goto pr2)
goto %targt%

Saludos!
En línea




Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC