Olá amigos, eu me chamo Daniel e sou aluno de ADS, alguns dias atrás eu encontrei um código pela internet de um jogo da velha simples, o código funciona perfeita mente, porèm, eu queria adaptar o programa para executar novamente, e é ai que està o problema, eu não consigo fazer o programa zerar e reiniciar novamente a partida, vou inserir o código logo abaixo, desde já agradeço sua ajuda.
P.S 1 Já tentei colocar system("cls") em quase todos os lugares possiveis do código, mas não resolveu.
#include <iostream> #include <stdlib.h>
using namespace std;
char matriz[3][3] = {'1','2','3','4','5','6','7','8','9'}; int n; char jog = 'X'; char sair = 's'; bool s = true;
Pergunta
Daniel Soares
Olá amigos, eu me chamo Daniel e sou aluno de ADS, alguns dias atrás eu encontrei um código pela internet de um jogo da velha simples, o código funciona perfeita mente, porèm, eu queria adaptar o programa para executar novamente, e é ai que està o problema, eu não consigo fazer o programa zerar e reiniciar novamente a partida, vou inserir o código logo abaixo, desde já agradeço sua ajuda.
P.S 1 Já tentei colocar system("cls") em quase todos os lugares possiveis do código, mas não resolveu.
#include <iostream>
#include <stdlib.h>
using namespace std;
char matriz[3][3] = {'1','2','3','4','5','6','7','8','9'};
int n;
char jog = 'X';
char sair = 's';
bool s = true;
void Jogo(){
system("cls");
cout << "\n JOGO DA VELHA\n\n";
for (int a=0;a<3;a++){
cout << "\t";
for (int j=0;j<3;j++){
cout << matriz[a][j] << " ";
}
cout << "\n";
}
cout << "\n";
}
void Entrada(){
int p;
cout << "Digite um numero: ";
cin >> p;
if (p==1){
if(matriz[0][0] == '1'){
matriz[0][0] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==2){
if(matriz[0][1] == '2'){
matriz[0][1] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==3){
if(matriz[0][2] == '3'){
matriz[0][2] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==4){
if(matriz[1][0] == '4'){
matriz[1][0] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==5){
if(matriz[1][1] == '5'){
matriz[1][1] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==6){
if(matriz[1][2] == '6'){
matriz[1][2] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==7){
if(matriz[2][0] == '7'){
matriz[2][0] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==8){
if(matriz[2][1] == '8'){
matriz[2][1] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
else if(p==9){
if(matriz[2][2] == '9'){
matriz[2][2] = jog;
}
else{
cout << "\nJogada invalida! Tente novamente.\n\n";
Entrada();
}
}
}
void Alterna(){
if (jog == 'X')
jog = 'O';
else
jog = 'X';
}
char Vencedor(){
// Jogador 1
if (matriz[0][0] == 'X' && matriz[0][1] == 'X' && matriz[0][2] == 'X')
return 'X';
if (matriz[1][0] == 'X' && matriz[1][1] == 'X' && matriz[1][2] == 'X')
return 'X';
if (matriz[2][0] == 'X' && matriz[2][1] == 'X' && matriz[2][2] == 'X')
return 'X';
if (matriz[0][0] == 'X' && matriz[1][0] == 'X' && matriz[2][0] == 'X')
return 'X';
if (matriz[0][1] == 'X' && matriz[1][1] == 'X' && matriz[2][1] == 'X')
return 'X';
if (matriz[0][2] == 'X' && matriz[1][2] == 'X' && matriz[2][2] == 'X')
return 'X';
if (matriz[0][0] == 'X' && matriz[1][1] == 'X' && matriz[2][2] == 'X')
return 'X';
if (matriz[0][2] == 'X' && matriz[1][1] == 'X' && matriz[2][0] == 'X')
return 'X';
//Jogador2
if (matriz[0][0] == 'O' && matriz[0][1] == 'O' && matriz[0][2] == 'O')
return 'O';
if (matriz[1][0] == 'O' && matriz[1][1] == 'O' && matriz[1][2] == 'O')
return 'O';
if (matriz[2][0] == 'O' && matriz[2][1] == 'O' && matriz[2][2] == 'O')
return 'O';
if (matriz[0][0] == 'O' && matriz[1][0] == 'O' && matriz[2][0] == 'O')
return 'O';
if (matriz[0][1] == 'O' && matriz[1][1] == 'O' && matriz[2][1] == 'O')
return 'O';
if (matriz[0][2] == 'O' && matriz[1][2] == 'O' && matriz[2][2] == 'O')
return 'O';
if (matriz[0][0] == 'O' && matriz[1][1] == 'O' && matriz[2][2] == 'O')
return 'O';
if (matriz[0][2] == 'O' && matriz[1][1] == 'O' && matriz[2][0] == 'O')
return 'O';
return 'e';
}
int main(){
Editado por Daniel Soareswhile (s == true){
Jogo();
while (true){
n++;
Entrada();
Jogo();
if (Vencedor() == 'X'){
cout << "Jogador X Venceu!\n\n";
break;
}
else if(Vencedor() == 'O'){
cout << "Jogador O Venceu!\n\n";
break;
}
else if(Vencedor() == 'e' && n == 9){
cout << "Deu empate!\n\n";
break;
}
Alterna();
}
cout << "Jogar novamente?\n(s/n): ";
cin >> sair;
if(sair == 's' || sair == 'S'){
s = true;
}
else if(sair == 'n' || sair == 'N'){
s = false;
break;
}
}
system("pause");
}
Correção na matriz
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.