Tema destacado: Únete al Grupo Steam elhacker.NET
Autor
|
Tema: JUEGO DEL TRES EN RAYA (Leído 4,734 veces)
|
Leonar
Desconectado
Mensajes: 1
|
Hola tengo que hacer el juego del tres en raya y no llevo ,mucho tiempo con la programacion asi que ando un poko perdidillo la verdad. a ver si alguien puede echarme un cable por favor!!!!!!!!!!!!! Os dejo lo que tengo echo hasta ahora.saludos /*REALIZAR JUEGO TRES EN RAYA: JUGADOR CONTRA JUGADOR*/
#include <conio.h> #include <stdio.h> #include <string.h> #include <dos.h>
void tablero (int,int); void jugador1(void); void jugador2(void); char matriz [3][3]; int comprueba(void);
void main(void) {
printf("BIENVENIDO AL TRES EN RAYA\n"); printf("--------------------------\n"); printf("Las posiciones empiezan en '0' y acaban en '2'\n\n");
do { jugador1(); jugador2(); } while(comprueba!=0);
getch(); }
void jugador1(void) { int i,j;
printf("\n\nJugador 1, introduce una posicion\n\n"); printf("\n\n FILA : "); scanf("%d",&i); printf("\nCOLUMNA : "); scanf("%d",&j);
if(i>3 || j>3) { printf("\n\nLo siento,esa coordenada no existe"); }
else { matriz[i][j]='X'; tablero(i,j);
} comprueba(); getch(); }
void jugador2(void) { int i,j;
printf("\n\nJugador 2, introduce una posicion\n\n"); printf("\n\n FILA : "); scanf("%d",&i); printf("\nCOLUMNA : "); scanf("%d",&j);
if(i>3 || j>3) { printf("\n\nLo siento,esa coordenada no existe"); } else { matriz[i][j]='O'; tablero(i,j);
}
getch(); comprueba(); return;
}
int comprueba (void) { //gana jugador 1 if(matriz[0][0]== matriz[0][1] && matriz[0][1]==matriz[0][2]&& matriz[0][0]=='X') { printf("Jugador 1, has ganado la partida!!"); if(matriz[0][0]== matriz[0][1] && matriz[0][1]==matriz[0][2]&& matriz[0][0]=='O') printf("Jugador 2, has ganado la partida!!"); } if(matriz[0][0]== matriz[1][0] && matriz[1][0]==matriz[2][0]&& matriz[0][0]=='X') { printf("Jugador 1, has ganado la partida!!");
} if(matriz[0][1]== matriz[1][1] && matriz[2][1]==matriz[2][1]&& matriz[0][1]=='O') { printf("Jugador 1, has ganado la partida!!");
} if(matriz[0][2]== matriz[1][2] && matriz[2][2]==matriz[2][2]&& matriz[0][2]=='O') { printf("Jugador 1, has ganado la partida!!");
} if(matriz[0][2]== matriz[1][1] && matriz[2][0]==matriz[2][0]&& matriz[0][2]=='O') { printf("Jugador 1, has ganado la partida!!");
}
return(1); }
void tablero (int i,int j) { clrscr();
printf("\n\n 0 | 1 | 2 \n"); printf("-------------------\n"); printf(" 0 %c | %c | %c\n",matriz[0][0],matriz[0][1],matriz[0][2]); printf("-------------------\n"); printf(" 1 %c | %c | %c\n",matriz[1][0],matriz[1][1],matriz[1][2]); printf("-------------------\n"); printf(" 2 %c | %c | %c\n",matriz[2][0],matriz[2][1],matriz[2][2]);
return; }
|
|
|
|
|
En línea
|
|
|
|
TheMule
Desconectado
Mensajes: 284
|
hmm seria bueno que digas especificamente los problemas que te salen por ahora he visto que a jugador1() le falta el return y en el main pones while(comprueba!=0) ahi te falta los parentesis en el comprueba.... lo he visto rapidismoo pero sospecho que hay un par mas especifica los errores
|
|
|
|
|
En línea
|
|
|
|
Kpax
Desconectado
Mensajes: 317
|
si seria de mucha ayuda los errores. pero ya tienes la odea clara es lo importante aunke no necesitas hacer dos funciones diferentes por cada jugador ...con una basta  saludos
|
|
|
|
|
En línea
|
En este mundo una de dos
|
|
|
erconcor
Desconectado
Mensajes: 9
|
Hola soy Erick y este es tu codigo con unas pequeñas modificaciones. Haber si todavía te sirve.
#include <conio.h> #include <stdio.h> #include <string.h> #include <dos.h>
void tablero (); void jugador(char *J); int matriz[3][3]={NULL}; char mat[4][4]={" "," "," "}; void comprueba(); int comp;
void main(void) { clrscr(); char J='1'; comp=0; gotoxy(12,1); printf("BIENVENIDO AL TRES EN RAYA"); gotoxy(7,3); printf("Las posiciones empiezan en '1' y acaban en '3'"); tablero(); do{ jugador(&J); if(comp==1) break; jugador(&J); }while(comp==0); getch(); }
void jugador(char *J) { int i,j; gotoxy(12,5); printf("Jugador %c introduce una posicion",*J); gotoxy(7,7); printf("FILA : "); gotoxy(30,7); printf("COLUMNA : "); gotoxy(15,7); scanf("%d",&i); i--; gotoxy(42,7); scanf("%d",&j); j--; gotoxy(1,7); clreol(); if(i>3 || j>3 || i<0 || j<0) { gotoxy(13,9); printf("Lo siento,esa coordenada no existe"); } else if(matriz[j] == 0) { gotoxy(13,9); clreol(); if(*J=='1') { matriz[j]=1; *J='2'; } else if(*J=='2') { matriz[j]=2; *J='1'; } tablero(); } else { gotoxy(13,9); printf("***** CASILLA OCUPADA *****"); }
comprueba(); } //////////////////////////////////////////////////////////////////////////////////////////
void comprueba() { //gana jugador 1 int i, j, cont=1; if((matriz[0][0]== 1 && matriz[0][1] == 1 && matriz[0][2]== 1) ||(matriz[1][0]== 1 && matriz[1][1] == 1 && matriz[1][2]== 1) ||(matriz[2][0]== 1 && matriz[2][1] == 1 && matriz[2][2]== 1) ||(matriz[0][0]== 1 && matriz[1][0] == 1 && matriz[2][0]== 1) ||(matriz[0][1]== 1 && matriz[1][1] == 1 && matriz[2][1]== 1) ||(matriz[0][2]== 1 && matriz[1][2] == 1 && matriz[2][2]== 1) ||(matriz[0][0]== 1 && matriz[1][1] == 1 && matriz[2][2]== 1)) { textcolor(255); cprintf("Jugador 1 has ganado la partida!!"); comp=1; } else if((matriz[0][0]== 2 && matriz[0][1] == 2 && matriz[0][2]== 2) ||(matriz[1][0]== 2 && matriz[1][1] == 2 && matriz[1][2]== 2) ||(matriz[2][0]== 2 && matriz[2][1] == 2 && matriz[2][2]== 2) ||(matriz[0][0]== 2 && matriz[1][0] == 2 && matriz[2][0]== 2) ||(matriz[0][1]== 2 && matriz[1][1] == 2 && matriz[2][1]== 2) ||(matriz[0][2]== 2 && matriz[1][2] == 2 && matriz[2][2]== 2) ||(matriz[0][0]== 2 && matriz[1][1] == 2 && matriz[2][2]== 2)) { textcolor(255); cprintf("Jugador 2 has ganado la partida!!"); comp=1; } else for(i=0;i<3;i++) for(j=0;j<3;j++) if(matriz[j]!=0) { cont++; if(cont==10) { textcolor(255); cprintf("*** JUEGO EMPATADO ***"); comp=1; } } }
void tablero () { int i, j; for(i=0;i<3;i++) for(j=0;j<3;j++) { if(matriz[j]==1) mat[j]='X'; if(matriz[j]==2) mat[j]='O'; } gotoxy(30,13); printf(" %c | %c | %c\n",mat[0][0],mat[0][1],mat[0][2]); gotoxy(30,14); printf("-------------------\n"); gotoxy(30,15); printf(" %c | %c | %c\n",mat[1][0],mat[1][1],mat[1][2]); gotoxy(30,16); printf("-------------------\n"); gotoxy(30,17); printf(" %c | %c | %c\n",mat[2][0],mat[2][1],mat[2][2]); }
|
|
|
|
|
En línea
|
|
|
|
Kpax
Desconectado
Mensajes: 317
|
se puede optimizar mas el code
el criterio es este:
funcion gane(tablero,jugador) funcion inicializa(tablero)
principal inicializa(tablero) i=1;/*impar para el 1 jugador y par para el 2*/
mientras no (gane(tablero,jugador)) && (i<10)hacer if (i mod 2!=0) escribir(ingrese la posicion) leer(x,y) Tablero[x,y]=X sino Tablero[x,y]=0 fin si i++; fin mientras i--/*se supone que se hizo 9 jugadas*/ if (i==9) escribir("empate") else if i mod 2 != 0 escribir(gano 1 juga) else escribir(gano 2)
fin
mas eficiencia aun ... recuerda k solo puedes ganar como minimo a partir de la 5 jugada!!!!
|
|
|
|
|
En línea
|
En este mundo una de dos
|
|
|
BenRu
The Prodigy
Desconectado
Mensajes: 4.004
|
Mirate este code...funciona perfectamente. El code era de alguien y Xine lo modifico..o algo asi xD EDITO: Me acabo de dar cuenta de que lo estas haciendo en C, este que te pongo es C++#include <iostream> #include <string> #include <conio.h> using namespace std; int Pausa(int e){ long tmi = clock() + e; while(clock() < tmi); } string jsino; string numero; string jugador; string a1=" ",a2=" ",a3=" "; string b1=" ",b2=" ",b3=" "; string c1=" ",c2=" ",c3=" "; int comienzo = 1;
int raya();
//cierta inteligencia 8-)
int enemigo(){ //ATAKE a traves :S if(a1 == "O" && b2 == "O" && c3 != "X" && c3 != "O"){c3 = "O";raya();} if(b2 == "O" && c3 == "O" && a1 != "X" && a1 != "O"){a1 = "O";raya();} if(a1 == "O" && c3 == "O" && b2 != "X" && b2 != "O"){b2 = "O";raya();} if(a3 == "O" && b2 == "O" && c1 != "X" && c1 != "O"){c1 = "O";raya();} if(b2 == "O" && c1 == "O" && a3 != "X" && a3 != "O"){a3 = "O";raya();} if(a3 == "O" && c1 == "O" && b2 != "X" && b2 != "O"){b2 = "O";raya();} //ATAKE EN HORIZONTAL if(a1 == "O" && a2 == "O" && a3 != "O" && a3 != "X"){a3 = "O";raya();} if(b1 == "O" && b2 == "O" && b3 != "O" && b3 != "X"){b3 = "O";raya();} if(c1 == "O" && c2 == "O" && c3 != "O" && c3 != "X"){c3 = "O";raya();} if(a2 == "O" && a3 == "O" && a1 != "O" && a1 != "X"){a1 = "O";raya();} if(b2 == "O" && b3 == "O" && b1 != "O" && b1 != "X"){b1 = "O";raya();} if(c2 == "O" && c3 == "O" && c1 != "O" && c1 != "X"){c1 = "O";raya();} if(a1 == "O" && a3 == "O" && a2 != "O" && a2 != "X"){a2 = "O";raya();} if(b1 == "O" && b3 == "O" && b2 != "O" && b2 != "X"){b2 = "O";raya();} if(c1 == "O" && c3 == "O" && c2 != "O" && c2 != "X"){c2 = "O";raya();} //ATAKE EN VERTICAL if(a1 == "O" && b1 == "O" && c1 != "O" && c1 != "X"){c1 = "O";raya();} if(a2 == "O" && b2 == "O" && c2 != "O" && c2 != "X"){c2 = "O";raya();} if(a3 == "O" && b3 == "O" && c3 != "O" && c3 != "X"){c3 = "O";raya();} if(b1 == "O" && c1 == "O" && a1 != "O" && a1 != "X"){a1 = "O";raya();} if(b2 == "O" && c2 == "O" && a2 != "O" && a2 != "X"){a2 = "O";raya();} if(b3 == "O" && c3 == "O" && a3 != "O" && a3 != "X"){a3 = "O";raya();} if(c1 == "O" && a1 == "O" && b1 != "O" && b1 != "X"){b1 = "O";raya();} if(c2 == "O" && a2 == "O" && b2 != "O" && b2 != "X"){b2 = "O";raya();} if(c3 == "O" && a3 == "O" && b3 != "O" && b3 != "X"){b3 = "O";raya();} //otra jugada de ***** if(b1 == "X" && a3 == "X" && b2 == "O" && a1 != "X" && a1 != "O"){a1 ="O";raya();} if(b1 == "X" && a3 == "X" && b2 == "O" && a1 == "O" && c3 == "X" && b3 != "X" && b3 != "O"){b3 = "O";raya();} //bug if(a2 == "X" && c3 == "X" && b2 == "O" && a3 != "X" && a3 != "O"){a3 = "O";raya();} //jugada de ***** O_o a if(a2 == "X" && c1 == "X" && b2 == "O" && b1 != "X" && b1 != "O"){b1 = "O";raya();} if(a2 == "X" && b1 == "O" && b2 == "O" && b3 == "X" && c1 == "X" && a3 != "X" && a3 != "O"){a3 = "O";raya();} //jugada de ***** O_o b if(b1 == "X" && b2 == "O" && c3 == "X" && c2 != "X" && c2 != "O"){c2 = "O";raya();} if(a2 == "X" && b1 == "O" && b2 == "O" && b3 == "X" && c1 == "X" && a3 != "X" && a3 != "O"){a3 = "O";raya();} //jugada5 if(a1 == "X" && c3 == "X" && a2 != "X" && a2 != "O"){a2 = "O";raya();} if(a3 == "X" && c1 == "X" && b1 != "X" && b1 != "O"){b1 = "O";raya();} //verticales dobles if(a1 == "X" && b1 == "X" && c1 != "O" && c1 != "X"){c1 = "O";raya();} if(a2 == "X" && b2 == "X" && c2 != "O" && c2 != "X"){c2 = "O";raya();} if(a3 == "X" && b3 == "X" && c3 != "O" && c3 != "X"){c3 = "O";raya();} if(b1 == "X" && c1 == "X" && a1 != "O" && a1 != "X"){a1 = "O";raya();} if(b2 == "X" && c2 == "X" && a2 != "O" && a2 != "X"){a2 = "O";raya();} if(b3 == "X" && c3 == "X" && a3 != "O" && a3 != "X"){a3 = "O";raya();} if(c1 == "X" && a1 == "X" && b1 != "O" && b1 != "X"){b1 = "O";raya();} if(c2 == "X" && a2 == "X" && b2 != "O" && b2 != "X"){b2 = "O";raya();} if(c3 == "X" && a3 == "X" && b3 != "O" && b3 != "X"){b3 = "O";raya();} //horizontales dobles if(a1 == "X" && a2 == "X" && a3 != "O" && a3 != "X"){a3 = "O";raya();} if(b1 == "X" && b2 == "X" && b3 != "O" && b3 != "X"){b3 = "O";raya();} if(c1 == "X" && c2 == "X" && c3 != "O" && c3 != "X"){c3 = "O";raya();} if(a2 == "X" && a3 == "X" && a1 != "O" && a1 != "X"){a1 = "O";raya();} if(b2 == "X" && b3 == "X" && b1 != "O" && b1 != "X"){b1 = "O";raya();} if(c2 == "X" && c3 == "X" && c1 != "O" && c1 != "X"){c1 = "O";raya();} if(a1 == "X" && a3 == "X" && a2 != "O" && a2 != "X"){a2 = "O";raya();} if(b1 == "X" && b3 == "X" && b2 != "O" && b2 != "X"){b2 = "O";raya();} if(c1 == "X" && c3 == "X" && c2 != "O" && c2 != "X"){c2 = "O";raya();} //a traves :S if(a1 == "X" && b2 == "X" && c3 != "X" && c3 != "O"){c3 = "O";raya();} if(b2 == "X" && c3 == "X" && a1 != "X" && a1 != "O"){a1 = "O";raya();} if(a1 == "X" && c3 == "X" && b2 != "X" && b2 != "O"){b2 = "O";raya();} if(a3 == "X" && b2 == "X" && c1 != "X" && c1 != "O"){c1 = "O";raya();} if(b2 == "X" && c1 == "X" && a3 != "X" && a3 != "O"){a3 = "O";raya();} if(a3 == "X" && c1 == "X" && b2 != "X" && b2 != "O"){b2 = "O";raya();} //variadas jugadas y posibles fallos if(a1 == "O" && a2 == "X" && a3 == "X" && b1 == "X" && b2 == "O" && b3 == "O" && c3 == "X" && c2 != "X" && c2 != "O"){c2 = "O";raya();} if(a2 == "X" && b1 == "X" && a1 == "O" && b2 == "O" && c3 == "X" && b3 != "X" && b3 != "O"){b3 = "O";raya();} if(a1 == "O" && a2 == "X" && b1 == "X" && b2 == "X" && b3 == "O" && c2 == "O" && c3 == "X" && c1 != "O" && c1 != "X"){c1 == "O";raya();} //jugada if(a3 == "X" && b1 == "X" && b3 != "X" && b3 != "O"){b3 = "O"; raya();} if(c3 == "X" && b1 == "X" && b3 != "X" && b3 != "O"){b3 = "O"; raya();} if(a2 == "X" && c1 == "X" && c2 != "X" && c2 != "O"){c2 = "O"; raya();} if(a2 == "X" && c3 == "X" && c2 != "X" && c2 != "O"){c2 = "O"; raya();} //jugada2 if(c2 == "X" && a1 == "X" && a3 == "X" && c1 != "X" && c1 != "O"){ c1 = "O"; raya();} if(b3 == "X" && a1 == "X" && c1 == "X" && c3 != "X" && c3 != "O"){ c3 = "O"; raya();} if(a2 == "X" && c1 == "X" && c3 == "X" && a3 != "X" && a3 != "O"){ a3 = "O"; raya();} if(b1 == "X" && c3 == "X" && a3 == "X" && a1 != "X" && a1 != "O"){ a1 = "O"; raya();} //jugada3 if(a2 == "X" && c2 == "X" && b1 != "X" && b1 != "O"){b1 = "O";raya();} if(b1 == "X" && b3 == "X" && a2 != "X" && a2 != "O"){a2 = "O";raya();} //jugada4 if(b1 == "X" && c2 == "X" && b3 == "X" && c3 != "O" && c3 != "X"){c3 = "O";raya();} if(b3 == "X" && a2 == "X" && c2 == "X" && a3 != "O" && a3 != "X"){a3 = "O";raya();} //jugada6 if(a2 == "X" && b1 == "X" && b2 == "O" && a1 != "O" && a1 != "X"){a1 = "O";raya();} if(a2 == "X" && b3 == "X" && b2 == "O" && a3 != "O" && a3 != "X"){a3 = "O";raya();} if(b3 == "X" && c2 == "X" && b2 == "O" && c3 != "O" && c3 != "X"){c3 = "O";raya();} if(b1 == "X" && c2 == "X" && b2 == "O" && c1 != "O" && c1 != "X"){c1 = "O";raya();} if(comienzo == 1){ //comienzo if(b2 == "X" && b2 != "X" && b2 != "O"){a1 = "O";comienzo = 0; raya();} if(a1 == "X" || a3 == "X" || c1 == "X" || c3 == "X" && b2 != "X" && b2 != "O"){b2 = "O";comienzo = 0; raya();} if(a2 == "X" || b1 == "X" || b3 == "X" || c2 == "X" && b2 != "X" && b2 != "O"){b2 = "O";comienzo = 0; raya();} } //restantes if(a1 != "X" && a1 != "O" && a1 != "X"){a1 = "O"; raya();} if(a2 != "X" && a2 != "O" && a2 != "O"){a2 = "O"; raya();} if(a3 != "X" && a3 != "O" && a3 != "O"){a3 = "O"; raya();} if(b1 != "X" && b1 != "O" && b1 != "O"){b1 = "O"; raya();} if(b2 != "X" && b2 != "O" && b2 != "O"){b2 = "O"; raya();} if(b3 != "X" && b3 != "O" && b3 != "O"){b3 = "O"; raya();} if(c1 != "X" && c1 != "O" && c1 != "O"){c1 = "O"; raya();} if(c2 != "X" && c2 != "O" && c2 != "O"){c2 = "O"; raya();} if(c3 != "X" && c3 != "O" && c3 != "O"){c3 = "O"; raya();} }
int resultado(){ textcolor(WHITE); cout << "\n\n\n\n\n\n 1 2 3\n"; textcolor(LIGHTGREEN); cout << " \xC9\xcD\xcd\xCD\xCD\xCD\xCB\xcd\xcd\xCD\xCD\xCD\xCB\xcd\xcd\xCD\xCD\xCD\xBB\n"; textcolor(WHITE);cout << " A ";textcolor(LIGHTGREEN);cout << "\xba ";textcolor(LIGHTRED);if(a1 == "O"){ textcolor(LIGHTBLUE);}cout << a1; ;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(a2 == "O"){ textcolor(LIGHTBLUE);}cout << a2;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(a3 == "O"){ textcolor(LIGHTBLUE);}cout << a3;textcolor(LIGHTGREEN);cout << " \xba\n" " \xcc\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xb9\n"; textcolor(WHITE);cout << " B ";textcolor(LIGHTGREEN);cout <<"\xba ";textcolor(LIGHTRED);if(b1 == "O"){ textcolor(LIGHTBLUE);}cout << b1;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(b2 == "O"){ textcolor(LIGHTBLUE);}cout << b2;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(b3 == "O"){ textcolor(LIGHTBLUE);}cout << b3;textcolor(LIGHTGREEN);cout << " \xba\n" " \xcc\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xb9\n"; textcolor(WHITE);cout << " C ";textcolor(LIGHTGREEN);cout <<"\xba ";textcolor(LIGHTRED);if(c1 == "O"){ textcolor(LIGHTBLUE);}cout << c1;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(c2 == "O"){ textcolor(LIGHTBLUE);}cout << c2;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(c3 == "O"){ textcolor(LIGHTBLUE);}cout << c3;textcolor(LIGHTGREEN);cout << " \xba\n" " \xc8\xCD\xcd\xcd\xCD\xCD\xCa\xcd\xcd\xCD\xCD\xCD\xCa\xcd\xcd\xCD\xCD\xCD\xBc\n"; textcolor(WHITE); cout << jugador << endl; Pausa(1); sino: textcolor(LIGHTCYAN); cout << "\n Otra Partida (si/no)"; a1=" ",a2=" ",a3=" "; b1=" ",b2=" ",b3=" "; c1=" ",c2=" ",c3=" "; comienzo = 1; textcolor(YELLOW); cin >> jsino; if(jsino != "si" && jsino != "no"){ textcolor(LIGHTMAGENTA); cout << "\n Escoge Si o No...\n"; Pausa(50); goto sino; } if(jsino == "si"){ Pausa(20); raya(); } if(jsino == "no"){ Pausa(20); textcolor(LIGHTRED); cout << "\n Saliendo..."; Pausa(100); clrscr(); cout << "\n\n"; abort(); } } int raya(){ clrscr(); if(a1 == "O" && a2 == "O" && a3 == "O" || b1 == "O" && b2 == "O" && b3 == "O" || c1 == "O" && c2 == "O" && c3 == "O" || a1 == "O" && b1 == "O" && c1 == "O" || a2 == "O" && b2 == "O" && c2 == "O" || a3 == "O" && b3 == "O" && c3 == "O" || a1 == "O" && b2 == "O" && c3 == "O" || c1 == "O" && b2 == "O" && a3 == "O"){ jugador = "\n Has Perdido\n"; clrscr(); resultado(); } textcolor(WHITE); cout << "\n\n\n\n\n\n 1 2 3\n"; textcolor(LIGHTGREEN); cout << " \xC9\xcD\xcd\xCD\xCD\xCD\xCB\xcd\xcd\xCD\xCD\xCD\xCB\xcd\xcd\xCD\xCD\xCD\xBB\n"; textcolor(WHITE);cout << " A ";textcolor(LIGHTGREEN);cout << "\xba ";textcolor(LIGHTRED);if(a1 == "O"){ textcolor(LIGHTBLUE);}cout << a1; ;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(a2 == "O"){ textcolor(LIGHTBLUE);}cout << a2;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(a3 == "O"){ textcolor(LIGHTBLUE);}cout << a3;textcolor(LIGHTGREEN);cout << " \xba\n" " \xcc\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xb9\n"; textcolor(WHITE);cout << " B ";textcolor(LIGHTGREEN);cout <<"\xba ";textcolor(LIGHTRED);if(b1 == "O"){ textcolor(LIGHTBLUE);}cout << b1;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(b2 == "O"){ textcolor(LIGHTBLUE);}cout << b2;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(b3 == "O"){ textcolor(LIGHTBLUE);}cout << b3;textcolor(LIGHTGREEN);cout << " \xba\n" " \xcc\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xce\xcd\xcd\xcd\xcd\xcd\xb9\n"; textcolor(WHITE);cout << " C ";textcolor(LIGHTGREEN);cout <<"\xba ";textcolor(LIGHTRED);if(c1 == "O"){ textcolor(LIGHTBLUE);}cout << c1;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(c2 == "O"){ textcolor(LIGHTBLUE);}cout << c2;textcolor(LIGHTGREEN);cout << " \xba ";textcolor(LIGHTRED);if(c3 == "O"){ textcolor(LIGHTBLUE);}cout << c3;textcolor(LIGHTGREEN);cout << " \xba\n" " \xc8\xCD\xcd\xcd\xCD\xCD\xCa\xcd\xcd\xCD\xCD\xCD\xCa\xcd\xcd\xCD\xCD\xCD\xBc\n"; textcolor(WHITE); cout << "\n Seleccion : "; textcolor(YELLOW); cin >> numero; if(numero == "a1" &&( a1 == "X" || a1 == "O")|| numero == "a2" &&( a2 == "X" || a2 == "O")|| numero == "a3" &&( a3 == "X" || a3 == "O")|| numero == "b1" &&( b1 == "X" || b1 == "O")|| numero == "b2" &&( b2 == "X" || b2 == "O")|| numero == "b3" &&( b3 == "X" || b3 == "O")|| numero == "c1" &&( c1 == "X" || c1 == "O")|| numero == "c2" &&( c2 == "X" || c2 == "O")|| numero == "c3" &&( c3 == "X" || c3 == "O")){ textcolor(LIGHTMAGENTA); cout << "\a\n Ya Selecionado."; Pausa(100); raya(); } if(numero != "a1" && numero != "a2" && numero != "a3" && numero != "b1" && numero != "b2" && numero != "b3" && numero != "c1" && numero != "c2" && numero != "c3"){ textcolor(LIGHTMAGENTA); cout << "\a\n Seleccion Incorrecta."; Pausa(100); raya(); } if(numero == "quit" || numero == "exit"){ cout << "Saliendo del 3 en raya..\n"; Pausa(100); clrscr(); cout << "Pulse 'help' para ayuda.\n\n"; abort(); } if(numero == "a1" && a1 != "X" && a1 != "O")a1 = "X"; if(numero == "a2" && a2 != "X" && a2 != "O")a2 = "X"; if(numero == "a3" && a3 != "X" && a3 != "O")a3 = "X"; if(numero == "b1" && b1 != "X" && b1 != "O")b1 = "X"; if(numero == "b2" && b2 != "X" && b2 != "O")b2 = "X"; if(numero == "b3" && b3 != "X" && b3 != "O")b3 = "X"; if(numero == "c1" && c1 != "X" && c1 != "O")c1 = "X"; if(numero == "c2" && c2 != "X" && c2 != "O")c2 = "X"; if(numero == "c3" && c3 != "X" && c3 != "O")c3 = "X"; if(a1 == "X" && a2 == "X" && a3 == "X" || b1 == "X" && b2 == "X" && b3 == "X" || c1 == "X" && c2 == "X" && c3 == "X" || a1 == "X" && b1 == "X" && c1 == "X" || a2 == "X" && b2 == "X" && c2 == "X" || a3 == "X" && b3 == "X" && c3 == "X" || a1 == "X" && b2 == "X" && c3 == "X" || c1 == "X" && b2 == "X" && a3 == "X"){ jugador = "\n Has Ganado\n"; clrscr(); resultado(); } if(a1 != " " && b1 != " " && c1 != " " && a2 != " " && b2 != " " && c2 != " " && a3 != " " && b3 != " " && c3 != " " ){ jugador = "\n Empate\n"; clrscr(); resultado(); } enemigo(); }
int main(){ raya(); }
Un saludo
|
|
|
|
« Última modificación: 29 Marzo 2006, 22:18 por BenRu »
|
En línea
|
|
|
|
Kpax
Desconectado
Mensajes: 317
|
... puede ser eficiente porke exiges poco a l programar ... pero creo k este code esta muy largo y tienes cosas muy reptidas
saludos
|
|
|
|
|
En línea
|
En este mundo una de dos
|
|
|
X1n3
Desconectado
Mensajes: 11
|
El code era de alguien y Xine lo modifico..o algo asi xD
hey benru de k vas ???? el codigo es mio... 100 % y lo sabes,,, ¬¬
|
|
|
|
« Última modificación: 31 Marzo 2006, 15:08 por X1n3 »
|
En línea
|
|
|
|
BenRu
The Prodigy
Desconectado
Mensajes: 4.004
|
Me dijiste que lo habias pillado y lo habias modificado ¬¬...Pero vamos, que a mi me da igual quien lo haya echo, y si te entendi mal por msn, te pido disculpas. De todas maneras, me acabo de dar cuenta de que falla al ponerlo en 3c y eso no es realmente un tres en raya, puesto que el tres en raya verdadero funciona de la siguiente manera: Pones tres fichas, y despues mueves/desplazas esas fichas para "pillarle" el fallo a tu adversario y hacerle linea de tres fichas.
Al ser tu "metodo" o de quien lo haya programado, siempre abra un empate...puesto que esta echo con condicionales if y a no ser que tu tengas un fallo al teclear o se te vaya la perola, empatareis...
|
|
|
|
|
En línea
|
|
|
|
X1n3
Desconectado
Mensajes: 11
|
... pero eso es porke la makina nunca empieza
|
|
|
|
|
En línea
|
|
|
|
merlin
Desconectado
Mensajes: 48
|
erconcor, tu compruebas la diagonal (matriz[0][0]== 1 && matriz[1][1] == 1 && matriz[2][2]) pero te falta la diagonal opuesta,es decir: matriz[0][2]== 1 && matriz[1][1] == 1 && matriz[2][0] tienes que hacer 8 comprobaciones: las 3 horizontales,las 3 verticales y las dos diagonales y tu solo haces 7,por lo demas creo que el codigo esta ok. Salu2
|
|
|
|
« Última modificación: 6 Abril 2006, 15:27 por merlin »
|
En línea
|
100% ESPAÑOL
|
|
|
merlin
Desconectado
Mensajes: 48
|
Hoy me he instalado el DEV-C++ 4.9.9.2 es mi primer contacto con este programa y al compilar el codigo de erconcor me da 9 errores, y no se a que son debidos,quiza es pq se esten utilizando funciones de librerias de Borland,no lo se,algunos son: `main' must return `int' `clrscr' undeclared (first use this function) `clreol' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) `textcolor' undeclared (first use this function) `cprintf' undeclared (first use this function) 'gotoxy' undeclared (first use this function)
A ver si me podeis echar un cable Gracias
|
|
|
|
|
En línea
|
100% ESPAÑOL
|
|
|
X1n3
Desconectado
Mensajes: 11
|
necesitas tenr el conio.h emulado http://www.conclase.net/c/devcpp.php?art=coniometes conio.h y conio.c en %directorio-dev-cpp%\include y el libconio.a en %directorio-dev-cpp%\lib luego en el IDE pones opciones del compilador y añades -lconio al linker
|
|
|
|
|
En línea
|
|
|
|
merlin
Desconectado
Mensajes: 48
|
necesitas tenr el conio.h emulado http://www.conclase.net/c/devcpp.php?art=coniometes conio.h y conio.c en %directorio-dev-cpp%\include y el libconio.a en %directorio-dev-cpp%\lib luego en el IDE pones opciones del compilador y añades -lconio al linker Hola X1n3, ya me he descargado los ficheros que necesito, el conio.c , conio.h y el libconio.a,pero a ver yo ya tengo un conio.h, que hago?? lo sustituyo por este nuevo? y luego, no entiendo muy bien la parte de añadir -lconio al linker,si me lo pudieras explicar un poquito mejor te lo agradeceria. EDITO: he sustituido el conio.h por el nuevo y añadido a la parte de "añadir estos comandos a la linea de comandos del linker" el -lconio,lo he compilado y aun me da un error que es `main' must return `int' alguien sabe pq es??? no puedo declarar la main tipo void?? Salu2
|
|
|
|
« Última modificación: 7 Abril 2006, 08:05 por merlin »
|
En línea
|
100% ESPAÑOL
|
|
|
X1n3
Desconectado
Mensajes: 11
|
sisi el conio sustituyelo,
en el dev-cpp haces los siguiente:
herramientas >> Opciones del compilador
activas la casilla de añadir al linker y pones : -lconio
MODIFICADO: k mas te da poner el main tipo int
|
|
|
|
|
En línea
|
|
|
|
|
|