Tela inicial do jogo
O desenho do jogo é feito conforme o código abaixo onde é utilizado dois arranjos de repetição do tipo "for" afim de apresentarmos os caracteres "x" e "0" que futuramente estarão presentes em velha[i][j] da matriz[3][3], que inicialmente é ocupado por espaços vazios.
void desenho(){
for(int i = 0 ;i<3;i++){
for(int j = 0 ;j<3;j++){
if(i==0){//montagem aparencia do jogo
cout<<"_";
}
if(i==1){
cout<<"_";
}
if(i==2){
cout<<" ";
}
cout<<velha[i][j];
if(i==0){
cout<<"_";
}
if(i==1){
cout<<"_";
}
if(i==2){
cout<<" ";
}
if((j==0)||(j==1)){
cout<<"|";
}
}
cout<<"\n";
}
}
Conforme o jogador faz sua jogada, ou seja, escolhe uma linha e uma coluna onde será inserido o caractere "x", é feito uma analise, assim o programa decide se fará uma jogada de "defesa" ou uma jogada de "ataque", de acordo com o código abaixo:
void analize(){
int linha = 0,coluna = 0,x=0,o=0,x2=0,o2=0,x3=0,o3=0,x4=0,o4=0;
bool o1 = false,x1 = false,d1 = false,d2 = false;
for(int i = 0 ;i<3;i++){
for(int j = 0 ;j<3;j++){
if(linha!=i){//confere linh
linha = i;
x = 0;
o = 0;
}
if((velha[i][j] == 'X')&&(i == linha)){
x++;
}
if((velha[i][j] == 'O')&&(i == linha)){
o++;
}
if((x==2)&&(!o1)){//prioridade p ataque
ContraMedidas(0,linha);//defesa
}
if(o==2){//ataque
ContraMedidas(0,linha);
o1 = true;
}
if(coluna!=i){//confere coluna
coluna = i;
x2 = 0;
o2 = 0;
}
if((velha[j][i] == 'X')&&(i == coluna)){
x2++;
}
if((velha[j][i] == 'O')&&(i == coluna)){
o2++;
}
if((x2 == 2)&&(!x1)){
ContraMedidas(1,coluna);
}
if(o2 == 2){//ataque
ContraMedidas(1,coluna);
x1 = true;
}
if(i==j){//confere diagonal
if(velha[j][i] == 'X'){
x3++;
}
if(velha[j][i] == 'O'){
o3++;
}
if((x3 == 2)&&(!d1)){
ContraMedidas(2,0);
}
if(o3 == 2){
ContraMedidas(2,0);
d1 = true;
}
if(i==2){
x3 = 0;
o3 = 0;
}
}
if((i+j)==2){//confere diagonal
if(velha[j][i] == 'X'){
x4++;
}
if(velha[j][i] == 'O'){
o4++;
}
if((x4 == 2)&&(!d2)){
ContraMedidas(3,0);
}
if(o4 == 2){
ContraMedidas(3,0);
d2 = true;
}
if(i==2){
x4 = 0;
o4 = 0;
}
}
}
}
}
Código completo para testes e melhorias em JogoDaVeia - Replit ou GitHub - Aertyps/JogoDaVeia.
Comentários
Postar um comentário