Ir ao conteúdo

erro em jogo da velha em c++


wallyson.nunes

Posts recomendados

Postado

Olá a todos !

Eu queria uma ajuda em um jogo da velha !

Ele dá erro quando verifica se alguém venceu e quando verifica se o usuário já digitou

aquela posição !


//jogo da velha
#include <iostream>
#include <iomanip>
using namespace std;

int i,pos1,pos2;
string velha[9];

void jogador1(){
// Tem um erro aqui !
if (pos1 == velha[0]){ // Verifica se o usuário já digitou a posição
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[1]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[2]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[3]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[4]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[5]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[6]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[7]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
else
if (pos1 == velha[8]){
cout << "Você já digitou essa posição ! \n";
goto volta;
}
switch (pos1){

case 0: velha[0] = "X"; break;
case 1: velha[1] = "X"; break;
case 2: velha[2] = "X"; break;
case 3: velha[3] = "X"; break;
case 4: velha[4] = "X"; break;
case 5: velha[5] = "X"; break;
case 6: velha[6] = "X"; break;
case 7: velha[7] = "X"; break;
case 8: velha[8] = "X"; break;
}

cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _"<<velha[0]<<"_|_"<<velha[1]<<"_|_"<<velha[2]<<"_X\n";
cout << " X _"<<velha[3]<<"_|_"<<velha[4]<<"_|_"<<velha[5]<<"_X\n";
cout << " X "<<velha[6]<<" | "<<velha[7]<<" | "<<velha[8]<<" X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";

}

void jogador2(){
if (pos2 == velha[0]){ // Verifica se o usuário já digitou a posição
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[1]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[2]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[3]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[4]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[5]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[6]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[7]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
else
if (pos2 == velha[8]){
cout << "Você já digitou essa posição ! \n";
goto volta2;
}
switch (pos2){

case 0: velha[0] = "O"; break;
case 1: velha[1] = "O"; break;
case 2: velha[2] = "O"; break;
case 3: velha[3] = "O"; break;
case 4: velha[4] = "O"; break;
case 5: velha[5] = "O"; break;
case 6: velha[6] = "O"; break;
case 7: velha[7] = "O"; break;
case 8: velha[8] = "O"; break;
}

cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _"<<velha[0]<<"_|_"<<velha[1]<<"_|<<velha[2]<<"_ X\n";
cout << " X _"<<velha[3]<<"_|_"<<velha[4]<<"_|_"<<velha[5]<<"_ X\n";
cout << " X "<<velha[6]<<" | "<<velha[7]<<" | "<<velha[8]<<" X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";

}

int main (void)
{
char tecla;
string nome[2];
int vencedor=0;

for (i=0;i<9;i++)
velha[i]="_";

cout << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n";
cout << "X X\n";
cout << "X XXXXX XXXXX XXXX XXXXX XXXX XXXXX X\n";
cout << "X XX XX XX XX XX XX XX X XX XX X\n";
cout << "X XX XX XX XX XX XX XX X XX XX X\n";
cout << "X XX XX XX XX XX XX XX X XXXXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X XX XX X\n";
cout << "X X XX XX XX XX X XX XX XX X XX XX X\n";
cout << "X XXXX XXXXX XXXX XXXXX XXXX XX XX X\n";
cout << "X X\n";
cout << "X XX XX XXXXX XX XX XX XXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XX XX XXXXX XX XXXXXXXXXX XXXXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XXX XXXXX XXXXX XX XX XX XX X\n";
cout << "X X\n";
cout << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n\n";

cout << " APERTER QUALQUER TECLA PARA CONTINUAR !\n";
cin >> tecla;

cout << " Posições que podem ser escolhidas ! \n\n";
cout << " XXXXXXXXXXXXX X\n";
cout << " X X\n";
cout << " X _0_|_1_|_2_ X\n";
cout << " X _3_|_4_|_5_ X\n";
cout << " X 6 | 7 | 8 X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXX\n";

cout << "Digite o nome do jogador 1 : \n";
cin >> nome[0];
cout << "Digite o nome do jogador 2: \n";
cin >> nome[1];
cout << "O jogo começa agora, divirtam-se !\n";


for (i=0;i<9;i++){ // executa até que as posições se esgotem
errado:
volta: // caso o usuário digite de novo a posição, ele volta aqui
cout << "Digite a posição do jogador 1: \n";
cin >> pos1;

if (pos1<0 && pos1>8){
cout << "posição errada ***** ! repita a rodada de novo ! \n";
goto errado;
}

jogador1(); // função que marca a jogada do jogador1

volta2: // caso o usuário digite de novo a posição, ele volta aqui
cout << "Digite a posição do jogador 2: \n";
cin >> pos2;

if (pos2<0 && pos2>8){

goto errado;
}
jogador2(); // função que marca a jogada do jogador2

// condição para ver se o jogador1 foi o vencedor
// Tem outro erro aqui
if (velha[0]=="X" && velha[1]=="X" && velha[2]=="X"){ //aqui ele verifica se o jogador acertou três X na horizontal
vencedor = 1;
break; //Sai do Loop e finaliza o jogo
}
else
if (velha[3]=="X" && velha[4]=="X" && velha[5]=="X"){
vencedor = 1;
break;
}
else
if (velha[6]=="X" && velha[7]=="X" && velha[8]=="X"){
vencedor = 1;
break;
}
else
if (velha[0]=="X" && velha[3]=="X" && velha[6]=="X"){ // aqui ele verifica se o jogador acertou três X na vertical
vencedor = 1;
break;
}
else
if (velha[1]=="X" && velha[4]=="X" && velha[7]=="X"){
vencedor = 1;
break;
}
else
if (velha[2]=="X" && velha[5]=="X" && velha[8]=="X"){
vencedor = 1;
break;
}
else
if (velha[0]=="X" && velha[4]=="X" && velha[8]=="X"){ // aqui ele verifica se o jogador acertou três X na diagonal
vencedor = 1;
break;
}
else
if (velha[2]=="X" && velha[4]=="X" && velha[6]=="X"){
vencedor = 1;
break;
}
//condição para ver se o jogador2 foi o vencedor

if (velha[0]=="O" && velha[1]=="O" && velha[2]=="O"){ //aqui ele verifica se o jogador acertou três O na horizontal
vencedor = 2;
break; //Sai do Loop e finaliza o jogo
}
else
if (velha[3]=="O" && velha[4]=="O" && velha[5]=="O"){
vencedor = 2;
break;
}
else
if (velha[6]=="O" && velha[7]=="O" && velha[8]=="O"){
vencedor = 2;
break;
}
else
if (velha[0]=="O" && velha[3]=="O" && velha[6]=="O"){ // aqui ele verifica se o jogador acertou três O na vertical
vencedor = 2;
break;
}
else
if (velha[1]=="O" && velha[4]=="O" && velha[7]=="O"){
vencedor = 2;
break;
}
else
if (velha[2]=="O" && velha[5]=="O" && velha[8]=="O"){
vencedor = 2;
break;
}
else
if (velha[0]=="O" && velha[4]=="O" && velha[8]=="O"){ //aqui ele verifica se o jogador acertou três O na diagonal
vencedor = 2;
break;
}
else
if (velha[2]=="O" && velha[4]=="O" && velha[6]=="O"){
vencedor = 2;
break;
}

}

if (vencedor == 1)
cout << nome[0] << " Parabéns você é o bom Master ! \n";
else
if (vencedor == 2)
cout << nome[1] << " Parabéns você é o bom Master ! \n";
else
cout << "Suas bestas, não conseguem ganhar um do outro ! bando de incopetentes ! \n";

return 0;
}

Postado

não é bem um erro quando ele verifica se alguém ganhou, ele apenas não executa a condição !

Se vocês puderem me ajuda eu agradeceria, já que quero muito terminar esse jogo !

falou

Postado

Descobri o erro !

em vez de fazer a condicao comparando com "X" eu troquei por 1 !

e funcionou !

Para que quiser o código para estudar !


//jogo da velha
#include <iostream>
#include <iomanip>
using namespace std;

int i,pos1,pos2,dig[9],dig2[9];
string velha[9];

void jogador1(){
switch (pos1){

case 0: velha[0] = "X"; dig[0]=1; break;
case 1: velha[1] = "X"; dig[1]=1; break;
case 2: velha[2] = "X"; dig[2]=1; break;
case 3: velha[3] = "X"; dig[3]=1; break;
case 4: velha[4] = "X"; dig[4]=1; break;
case 5: velha[5] = "X"; dig[5]=1; break;
case 6: velha[6] = "X"; dig[6]=1; break;
case 7: velha[7] = "X"; dig[7]=1; break;
case 8: velha[8] = "X"; dig[8]=1; break;
}

cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _"<<velha[0]<<"_|_"<<velha[1]<<"_|_"<<velha[2]<<"_ X\n";
cout << " X _"<<velha[3]<<"_|_"<<velha[4]<<"_|_"<<velha[5]<<"_ X\n";
cout << " X "<<velha[6]<<" | "<<velha[7]<<" | "<<velha[8]<<" X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXXX\n\n";

}

void jogador2(){
switch (pos2){

case 0: velha[0] = "O"; dig2[0]=1; break;
case 1: velha[1] = "O"; dig2[1]=1; break;
case 2: velha[2] = "O"; dig2[2]=1; break;
case 3: velha[3] = "O"; dig2[3]=1; break;
case 4: velha[4] = "O"; dig2[4]=1; break;
case 5: velha[5] = "O"; dig2[5]=1; break;
case 6: velha[6] = "O"; dig2[6]=1; break;
case 7: velha[7] = "O"; dig2[7]=1; break;
case 8: velha[8] = "O"; dig2[8]=1; break;
}

cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _"<<velha[0]<<"_|_"<<velha[1]<<"_|_"<<velha[2]<<"_ X\n";
cout << " X _"<<velha[3]<<"_|_"<<velha[4]<<"_|_"<<velha[5]<<"_ X\n";
cout << " X "<<velha[6]<<" | "<<velha[7]<<" | "<<velha[8]<<" X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXXX\n\n";

}

int main (void)
{
char tecla;
string nome[2];
int vencedor=0;

for (i=0;i<9;i++)
velha[i]="_";

cout << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n";
cout << "X X\n";
cout << "X XXXXX XXXXX XXXX XXXXX XXXX XXXXX X\n";
cout << "X XX XX XX XX XX XX XX X XX XX X\n";
cout << "X XX XX XX XX XX XX XX X XX XX X\n";
cout << "X XX XX XX XX XX XX XX X XXXXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X XX XX X\n";
cout << "X X XX XX XX XX X XX XX XX X XX XX X\n";
cout << "X XXXX XXXXX XXXX XXXXX XXXX XX XX X\n";
cout << "X X\n";
cout << "X XX XX XXXXX XX XX XX XXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XX XX XXXXX XX XXXXXXXXXX XXXXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XXX XXXXX XXXXX XX XX XX XX X\n";
cout << "X X\n";
cout << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n\n";
cout << " ATENÇÃO SE VOCÊ DIGITAR UMA POSIÇÃO REPETIDA, VOCÊ PERDE A VEZ ! \n";
cout << " APERTER QUALQUER TECLA PARA CONTINUAR !\n";
cin >> tecla;

cout << " Posições que podem ser escolhidas ! \n\n";
cout << " XXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _0_|_1_|_2_ X\n";
cout << " X _3_|_4_|_5_ X\n";
cout << " X 6 | 7 | 8 X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXX\n\n";

cout << "Digite o nome do jogador 1 : \n";
cin >> nome[0]; // recebe o nome do jogador1
cout << "Digite o nome do jogador 2: \n";
cin >> nome[1];
cout << "\nO jogo começa agora, divirtam-se !\n\n";


for (i=0;i<9;i++){ // executa até que as posições se esgotem
errado:

cout << "Digite a posição do jogador 1: \n";
cin >> pos1;

if (pos1<0 || pos1>8){
cout << "\nposição errada ***** ! repita a rodada de novo ! \n\n";
goto errado;
}

jogador1(); // função que marca a jogada do jogador1

// condição para ver se o jogador1 foi o vencedor

if (dig[0]==1 && dig[1]==1 && dig[2]==1){ //aqui ele verifica se o jogador acertou três X na horizontal
vencedor = 1;
break; //Sai do Loop e finaliza o jogo
}
else
if (dig[3]==1 && dig[4]==1 && dig[5]==1){
vencedor = 1;
break;
}
else
if (dig[6]==1 && dig[7]==1 && dig[8]==1){
vencedor = 1;
break;
}
else
if (dig[0]==1 && dig[3]==1 && dig[6]==1){ // aqui ele verifica se o jogador acertou três X na vertical
vencedor = 1;
break;
}
else
if (dig[1]==1 && dig[4]==1 && dig[7]==1){
vencedor = 1;
break;
}
else
if (dig[2]==1 && dig[5]==1 && dig[8]==1){
vencedor = 1;
break;
}
else
if (dig[0]==1 && dig[4]==1 && dig[8]==1){ // aqui ele verifica se o jogador acertou três X na diagonal
vencedor = 1;
break;
}
else
if (dig[2]==1 && dig[4]==1 && dig[6]==1){
vencedor = 1;
break;
}

cout << "Digite a posição do jogador 2: \n";
cin >> pos2;

if (pos2<0 || pos2>8){
cout << "\nposição errada ***** ! repita a rodada de novo ! \n\n";
goto errado;
}
jogador2(); // função que marca a jogada do jogador2

//condição para ver se o jogador2 foi o vencedor

if (dig2[0]==1 && dig2[1]==1 && dig2[2]==1){ //aqui ele verifica se o jogador acertou três O na horizontal
vencedor = 2;
break; //Sai do Loop e finaliza o jogo
}
else
if (dig2[3]==1 && dig2[4]==1 && dig[5]==1){
vencedor = 2;
break;
}
else
if (dig2[6]==1 && dig[7]==1 && dig2[8]==1){
vencedor = 2;
break;
}
else
if (dig2[0]==1 && dig2[3]==1 && dig2[6]==1){ // aqui ele verifica se o jogador acertou três O na vertical
vencedor = 2;
break;
}
else
if (dig2[1]==1 && dig2[4]==1 && dig2[7]==1){
vencedor = 2;
break;
}
else
if (dig2[2]==0 && dig2[5]==1 && dig2[8]==1){
vencedor = 2;
break;
}
else
if (dig2[0]==1 && dig2[4]==1 && dig2[8]==1){ //aqui ele verifica se o jogador acertou três O na diagonal
vencedor = 2;
break;
}
else
if (dig2[2]==1 && dig2[4]==1 && dig2[6]==1){
vencedor = 2;
break;
}

}

if (vencedor == 1)
cout << nome[0] << " Parabéns você é o bom Master ! \n";
else
if (vencedor == 2)
cout << nome[1] << " Parabéns você é o bom Master ! \n";
else
cout << "Suas bestas, não conseguem ganhar um do outro ! bando de incopetentes ! \n";

return 0;
}



Só ficou faltando mesmo a verificação se o usuário digitou a mesma tecla !

falou galera ! : )

Postado

Pronto , resolvi alguns bugs e acho que esta livre de bugs !!

:lol:

eis o código para quem quiser estudar !


//jogo da velha
#include <iostream>
#include <iomanip>
using namespace std;
int main (void)
{
char tecla;
string nome[2],velha[9];
int vencedor=0,i,pos1,pos2,dig[9],dig2[9],ja_teclou[9],posicao[9];

for (i=0;i<9;i++){
dig[i] = 0;
dig2[i] = 0;
velha[i] = "_";
ja_teclou[i] = 0;
posicao[i] = i+1;
}

cout << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n";
cout << "X X\n";
cout << "X XXXXX XXXXX XXXX XXXXX XXXX XXXXX X\n";
cout << "X XX XX XX XX XX XX XX X XX XX X\n";
cout << "X XX XX XX XX XX XX XX X XX XX X\n";
cout << "X XX XX XX XX XX XX XX X XXXXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X XX XX X\n";
cout << "X X XX XX XX XX X XX XX XX X XX XX X\n";
cout << "X XXXX XXXXX XXXX XXXXX XXXX XX XX X\n";
cout << "X X\n";
cout << "X XX XX XXXXX XX XX XX XXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XX XX XXXXX XX XXXXXXXXXX XXXXXXX X\n";
cout << "X XX XX XX XX XX XX XX XX X\n";
cout << "X XXX XXXXX XXXXX XX XX XX XX X\n";
cout << "X X\n";
cout << "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n\n";
cout << " APERTER QUALQUER LETRA E DIGITE ENTER PARA CONTINUAR !\n";
cin >> tecla;

cout << " Posições que podem ser escolhidas ! \n\n";
cout << " XXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _1_|_2_|_3_ X\n";
cout << " X _4_|_5_|_6_ X\n";
cout << " X 7 | 8 | 9 X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXX\n\n";

cout << "Digite o nome do jogador 1 : \n";
cin >> nome[0]; // recebe o nome do jogador 1
cout << "Digite o nome do jogador 2: \n";
cin >> nome[1]; // recebe o nome do jogador 2
cout << "\nO jogo começa agora, divirtam-se !\n\n";


for (i=0;i<=4;i++){ // executa até que as posições se esgotem
errado:

cout << "Digite a posição do jogador 1: \n";
cin >> pos1;

if (pos1<1 || pos1>9){ // verifica se o usuario digitou posições erradas
cout << "\nposição errada ***** ! repita a rodada de novo ! \n\n";
goto errado;
}

if (pos1 == posicao[0] && ja_teclou[0] == 1){ // verifica se o usuario já digitou aquela posicao
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[1] && ja_teclou[1] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[2] && ja_teclou[2] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[3] && ja_teclou[3] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[4] && ja_teclou[4] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[5] && ja_teclou[5] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[6] && ja_teclou[6] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[7] && ja_teclou[7] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}
else
if (pos1 == posicao[8] && ja_teclou[8] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado;
}

switch (pos1){ //marca a jogada do jogador1

case 1: velha[0] = "X"; dig[0]=1; ja_teclou[0]=1; break;
case 2: velha[1] = "X"; dig[1]=1; ja_teclou[1]=1; break;
case 3: velha[2] = "X"; dig[2]=1; ja_teclou[2]=1; break;
case 4: velha[3] = "X"; dig[3]=1; ja_teclou[3]=1; break;
case 5: velha[4] = "X"; dig[4]=1; ja_teclou[4]=1; break;
case 6: velha[5] = "X"; dig[5]=1; ja_teclou[5]=1; break;
case 7: velha[6] = "X"; dig[6]=1; ja_teclou[6]=1; break;
case 8: velha[7] = "X"; dig[7]=1; ja_teclou[7]=1; break;
case 9: velha[8] = "X"; dig[8]=1; ja_teclou[8]=1; break;
}

cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _"<<velha[0]<<"_|_"<<velha[1]<<"_|_"<<velha[2]<<"_ X\n";
cout << " X _"<<velha[3]<<"_|_"<<velha[4]<<"_|_"<<velha[5]<<"_ X\n";
cout << " X "<<velha[6]<<" | "<<velha[7]<<" | "<<velha[8]<<" X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXXX\n\n";


// condição para ver se o jogador1 foi o vencedor

if (dig[0]==1 && dig[1]==1 && dig[2]==1){ //aqui ele verifica se o jogador acertou três X na horizontal
vencedor = 1;
break; //Sai do Loop e finaliza o jogo
}
else
if (dig[3]==1 && dig[4]==1 && dig[5]==1){
vencedor = 1;
break;
}
else
if (dig[6]==1 && dig[7]==1 && dig[8]==1){
vencedor = 1;
break;
}
else
if (dig[0]==1 && dig[3]==1 && dig[6]==1){ // aqui ele verifica se o jogador acertou três X na vertical
vencedor = 1;
break;
}
else
if (dig[1]==1 && dig[4]==1 && dig[7]==1){
vencedor = 1;
break;
}
else
if (dig[2]==1 && dig[5]==1 && dig[8]==1){
vencedor = 1;
break;
}
else
if (dig[0]==1 && dig[4]==1 && dig[8]==1){ // aqui ele verifica se o jogador acertou três X na diagonal
vencedor = 1;
break;
}
else
if (dig[2]==1 && dig[4]==1 && dig[6]==1){
vencedor = 1;
break;
}

if (i==4){
break;
}

errado2:
cout << "Digite a posição do jogador 2: \n";
cin >> pos2;

if (pos2<1 || pos2>9){ // verifica se o usuario digitou uma posição errada
cout << "\nposição errada ***** ! repita a rodada de novo ! \n\n";
goto errado2;
}

if (pos2 == posicao[0] && ja_teclou[0] == 1){ // verifica se o usuario já digitou aquela posicao
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[1] && ja_teclou[1] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[2] && ja_teclou[2] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[3] && ja_teclou[3] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[4] && ja_teclou[4] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[5] && ja_teclou[5] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[6] && ja_teclou[6] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[7] && ja_teclou[7] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}
else
if (pos2 == posicao[8] && ja_teclou[8] == 1){
cout << "Você já digitou essa posição ! escolha outra ! \n\n";
goto errado2;
}

switch (pos2){ // condição para ver se o jogador2 foi o vencedor

case 1: velha[0] = "O"; dig2[0]=1; ja_teclou[0]=1; break;
case 2: velha[1] = "O"; dig2[1]=1; ja_teclou[1]=1; break;
case 3: velha[2] = "O"; dig2[2]=1; ja_teclou[2]=1; break;
case 4: velha[3] = "O"; dig2[3]=1; ja_teclou[3]=1; break;
case 5: velha[4] = "O"; dig2[4]=1; ja_teclou[4]=1; break;
case 6: velha[5] = "O"; dig2[5]=1; ja_teclou[5]=1; break;
case 7: velha[6] = "O"; dig2[6]=1; ja_teclou[6]=1; break;
case 8: velha[7] = "O"; dig2[7]=1; ja_teclou[7]=1; break;
case 9: velha[8] = "O"; dig2[8]=1; ja_teclou[8]=1; break;
}

cout << " XXXXXXXXXXXXXXXXXXXXXXX\n";
cout << " X X\n";
cout << " X _"<<velha[0]<<"_|_"<<velha[1]<<"_|_"<<velha[2]<<"_ X\n";
cout << " X _"<<velha[3]<<"_|_"<<velha[4]<<"_|_"<<velha[5]<<"_ X\n";
cout << " X "<<velha[6]<<" | "<<velha[7]<<" | "<<velha[8]<<" X\n";
cout << " X X\n";
cout << " XXXXXXXXXXXXXXXXXXXXXXX\n\n";

//condição para ver se o jogador2 foi o vencedor

if (dig2[0]==1 && dig2[1]==1 && dig2[2]==1){ //aqui ele verifica se o jogador acertou três O na horizontal
vencedor = 2;
break; //Sai do Loop e finaliza o jogo
}
else
if (dig2[3]==1 && dig2[4]==1 && dig2[5]==1){
vencedor = 2;
break;
}
else
if (dig2[6]==1 && dig2[7]==1 && dig2[8]==1){
vencedor = 2;
break;
}
else
if (dig2[0]==1 && dig2[3]==1 && dig2[6]==1){ // aqui ele verifica se o jogador acertou três O na vertical
vencedor = 2;
break;
}
else
if (dig2[1]==1 && dig2[4]==1 && dig2[7]==1){
vencedor = 2;
break;
}
else
if (dig2[2]==1 && dig2[5]==1 && dig2[8]==1){
vencedor = 2;
break;
}
else
if (dig2[0]==1 && dig2[4]==1 && dig2[8]==1){ //aqui ele verifica se o jogador acertou três O na diagonal
vencedor = 2;
break;
}
else
if (dig2[2]==1 && dig2[4]==1 && dig2[6]==1){
vencedor = 2;
break;
}

}

if (vencedor == 1)
cout << nome[0] << " Parabéns você é o bom Master ! \n";
else
if (vencedor == 2)
cout << nome[1] << " Parabéns você é o bom Master ! \n";
else
cout << "Suas bestas, não conseguem ganhar um do outro ! bando de incopetentes ! \n";

return 0;
}



Quando forem utilizar o código, só tem que consertar as imagens do x, pois aqui saiu fora do lugar !

falou :huh:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!