Pessoal, refiz meu código, melhorou, agora da pra fazer as jogadas, porém ele está em um loop eterno, a ideia é ele encerrar quando alguem ganha, ou quando alguem perde
Mas sem falar quem ganhou ou se deu velha, mas ele não encerra
Podem me ajudar?
void jogada1(char m[3][3], int l , int c){
do{
cout<<"\nJogador 1, escolha uma linha e coluna: ";
cin>>l>>c;
}while(m[l][c] == 'x' or m[l][c] == 'o');
m[l][c] = 'o';
cout<<"\n\n 0\t 1\t 2";
for (int i=0; i<3; i++){
cout<< endl;
cout<<i<<" ";
for (int j=0; j<3; j++){
cout<< m[i][j]<<"\t ";
}
}
cout<< "\n\n\n";
/// horizontal
if((m[0][0]=='o') and (m[0][1]=='o')and (m[0][2]=='o')){
return;
}else
if((m[1][0]=='o') and (m[1][1]=='o')and (m[1][2]=='o')){
return;
}else
if((m[2][0]=='o') and (m[2][1]=='o')and (m[2][2]=='o')){
return;
///vertical
}else
if((m[0][0]=='o') and (m[1][0]=='o')and (m[2][0]=='o')){
return;
}else
if((m[0][1]=='o') and (m[1][1]=='o')and (m[2][1]=='o')){
return;
}else
if((m[0][2]=='o') and (m[1][2]=='o')and (m[2][2]=='o')){
return;
}else
///diagonal
if((m[0][0]=='o') and (m[1][1]=='o')and (m[2][2]=='o')){
return;
}else
if((m[2][0]=='o') and (m[1][1]=='o')and (m[0][2]!='o')){
return;
}else
return;
}
void jogada2(char m[3][3], int l, int c){
do{ cout<<" Jogador 2, escolha uma linha e coluna: ";
cin>>l>>c;
}while(m[l][c] == ‘x’ or m[l][c] == ‘o’);
m[l][c]=‘x’;
cout<<"\n\n 0\t 1\t 2";
for (int i=0; i<3; i++){
cout<< endl;
cout<<i<<" “;
for (int j=0; j<3; j++){
cout<< m[i][j]<<”\t ";
}
}
cout<< “\n\n\n”;
/// horizontal
if((m[0][0]=='x') and (m[0][1]=='x')and (m[0][2]=='x')){
return;
}else
if((m[1][0]=='x') and (m[1][1]=='x')and (m[1][2]=='x')){
return;
}else
if((m[2][0]=='x') and (m[2][1]=='x')and (m[2][2]=='x')){
return;
///vertical
}else
if((m[0][0]=='x') and (m[1][0]=='x')and (m[2][0]=='x')){
return;
}else
if((m[0][1]=='x') and (m[1][1]=='x')and (m[2][1]=='x')){
return;
}else
if((m[0][2]=='x') and (m[1][2]=='x')and (m[2][2]=='x')){
return;
}else
///diagonal
if((m[0][0]=='x') and (m[1][1]=='x')and (m[2][2]=='x')){
return;
}else
if((m[2][0]=='x') and (m[1][1]=='x')and (m[0][2]!='x')){
return;
}else
return;
}
int main()
{
setlocale(LC_ALL, “portuguese”);
char m[3][3] = {{’-’, ‘-’, ‘-’},{’-’,’-’,’-’},{’-’,’-’,’-’}};
int x=0;
for(x=0; x<9; x++){
jogada1(m,3,3);
jogada2(m,3,3);
}
return 0;
}