I'm trying to make a game of the old language in C but in the first move of player 1 depending on where to put the 'X' the program already ends declaring the player one as a winner. Here is my code:
#include <stdio.h>
#include <string.h>
int main(){
int x, y, cont;
char m[3][3], velha[3][3];
for(x=0; x<3; x++){
for(y=0; y<3; y++){
m[x][y]='.';
}
}
for(x=0; x<3; x++){
for(y=0; y<3; y++){
printf("%c\t", m[x][y]);
}
printf("\n");
}
while(cont<9){
if(cont%2==0){
printf("Jogador 1\n");
printf("Digite qual a linha preencher ");
scanf("%d", &x);
printf("Digite qual coluna preencher");
scanf("%d", &y);
m[x][y]='X';
velha[x][y]='X';
if(velha[0][0]==velha[1][1] && velha[1][1]==velha[2][2] ||
velha[0][0]==velha[0][1]&& velha[0][1]==velha[0][2] ||
velha[1][0]==velha[1][1] && velha[1][1]==velha[1][2] ||
velha[2][0]==velha[2][1] && velha[2][1]==velha[2][2]||
velha[0][0]==velha[1][0] && velha[1][0]==velha[2][0] ||
velha[0][1]==velha[1][1] && velha[1][1]==velha[1][2] ||
velha[0][2]==velha[1][2] && velha[1][2]==velha[2][2] || velha[0][2]==velha[1][1] && velha[1][1]==velha[3][0] ){
printf("Jogador 1 venceu \n");
cont=10;
}
}
else if(cont%2!=0){
printf("Jogador 2\n");
printf("Digite qual linha preencher ");
scanf("%d", &x);
printf("Digite qual coluna preencher ");
scanf("%d", &y);
m[x][y]='0';
velha[x][y]='0';
if(velha[0][0]==velha[1][1] && velha[1][1]==velha[2][2] ||
velha[0][0]==velha[0][1]&& velha[0][1]==velha[0][2] ||
velha[1][0]==velha[1][1] && velha[1][1]==velha[1][2] ||
velha[2][0]==velha[2][1] && velha[2][1]==velha[2][2]||
velha[0][0]==velha[1][0] && velha[1][0]==velha[2][0] ||
velha[0][1]==velha[1][1] && velha[1][1]==velha[1][2] ||
velha[0][2]==velha[1][2] && velha[1][2]==velha[2][2] || velha[0][2]==velha[1][1] && velha[1][1]==velha[3][0] ){
printf("Jogador 2 venceu \n");
cont=10;
}
}
cont++;
for(x=0; x<3; x++){
for(y=0; y<3; y++){
printf("%c\t", m[x][y]);
}
printf("\n");
}
}
if(cont==9){
printf("Nao teve vencedores ");
}
}