Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Agosto 07, 2008, 03:55:06
Boton Buscar
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
Autor
Tema: 4 Reto de programacion (Leído 1675 veces)
sami
Habitual
Desconectado
Mensajes: 359
Re: 4 Reto de programacion
«
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 (Vacaciones)
Moderación
Colaborador
Desconectado
Mensajes: 754
Fucking mnemonic c0d1n6!
Re: 4 Reto de programacion
«
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
Reglamento del Foro
Linux Registered User #473016
[p3ll3]
Colaborador
Desconectado
Mensajes: 525
Read The Fucking Manual && STFU xDDD
Re: 4 Reto de programacion
«
Respuesta #52 en:
Enero 12, 2008, 05:03:04 »
, te quedo bien el gato en batch .
Saludos...............
En línea
[p3ll3]
Colaborador
Desconectado
Mensajes: 525
Read The Fucking Manual && STFU xDDD
Re: 4 Reto de programacion
«
Respuesta #53 en:
Enero 12, 2008, 05:05:41 »
Amigo disculpa la ignorancia pero que son esos archivos " *.T " que crea el programa
En línea
The Shadow (Vacaciones)
Moderación
Colaborador
Desconectado
Mensajes: 754
Fucking mnemonic c0d1n6!
Re: 4 Reto de programacion
«
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
Reglamento del Foro
Linux Registered User #473016
[p3ll3]
Colaborador
Desconectado
Mensajes: 525
Read The Fucking Manual && STFU xDDD
Re: 4 Reto de programacion
«
Respuesta #55 en:
Enero 12, 2008, 05:29:25 »
Si ya me di cuenta
, trata de mejorar esto porque le gane a la IA
**modificado:Me equivoque de imagen
Saludos.....................
«
Última modificación: Enero 12, 2008, 05:38:45 por [p3ll3]
»
En línea
The Shadow (Vacaciones)
Moderación
Colaborador
Desconectado
Mensajes: 754
Fucking mnemonic c0d1n6!
Re: 4 Reto de programacion
«
Respuesta #56 en:
Enero 12, 2008, 05:34:05 »
Cita de: SkullMaster123 en Diciembre 19, 2007, 09:55:23
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!
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
Reglamento del Foro
Linux Registered User #473016
[p3ll3]
Colaborador
Desconectado
Mensajes: 525
Read The Fucking Manual && STFU xDDD
Re: 4 Reto de programacion
«
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..................
En línea
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: 4 Reto de programacion
«
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
Mensajes: 799
Re: 4 Reto de programacion
«
Respuesta #59 en:
Enero 14, 2008, 02:57:36 »
Cita de: The Shadow en Enero 12, 2008, 05:34:05
Cita de: SkullMaster123 en Diciembre 19, 2007, 09:55:23
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!
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
El code lo entrgo mañana dia 15 no?
En línea
Deeo
Miembro
Desconectado
Mensajes: 146
Ozzy Slave.
Re: 4 Reto de programacion
«
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
Los seres queridos hacen que la vida valga la pena, los enemigos...que tenga sentido.
sami
Habitual
Desconectado
Mensajes: 359
Re: 4 Reto de programacion
«
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
Mensajes: 799
Re: 4 Reto de programacion
«
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
Conectado
Mensajes: 2709
Mehr licht
Re: 4 Reto de programacion
«
Respuesta #63 en:
Enero 17, 2008, 11:16:03 »
Código:
20 de febrero.
Eso fue lo que leí Espectro!
En línea
I´ll see you in the other side, I know it!
The Shadow (Vacaciones)
Moderación
Colaborador
Desconectado
Mensajes: 754
Fucking mnemonic c0d1n6!
Re: 4 Reto de programacion
«
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
Reglamento del Foro
Linux Registered User #473016
The Shadow (Vacaciones)
Moderación
Colaborador
Desconectado
Mensajes: 754
Fucking mnemonic c0d1n6!
Re: 4 Reto de programacion
«
Respuesta #65 en:
Enero 21, 2008, 05:54:34 »
weno .... sera q no ay mas codes? ....
En línea
Reglamento del Foro
Linux Registered User #473016
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: 4 Reto de programacion
«
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
Linux Registred User #460377
Anibal784
Miembro
Desconectado
Mensajes: 29
Re: 4 Reto de programacion
«
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
Mensajes: 359
Re: 4 Reto de programacion
«
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 (Vacaciones)
Moderación
Colaborador
Desconectado
Mensajes: 754
Fucking mnemonic c0d1n6!
Re: 4 Reto de programacion
«
Respuesta #69 en:
Enero 25, 2008, 12:23:23 »
Cita de: sami 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
PFFF .... q pocoton de tiempo! ...
ya podre optimizar mi code!...
Saludos
En línea
Reglamento del Foro
Linux Registered User #473016
Deeo
Miembro
Desconectado
Mensajes: 146
Ozzy Slave.
Re: 4 Reto de programacion
«
Respuesta #70 en:
Enero 25, 2008, 11:20:10 »
Lindos los kodes, felicidades a todos lo que lo lograron, y los que no sigan intentando no se abandonen, el mío lo posteo después, en uno de mis post anteriores postee el programa final si lo quieren ver al final esta el link, la verdad no tengo ganas de ponerme a depurarlo, primero porque si me pongo no tengo tiempo para e