Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Julio 27, 2008, 03:38:24
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación (Moderador: programas gratis)  |  Tema: 4 Reto de programacion 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 2 [3] 4 Ir Abajo Imprimir
Autor Tema: 4 Reto de programacion  (Leído 1584 veces)
sami
Habitual
*****
Desconectado Desconectado

Mensajes: 340



Ver Perfil Email
« Respuesta #50 en: Enero 12, 2008, 08:08:15 »

deberias usar un switch en vez de tantos ifs
« Última modificación: Enero 12, 2008, 08:09:04 por sami » En línea
The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #51 en: Enero 12, 2008, 04:56:12 »

---------------------MODIFICADO------------------
« Última modificación: Enero 18, 2008, 05:23:27 por The Shadow » En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
[p3ll3]
Colaborador
*****
Desconectado Desconectado

Mensajes: 524

Read The Fucking Manual && STFU xDDD


Ver Perfil WWW
« Respuesta #52 en: Enero 12, 2008, 05:03:04 »

 Grin Grin Grin Grin, te quedo bien el gato en batch .


Saludos............... Cool
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

[p3ll3]
Colaborador
*****
Desconectado Desconectado

Mensajes: 524

Read The Fucking Manual && STFU xDDD


Ver Perfil WWW
« Respuesta #53 en: Enero 12, 2008, 05:05:41 »

Amigo disculpa la ignorancia pero que son esos archivos  " *.T " que crea el programa  Huh
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #54 en: Enero 12, 2008, 05:24:38 »

xD .... tranqi y grax x el comentario ...

weno los .T los creo para q despues el programa aga un reconocimiento de la coordenada introducida  (un if not exist) simplemente para no comparar la coordenada introducida con todas las posibles .. simple y sencillamente reviza si ese archivo existe.. xD ... no tienen naa adentro pero sirven para q el programa funcione
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
[p3ll3]
Colaborador
*****
Desconectado Desconectado

Mensajes: 524

Read The Fucking Manual && STFU xDDD


Ver Perfil WWW
« Respuesta #55 en: Enero 12, 2008, 05:29:25 »

Si ya me di cuenta  Grin Grin , trata de mejorar esto porque le gane a la IA  Wink





**modificado:Me equivoque de imagen





Saludos..................... Cool
« Última modificación: Enero 12, 2008, 05:38:45 por [p3ll3] » En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #56 en: Enero 12, 2008, 05:34:05 »


Citar
El PC NO PUEDE PERDER NINGUNA PARTIDA.
bueno otra cosa, es IMPOSIBLE que siempre una pc gane, claro es posible si se juega a lo estupido, pero hay jugadas que ya de por si, llevan a un empate, por lo que deberia ser o que la pc gane o empate! Wink


xD ... de eso se trata .. si tu empiezas la partida ... ay situaciones el las q la IA tiene 2 opciones criticas y solo puede poner una ficha ... por eso ganas ..xD ... asi ay jugadas predestinadas.... y acer un algoritmo q contenga la lista d todas los movimientos anteriores a esas jugadas (predeterminadas a ganar), seria muy extenza ...


---------------------------------------------------edited

aunq si .... aun qedan 3 dias .... aver si logro añadir a la bd esas jugadas
« Última modificación: Enero 12, 2008, 05:36:20 por The Shadow » En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
[p3ll3]
Colaborador
*****
Desconectado Desconectado

Mensajes: 524

Read The Fucking Manual && STFU xDDD


Ver Perfil WWW
« Respuesta #57 en: Enero 12, 2008, 08:48:03 »

Solo tres personas lo han posteado , esperemos que todos lo que se apuntaron no se les haya olvidado.



Saludos.................. Cool
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

FreakMind
Habitual
*****
Desconectado Desconectado

Mensajes: 181



Ver Perfil
« Respuesta #58 en: Enero 14, 2008, 01:50:42 »

Buenas... Mily se fue de vacaciones y estos dias no la pagina no bajaba asi que les dejo su codigo...
El mio vendra
Código:
/*
TATETI
^^MiLy^^
*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

char tablero[3][3];

void tablero1()
{
// funcion que dibuja el tablero
    for(int i=0; i<=2; i++){
        for(int a=0; a<=2; a++){
        printf(" %c", tablero[i][a]);
        if(a<2) printf("|");
        }
    printf("\n");
    if(i<2) printf(" - - - -");
    printf("\n");
    }
}

int turno_pc()
{
/* empieza la maquina, si no esta puesta la ficha del medio del tablero (1;1),
la pone la maquina, si en alguna linea o diagonal hay 2 del mismo pone
una ficha, si era de la persona evita que gane, y si era de
la maquina pone la que le falta para ganar, sino se pone en la casilla
que mas lugares sin fichas de la maquina sume */

if((int)tablero[1][1]==32){
    tablero[1][1]='X';
    return 0;
    }
/* horizontal*/
int a=0, b=2, d=1, cont=0, mayor=0, x=0, y=0;

for(int i=0; i<=2; i++){
    a=0, b=2, d=1, cont=0;
    for(int z=0; z<=2; z++){
        if(cont==2)    b--;
        if( ( tablero[i][d]==tablero[i][b] ) && (int)tablero[i][d]!=32){
            if((int)tablero[i][a]==32){
                tablero[i][a]='X';
            return 0;
            }
        }
        a++, cont++;
   
        if(d==1) d--;
    }
}
/* vertical */
for(i=0; i<=2; i++){
    a=0, b=2, d=1, cont=0;
    for(int z=0; z<=2; z++){
        if(cont==2)    b--;
        if(tablero[d][i]==tablero[b][i] && (int)tablero[d][i]!=32){
            if((int)tablero[a][i]==32){
                tablero[a][i]='X';
                return 0;
            }
        }
        a++, cont++;

        if(d==1) d--;
    }
}
//LAS 2 DIAGONALES ------------------------------>
//         \
int cont1=0;
cont=2, i=2, b=1;
for(a=0; a<=2; a++){
    if(tablero[b][b]==tablero[i][i] && (int)tablero[b][b]!=32){
        if((int)tablero[a][a]==32){
            tablero[a][a]='X';
            return 0;
        }
    }
    cont--, cont1++;
    if(cont==1)    b--;
    if(cont1==2) i--;
}
// diagonal /
if(tablero[0][2]==tablero[1][1] && (int)tablero[0][2]!=32){
    if((int)tablero[2][0]==32){
        tablero[2][0]='X';
        return 0;
    }
}
else if(tablero[1][1]==tablero[2][0] && (int)tablero[1][1]!=32){
    if((int)tablero[0][2]==32){
        tablero[0][2]='X';
        return 0;
    }
}
else if(tablero[0][2]==tablero[2][0] && (int)tablero[0][2]!=32){
    if((int)tablero[1][1]==32){
        tablero[1][1]='X';
        return 0;
    }
}
/* busqueda de la mejor casilla */
cont=0, a=0;
for(i=0; i<=2; i++){
    for(int e=0; e<=2; e++){
        cont=0;
        if((int)tablero[i][e]==32){
                    //horizontal
            for(int z=0; z<=2; z++){
                            for(int j=0; j<=0; j++){
                               if(tablero[z][j]!= 'X' ) cont++;
                            }
            }
            //vertical     
                   for(z=0; z<=2; z++){
                            for(int j=0; j<=0; j++){
                                    if(tablero[j][z]!= 'X' ) cont++;
                             }
            }
                   // \
                   for(z=0; z<=2; z++){
                          if(tablero[z][a]!='X') cont++;
                              a++;
                  }
                // /
                   a=2;
                   for(z=0; z<=2; z++){
                            if(tablero[z][a]!='X') cont++;
                            a--;
                  }
             if(cont>mayor){
                        mayor=cont;
                        x=i, y=e;
        }
    }
} }
     
    tablero[x][y]='X';
    return 0;
}

int comprobar(){
/* la funcion pide las coordenadas x;y, si estan fuera
de rango, o el lugar de esas coordenadas ya esta escrito se vuelven a pedir,
sino, se pone la ficha del jugador en las coordenas que metio la persona */
    int x=0, y=0;
    clrscr();
    tablero1();

    printf("Coordenada X y Y \n");
    scanf("%d %d", &x, &y);

    if((x>2 || y>2) || (x<0 || y<0)) comprobar();
       
    else if((int)tablero[x][y]==32){
             tablero[x][y]='O';
             return 0;
    }
       
    else comprobar();
   
    return 0;
}

int tab_lleno()
{
/* esta funcion comprueba si el tablero esta lleno, si el numero de casillas
diferentes de espacios (32) es igual al numero total de casillas en el tablero,
el tablero esta lleno */
    int cont=0;

    for(int i=0; i<=2; i++){
        for(int a=0; a<=2; a++){
                if((int)tablero[i][a]!=32) cont++;
         }
    }
    if(cont==9) return 0; //lleno

    else return 1;
}

void mostrar(int x,int  y){
/* funcion que muestra al ganador*/
    clrscr();
    tablero1();
    printf("Ganador: %c ", tablero[x][y]);
    getch();
    exit(0);
}

void ganador(){
/* esta funcion busca si hay algun ganador, si hay 3 fichas iguales en una
fila o diagonal se pasan las coordenadas de esa fila, para que la funcion
mostrar() muestre añl ganador */
    int b=0;
    //horizontal
    for(int a=0; a<=2; a++){
        if((int)tablero[a][b]==(int)tablero[a][b+1] && (int)tablero[a][b]==(int)tablero[a][b+2]){
             mostrar(a, b);
            }
    }
    /* horizontal*/
    /*VERTICAL*/
    b=0;
    for(a=0; a<=2; a++){
        if(tablero[b][a]==tablero[b+1][a] && tablero[b][a]==tablero[b+2][a]){
            mostrar(b, a);
        }
    }
     /*VERTICAL*/
     /* DIAGONAL \*/
    a=0, b=0;
    if(tablero[a][b]==tablero[a+1][b+1] && tablero[a][b]==tablero[a+2][b+2]){
        mostrar(a, b);
    }
    /* DIAGONAL \ */
    /* DIAGONAL / */
    if(tablero[0][2]==tablero[1][1] && tablero[0][2]==tablero[2][0]){
        mostrar(0, 2);
    }
    /* DIAGONAL / */       
}

int empezar(int cont){
/*mientras el tablero no este lleno, empieza a jugar la persona ( si se elijio
que empieze la maquina, la ficha se pone en main ), se llama a comprobar()
para que la persona ponga la ficha, y hasta que no se pone una coordenada
valida no se sale de la funcion, se aumenta cont en 1 despues de cada turno
de la persona y de la maquina, recien se llama a ganador() cuando cont llega
a 5 o mas, ya que minimo para hacer tateti uno tiene que tener 3 fichas, y 2
el otro, buscar un ganador antes de los 5 turnos no tendria sedntido, si no
se encontro ningun ganador, y el tablero esta lleno, es empate. */
    while(tab_lleno()==1){
        comprobar();
        cont++;
        if(cont>=5) ganador();//comprobar q no alla ganado nadie
       
        if(tab_lleno()==1){ //si el tablero no esta lleno juega la pc
                 turno_pc();
            cont++;//se suma 1 turno
            if(cont>=5) ganador();//comprobar q no alla ganado nadie
        }
}
    clrscr();
    tablero1();
    printf("Empate\n");
    return 0;
}

int main()
{
    int op=0,cont=0; // cont es un contador de las jugadas hechas
    /* iniciar el tablero*/
    for(int i=0; i<=2; i++){
        for(int a=0; a<=2; a++){
            tablero[i][a] = ' ';
        }//for 1
    }//for 2

    do
    {
      clrscr();
    printf("1. Nueva partida\n");
    printf("2. Salir\n");
    scanf("%d", &op);
    switch(op){
        case 1 :{
            do
            {
                clrscr();
                printf("1. Empezar\n");
                printf("2. Ceder turno\n");
                printf("3. Volver al menu anterior\n");
                scanf("%d", &op);
                switch(op){
                    case 1:{
                    /* si empiza la persona, se pasa cont
                    sin aumentar, cont se aumenta
                    despues de que juega la persona */
                        empezar(cont);
                    }   
                    case 2:{

                    /* si empieza la maquina, se aumenta
                    cont en 1, pq ya se hizo 1 jugada */
                    cont++;
                        tablero[1][1] = 'X';
                        empezar(cont);
                        break;
                    }
                    case 3:{
                        op=0;
                        break;
                    }
                    default:{
                        printf("Elejir una opcion\n");
                        getch();
                    }
                }
            }while(op>3 || op<0);
            break;
        }//FIN CASE 1
        case 2 :{
            printf("Saliendo...\n");
            getch();
            exit(1);
        }
        default:{
            printf("Elejir una opcion 1 o 2\n");
            op=0;
        }
        }//switch
       }while(op==0);
    getch();
    return 0;
}

Turbo C 3.0
En línea

Connoisseurs of C semantics find C++ inferior to ++C

Espectro Infernal
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 797



Ver Perfil
« Respuesta #59 en: Enero 14, 2008, 02:57:36 »


Citar
El PC NO PUEDE PERDER NINGUNA PARTIDA.
bueno otra cosa, es IMPOSIBLE que siempre una pc gane, claro es posible si se juega a lo estupido, pero hay jugadas que ya de por si, llevan a un empate, por lo que deberia ser o que la pc gane o empate! Wink


xD ... de eso se trata .. si tu empiezas la partida ... ay situaciones el las q la IA tiene 2 opciones criticas y solo puede poner una ficha ... por eso ganas ..xD ... asi ay jugadas predestinadas.... y acer un algoritmo q contenga la lista d todas los movimientos anteriores a esas jugadas (predeterminadas a ganar), seria muy extenza ...


---------------------------------------------------edited

aunq si .... aun qedan 3 dias .... aver si logro añadir a la bd esas jugadas

The Shadow yo lo etsoy haciendo en Batch y creo que el mio si será invencible... Creo que si se puede hacer Wink

El code lo entrgo mañana dia 15 no?
En línea





Deeo
Miembro
*****
Desconectado Desconectado

Mensajes: 131


Ozzy Slave.

MrRaiser@gmail.com
Ver Perfil Email
« Respuesta #60 en: Enero 14, 2008, 11:17:11 »

Si yo tambien le gane con esta combinación.


« Última modificación: Enero 14, 2008, 11:24:04 por Deeo » En línea

sami
Habitual
*****
Desconectado Desconectado

Mensajes: 340



Ver Perfil Email
« Respuesta #61 en: Enero 15, 2008, 09:25:27 »

la entrega se pospone hasta el 20 de febrero.
depurad los codigos, hacedlos con menos lineas y mas rapidos. teneis tiempo de sobra.

Ya dare mas instrucciones.
el dia 20 se formaliza la entrega y se publican todos a la vez.
un saludo
En línea
Espectro Infernal
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 797



Ver Perfil
« Respuesta #62 en: Enero 15, 2008, 02:28:23 »

Que pena, con los esfuerzos que tuve que hacer para acabar el programa hoy, un dia que no fui a la escuela y me quedé de 11 de la mañana a 6 de la tarde programandolo en Batch y ahora resulta que tengo 5 dias más. Además esto se anuncia cuando ya hay codes presentados.

Respeto los horarios y los voy a seguir el dia 20 tendrán mi code, seguramene lo mejoraré. Pero me gustaría preguntar el porqué del cambio de fecha.

Gracias y Saludos sami.

Bytes, Espectro Infernal.
En línea





Aleks
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 2627


Mehr licht


Ver Perfil Email
« Respuesta #63 en: Enero 17, 2008, 11:16:03 »

Código:
20 de febrero.

Eso fue lo que leí Espectro!  Cool
En línea





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

I´ll see you in the other side, I know it!
The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #64 en: Enero 18, 2008, 05:21:26 »

weno ... participare con este:

# de lineas = 371
tipo de IA=defensivo
lenguaje= batch script
-----------------------------------------------------
Código:
@echo off
title 3R v1.0
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 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]   Instruciones
echo                               [s]   Salir
echo                        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
call :4ech 2
set /p opcn1=_
if %opcn1%==a goto a_
if %opcn1%==A goto a_
if %opcn1%==i goto i_
if %opcn1%==I goto i_
if %opcn1%==s goto x_
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 ordn=Que desea hacer (E, S o V)?
if %ordn%==e goto graph
if %ordn%==E goto graph
if %ordn%==s goto pr
if %ordn%==S goto pr
if %ordn%==v goto ini
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 .Para ver la explicacion del error vaya a la tabla de errores en la seccion de instrucciones.
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 2
echo Para poner una ficha, elija sus coordenadas xy, las cuales "x" son los numeros 0, 1 o 2 horizontales y las "y" los numeros 0, 1 o 2 verticales. Las coordenadas deben ponerse seguidas y debe ser 1ro la coordenada horizontal(x) y luego la vertical(y). Ejemplo: si se quiere poner la ficha en el centro del tablero, su coordenada sera "11", osea 1 en "x" y 1 en "y"
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


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #65 en: Enero 21, 2008, 05:54:34 »

weno .... sera q no ay mas codes? ....  Huh
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
Ni0
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1357


Ni0-inside the source code

Ni0@el-hacker.org
Ver Perfil WWW Email
« Respuesta #66 en: Enero 21, 2008, 09:13:28 »

yo juego con el de mi blog, no en contre nada para mejorarlo

salu2!
En línea

Inside The Source Code




Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Linux Registred User #460377
Anibal784
Miembro
*****
Desconectado Desconectado

Mensajes: 29

ajr784@hotmail.com
Ver Perfil WWW Email
« Respuesta #67 en: Enero 24, 2008, 05:51:05 »

Hola gente, no soy de responder mucho en éste foro, pero ésto me resultó muy interesante y quería preguntar ¿si aún se puede entrar en éste reto o ya no?, yo al mío ya lo tengo echo, pero es bastante extenso (por los comentarios que tiene) y no se si hay que postearlo ahora o en el día en el que fue prorrogado?
En línea

"UNIX is simple. It just takes a genius to understand its simplicity."
sami
Habitual
*****
Desconectado Desconectado

Mensajes: 340



Ver Perfil Email
« Respuesta #68 en: Enero 25, 2008, 07:36:00 »

el dia 20 de febrero se publcian los codes. ya dare instrucciones y si, claro qeu puedes entrar
En línea
The Shadow
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 754


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #69 en: Enero 25, 2008, 12:23:23 »

el dia 20 de febrero se publcian los codes. ya dare instrucciones y si, claro qeu puedes entrar


PFFF .... q pocoton de tiempo! ...  Grin ya podre optimizar mi code!...

Saludos
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion