class pole;
//static int rozmiar;
// jeszcze klasy dzedziczce po klasie pole 1 2 3 w zaleznosci od zmiany pol, ale jak to zrobic??
class plansza
{
private:
int rozmiar;
public:
pole** tablica; //dlaczego tutaj sie cuiagle czepia???
public:
plansza();
plansza(int wymiar);
~plansza();
// void ustaw_rozmiar(int wymiar);
void wyswietl();
friend class pole;
int GetRozmiar();
};
plansza::plansza()
{
int a;
cout<<"Podaj wymiar planszy do grania"<<endl;
cout<<"Twoj wybor:"<<endl;
cin>>a;
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++)
{
tablica= new pole();
}
}
}
plansza::plansza(int wymiar)
{
int a;
a = wymiar;
for(int i=0;i<a;i++)
{
for(int j=0;j<a;j++) // Dlaczego nie wywyoluje konstruktora na pole??
{
tablica= new pole();
}
}
}
//void plansza::ustaw_rozmiar(int wymiar)
//{
// rozmiar=wymiar;
//}
int plansza::GetRozmiar(){
return rozmiar;
}
void plansza::wyswietl()
{
for(int i=0;i<rozmiar;i++)
{
for(int j=0;j<rozmiar;j++)
{
printf("%d ", pole::stan); //czemu tutaj jest błąd i jak powinno być poprownie
}
printf("\n");
}
}
//////////////////////// KLASA POLE
class pole : public plansza
{
protected:
int typ; // 0,1,2
int stan; //1,0
public:
pole();
~pole();
};
pole::pole()
{
typ=rand()%3;
stan=rand()%2;
}
ostream& operator<<(ostream& wyjscie, pole& rozm)
{
wyjscie<< rozm.GetRozmiar()<<endl;
}
ostream& operator<<(ostream& wyjscie, pole** tablica)
{
wyjscie<<plansza::tablica ; //Jak zapisac stan gry z obiektow pole.
}
//