Sada je: 18 tra 2024, 21:51.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
iks oks [c++]
12 kol 2014, 17:31
Krenuo sam da radim iks oks ali kao oop c++.
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 ' ';
}
Postovi: 12
Postovi: 12
Pridružen/a: 18 lip 2014, 19:04
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: m
OS: Windows
Točka-zarez nakon definicije klase?
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
Moderator
Postovi: 4366
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Podijelio/la zahvalu: 86 puta
Primio/la zahvalu: 148 puta
Spol: M
OS: openSUSE Leap KDE
da,ali i dalje mi ovo nije nesto kako treba
do {
disp_mat();
get_igrac_pom()
Postovi: 12
Postovi: 12
Pridružen/a: 18 lip 2014, 19:04
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: m
OS: Windows

Na mreži
Trenutno korisnika/ca: / i 4 gostiju.