Dev - C++ - Tres en Raya

 
Vista:
sin imagen de perfil

Tres en Raya

Publicado por Emnauel (1 intervención) el 02/09/2021 23:42:47
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<windows.h>
using namespace std;
string usuario,nom1,nom2;
char ma[10]={'0','1','2','3','4','5','6','7','8','9'};
int pos1,pos2,modo;
int verificar_ganador()
{
if((ma[1]=='X' and ma[2]=='X' and ma[3]=='X')or
(ma[4]=='X' and ma[5]=='X' and ma[6]=='X')or
(ma[7]=='X' and ma[8]=='X' and ma[9]=='X')or
(ma[1]=='X' and ma[4]=='X' and ma[7]=='X')or
(ma[2]=='X' and ma[5]=='X' and ma[8]=='X')or
(ma[3]=='X' and ma[6]=='X' and ma[9]=='X')or
(ma[1]=='X' and ma[5]=='X' and ma[9]=='X')or
(ma[3]=='X' and ma[5]=='X' and ma[7]=='X'))
{
return 1;
}
if((ma[1]=='O' and ma[2]=='O' and ma[3]=='O')or
(ma[4]=='O' and ma[5]=='O' and ma[6]=='O')or
(ma[7]=='O' and ma[8]=='O' and ma[9]=='O')or
(ma[1]=='O' and ma[4]=='O' and ma[7]=='O')or
(ma[2]=='O' and ma[5]=='O' and ma[8]=='O')or
(ma[3]=='O' and ma[6]=='O' and ma[9]=='O')or
(ma[1]=='O' and ma[5]=='O' and ma[9]=='O')or
(ma[3]=='O' and ma[5]=='O' and ma[7]=='O'))
{
return 2;
}
return 0;
}
void intro()
{
cout<<"Tres en Raya"<<endl;
cout<<"MODO DE JUEGO"<<endl;
cout<<"1 = Computadora vs Humano"<<endl;
cout<<"2 = Humano vs Humano"<<endl;
cin>>modo;
if(modo==1)
{
cout<<"Cual es tu nombre:";
cin>>usuario;
}
else{
cout<<"Nombre 1:"; cin>>nom1;
cout<<"Nombre 2:"; cin>>nom2;
}
}
void tablero()
{
cout<<ma[1]<<" "<<ma[2]<<" "<<ma[3]<<endl;
cout<<ma[4]<<" "<<ma[5]<<" "<<ma[6]<<endl;
cout<<ma[7]<<" "<<ma[8]<<" "<<ma[9]<<endl;
}
void pedir1()
{
if(modo==1)cout<<"Posicion:";
else{cout<<"Jugada de "<<nom1<<":";}
cin>>pos1;
while(pos1>9 or pos1<0 or ma[pos1]=='X' or ma[pos1]=='O')
{
if(modo==1)cout<<"Posicion:";
else{cout<<"Jugada de "<<nom1<<":";}
cin>>pos1;
}
ma[pos1]='X';
}
void pedir2()
{
cout<<"Posicion de "<<nom2<<":";
cin>>pos2;
while(pos2>9 or pos2<0 or ma[pos2]=='X' or ma[pos2]=='O')
{
cout<<"Posicion de "<<nom2<<":";
cin>>pos2;
}
ma[pos2]='O';
}
void compu()
{
int pos_c;
if((ma[1]=='X' and ma[9]=='X' and ma[5]=='5')or
(ma[3]=='X' and ma[7]=='X' and ma[5]=='5')or
(ma[4]=='X' and ma[6]=='X' and ma[5]=='5')or
(ma[2]=='X' and ma[8]=='X' and ma[5]=='5')
) pos_c=5;
else if((ma[1]=='X' and ma[3]=='X' and ma[2]=='2')or
(ma[5]=='X' and ma[8]=='X' and ma[2]=='2')
) pos_c=2;
else if((ma[1]=='X' and ma[2]=='X' and ma[3]=='3')or
(ma[7]=='X' and ma[5]=='X' and ma[3]=='3')or
(ma[9]=='X' and ma[6]=='X' and ma[3]=='3')
) pos_c=3;
else if((ma[1]=='X' and ma[7]=='X' and ma[4]=='4')or
(ma[5]=='6' and ma[5]=='X' and ma[4]=='4')
) pos_c=4;
else if((ma[3]=='X' and ma[2]=='X' and ma[1]=='1')or
(ma[9]=='X' and ma[5]=='X' and ma[1]=='1')or
(ma[7]=='X' and ma[4]=='X' and ma[1]=='1')
) pos_c=1;
else if((ma[9]=='X' and ma[3]=='X' and ma[6]=='6')or
(ma[4]=='X' and ma[5]=='X' and ma[6]=='6')
) pos_c=6;
else if((ma[3]=='X' and ma[5]=='X' and ma[7]=='7')or
(ma[1]=='X' and ma[4]=='X' and ma[7]=='7')or
(ma[8]=='X' and ma[9]=='X' and ma[7]=='7')
) pos_c=7;
else if((ma[7]=='X' and ma[9]=='X' and ma[8]=='8')or
(ma[2]=='6' and ma[5]=='X' and ma[8]=='8')
) pos_c=8;
else if((ma[1]=='X' and ma[5]=='X' and ma[9]=='9')or
(ma[7]=='X' and ma[8]=='X' and ma[9]=='9')or
(ma[6]=='X' and ma[3]=='X' and ma[9]=='9')
) pos_c=9;
else{
pos_c=(rand()%9)+1;
while(ma[pos_c]=='X' or ma[pos_c]=='O')
{
pos_c=(rand()%9)+1;
}

}
ma[pos_c]='O';
}
int main()
{
int n,intercambio=1;
srand(time(0));
intro();
tablero();
n=1;
while(n<=9 and verificar_ganador()==0)
{
if(intercambio==1)
{
pedir1();
intercambio=2;
}
else{
if(modo==1) compu();
if(modo==2) pedir2();

intercambio=1;
}
system("cls");
tablero();
n++;
}
if(modo==1)
{
if(verificar_ganador()==1)cout<<usuario<<" me ganaste"<<endl;
if(verificar_ganador()==2)cout<<usuario<<" eres muy novato"<<endl;
if(verificar_ganador()==0)cout<<usuario<<" tienes buen nivel"<<endl;
}
else{
if(verificar_ganador()==1)cout<<nom1<<" gano"<<endl;
if(verificar_ganador()==2)cout<<nom2<<" gano"<<endl;
if(verificar_ganador()==0)cout<<"Empate"<<endl;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Tres en Raya

Publicado por anonymous (146 intervenciones) el 02/09/2021 23:53:29
Hola, podrías indicar que es lo que deseas además del código, para poder entender. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar