Skip to content

Instantly share code, notes, and snippets.

@lucask125
Last active November 6, 2016 02:45
Show Gist options
  • Save lucask125/7cd2273b1655c3ca6581d537e08e8e74 to your computer and use it in GitHub Desktop.
Save lucask125/7cd2273b1655c3ca6581d537e08e8e74 to your computer and use it in GitHub Desktop.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
char matriz[3][3];
int linha, coluna;
bool fim = false;
bool vitoria = false;
bool velha = false;
void zera_matriz(){
for (int i=0;i<3;i++){
for (int j=0;j<3;j++){
matriz[i][j]= '-';
}
}
return;
}
void atualiza_tela(){
//INICIO DO JOGO
system("CLS");
cout << "JOGO DA VELHA v0.1a" << endl << "Status:" << endl;
cout << " 1 2 3" << endl;
//IMPRIME MATRIZ
for (int i=0;i<3;i++){
cout << i + 1;
for (int j=0;j<3;j++){
cout << " | " << matriz[i][j] << " |";
}
cout << endl << endl;
}
return;
}
void jogada(){
jogada_inicio:
cout << "Digite o numero da linha que deseja jogar:" << endl;
cin >> linha;
cout << "Digite o numero da coluna que deseja jogar:" << endl;
cin >> coluna;
if (matriz[linha - 1][coluna - 1] == '-'){
matriz[linha - 1][coluna - 1]= 'X';}
else {cout<< "A casa desejada ja esta ocupada. Escolha outra casa" << endl;
goto jogada_inicio;
}
return;
}
void computador(){
inicio_computador:
srand (time(NULL));
linha = rand() % 3;
coluna = rand() % 3;
if (matriz[linha][coluna] == '-') matriz[linha][coluna] = 'O';
else goto inicio_computador;
return;
}
void analise_de_fim(){
if (matriz[0][0] != '-' && matriz[0][0] == matriz[1][1] && matriz[0][0] == matriz[2][2]) {fim = true; if (matriz[0][0]== 'X'){vitoria = true;}}
if (matriz[2][0] != '-' && matriz[2][0] == matriz[1][1] && matriz[2][0] == matriz[0][2]) {fim = true; if (matriz[2][0]== 'X'){vitoria = true;}}
if (matriz[0][0] != '-' && matriz[0][0] == matriz[0][1] && matriz[0][0] == matriz[0][2]) {fim = true; if (matriz[0][0]== 'X'){vitoria = true;}}
if (matriz[1][0] != '-' && matriz[1][0] == matriz[1][1] && matriz[1][0] == matriz[1][2]) {fim = true; if (matriz[1][0]== 'X'){vitoria = true;}}
if (matriz[2][0] != '-' && matriz[2][0] == matriz[2][1] && matriz[2][0] == matriz[2][2]) {fim = true; if (matriz[2][0]== 'X'){vitoria = true;}}
if (matriz[0][0] != '-' && matriz[0][0] == matriz[1][0] && matriz[0][0] == matriz[2][0]) {fim = true; if (matriz[0][0]== 'X'){vitoria = true;}}
if (matriz[0][1] != '-' && matriz[0][1] == matriz[1][1] && matriz[0][1] == matriz[2][1]) {fim = true; if (matriz[0][1]== 'X'){vitoria = true;}}
if (matriz[0][2] != '-' && matriz[0][2] == matriz[1][2] && matriz[0][2] == matriz[2][2]) {fim = true; if (matriz[0][2]== 'X'){vitoria = true;}}
if (velha==true){fim=true;}
return;
}
void analise_de_velha(){
for (int i=0;i<3;i++){
for(int j=0;j<3;j++){
if (matriz[i][j] == '-') return;
}
}
velha = true;
return;
}
int main(){
zera_matriz();
while (fim == false){
atualiza_tela();
jogada();
atualiza_tela();
analise_de_velha();
analise_de_fim();
if (fim==true) break;
computador();
analise_de_velha();
analise_de_fim();
}
atualiza_tela();
if (vitoria == true) {cout << "Parabens, voce ganhou!" << endl;}
else if (velha == false) {cout << "Infelizmente nao foi dessa vez..." << endl;}
else {cout << "HAHA, deu VELHA!!!!" << endl;}
system("PAUSE");
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment