Last active
November 6, 2016 02:45
-
-
Save lucask125/7cd2273b1655c3ca6581d537e08e8e74 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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