Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.
Become a Premium Member and unlock a new, free course in leading technologies each month.
#include <iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
void regras ()
{
cout<<"************************"<<endl;
cout<<"***** Jogo do Galo *****"<<endl;
cout<<"************************"<<endl;
cout<<endl;
cout<<endl;
cout<<"Para jogar carregue no numero correspondente"<<endl;
cout<<"à posição que quer marcar a sua opção."<<endl;
cout<<endl;
cout<<endl;
cout<<"O jogador 1 marca com X."<<endl;
cout<<"O jogador 2 marca com O."<<endl;
cout<<"\tBom jogo."<<endl;
cout<<endl;
cout<<endl;
}
class Cria_Matriz1
{
int n,m;
int **matrix;
public:
Cria_Matriz1(int parametro_n)
: n(parametro_n)
{
m=n;
matrix= new int*[n];
int c=1;
for (int i = 0; i<n; ++i)
{
for (int j=0; j<n; ++j)
{
matrix[i]= new int [m];
matrix[i][j]=c;
c++;
cout <<"["<<matrix[i][j]<<"]"<<" ";
}
cout << endl;
//cout << endl;
}
}
~Cria_Matriz1()
{
delete [] matrix;
}
};
class Cria_Matriz //comentar
{
int n,m;
char **matriz;
char jogador1;
char jogador2;
public:
Cria_Matriz(int parametro_n)
: n(parametro_n)
,jogador2('O')
,jogador1('X')
{
m=n;
matriz= new char*[n];
for (int i=0; i<n;++i)
{
matriz[i]= new char [m];
for (int j=0; j<m; ++j)
{
matriz[i][j]=' ';
//cout <<"["<<matriz[i][j]<<"]"<<" ";
}
cout<<endl;
}
}
~Cria_Matriz()
{
delete [] matriz;
}
void jogar (int a)//comentar
{
int d, b=0, k, z=0, count1=0, count2=0;
//int i=0;
//int j=0;
while (b==0)
{
if (z==2)
z=0;
d=1;
while (d!=0)
{
if(z==0)
{
cout <<"Jogador 1 escolha uma posição.\n"<<endl;
cin>>k;
count1++;
}
else
{
cout <<"Jogador 2 escolha uma posição.\n"<<endl;
cin>>k;
count2++;
}
/*if (k>'a'||k<'z' && k>'A'||k<'Z')
cout<<"Insira um numero."<<endl;
d=1;*/
if(k<=0 || k>(n*n))
{
cout<<"Aposta fora do tamanho da matriz."<<endl;
d=1;
}
else
{
if (matriz[(k-1)/a][(k-1)%a]=='X'||matriz[(k-1)/a][(k-1)%a]=='O')
{
cout<<"Posição já ocupada."<<endl;
d=1;
}
else
d=0;
}
//b=1;
}
if (z==0)
matriz[(k-1)/a][(k-1)%a]=jogador1;
else
matriz[(k-1)/a][(k-1)%a]=jogador2;
mostrar();
z++;
if(count1==n || count2==n)
vitoria ();
}
}
void mostrar()//Retorna a matriz com a opção escolhida pelos jogadores
{
for (int i =0; i < n; ++i)
{
for (int j= 0; j < n; ++j)
{
cout <<"["<<matriz[i][j]<<"]"<<" ";
}
cout<<endl;
}
}
bool win()
{
int j=0,count1=0,i,count2=0;
for (int i =0; i < n; ++i)
for (int j= 0; j < n; ++j)
{
if(matriz[i][j]==jogador1);
//j++;
}
return true;
}
bool draw()
{
return false;
}
};
int main ()
{
system ("chcp 1252");
int a;
regras();
cout<< "Insira o tamanho do tabuleiro, no minimo 3. Obrigado\n";
cin>>a;
Cria_Matriz1 matrix(a);
Cria_Matriz mat(a);
mat.jogar(a);
system ("PAUSE");
return 0;
}
Add your voice to the tech community where 5M+ people just like you are talking about what matters.
bool vitoria()//Verifica se alguém ganhou a partida.
{
int count=0,i=0,j=0;
// ver se alguem fez a linha
for (int i = 0; i < n; ++i)
{
char c = matriz[i][0];
for (int j = 1; j < n; ++j)
{
if (c != ' ' && c == matriz[i][j])
count++;
}
if (count == n-1)
return true;
count = 0;
}
// ver se alguem fez a coluna
for (int i = 0, count = 0; i < n; ++i)
{
char c = matriz[0][i];
for (int j = 1; j < n; ++j)
{
if (c != ' ' && c == matriz[j][i])
count++;
}
if (count == n-1)
return true;
count = 0;
}
// ver se alguem fez a diagonal
char c = matriz[0][0];
for ( int i = 1, count = 0; i < n; ++i)
{
if (c != ' ' && c == matriz[i][i])
count++;
if (count == n-1)
return true;
}
c = matriz[0][n-1];
for (int i = 1, j = n-2, count = 0; i < n; ++i, --j)
{
if (c != ' ' && c == matriz[i][j])
count++;
if (count == n-1)
return true;
}
return false;
}
If you are experiencing a similar issue, please ask a related question
Join the community of 500,000 technology professionals and ask your questions.