Igra u sustini radi,ali imam problem crveni mi se int main,ocito nesto nije u redu,ali nisam siguran sta.Hvala unapred.
- Kod: Označi sve
using namespace std;
#include <iostream>
class Tabla{
int igrac_pom;
int computer_pom;
public :
void izmenaVrednosti (int,int);
char mat [3][3];
char check(void);
void init_mat(void);
void get_igrac_pom(void);
void get_computer_pom(void);
void disp_mat(void);
}
int main(void)
{
char done;
printf("Iks Oks\n");
printf("Igrate sa kompjuteromm\n");
done = ' ';
init_mat();
do {
disp_mat();
get_igrac_pom();
done = check();
if(done!= ' ') break;
get_computer_pom();
done = check();
} while(done== ' ');
if(done=='X') printf("Ti si pobedio!\n");
else printf("Ja sam pobedio!\n");
disp_mat();
return 0;
}
void Tabla::init_mat(void)
{
int i, j;
for(i=0; i<3; i++)
for(j=0; j<3; j++) mat[i][j] = ' ';
}
void Tabla::get_igrac_pom(void)
{
int x, y;
printf("Ukucaj X,Y kordinate za pomeranje: ");
scanf("%d%*c%d", &x, &y);
x--; y--;
if(mat[x][y]!= ' '){
printf("Pogresne kordinate ,probajte ponovo.\n");
get_igrac_pom();
}
else mat[x][y] = 'X';
}
void Tabla::get_computer_pom(void)
{
int i, j;
for(i=0; i<3; i++){
for(j=0; j<3; j++)
if(mat[i][j]==' ') break;
if(mat[i][j]==' ') break;
}
if(i*j==9) {
printf("draw\n");
exit(0);
}
else
mat[i][j] = 'O';
}
void Tabla::disp_mat(void)
{
int t;
for(t=0; t<3; t++) {
printf(" %c | %c | %c ",mat[t][0],
mat[t][1], mat [t][2]);
if(t!=2) printf("\n---|---|---\n");
}
printf("\n");
}
char Tabla::check(void)
{
int i;
for(i=0; i<3; i++)
if(mat[i][0]==mat[i][1] &&
mat[i][0]==mat[i][2]) return mat[i][0];
for(i=0; i<3; i++)
if(mat[0][i]==mat[1][i] &&
mat[0][i]==mat[2][i]) return mat[0][i];
if(mat[0][0]==mat[1][1] &&
mat[1][1]==mat[2][2])
return mat[0][0];
if(mat[0][2]==mat[1][1] &&
mat[1][1]==mat[2][0])
return mat[0][2];
return ' ';
}