#include "p.h"
#include "global.h"


p::p()
{
 count=0;
 liczba_potomkow=0; 
}

p::~p()
{
 cout << "Jakem punkciak , umarlem "<<endl;
}

p::p(p **tablica,int poz)
{
 liczba_potomkow=0; 
 t=tablica;
 pozycja=poz;
 count=0;
 id=rand();
}

void p::rob_nic()
{
 cout << "Punkciak nic nie robi "<<endl;
}

void p::rob_lewo()
{
	if(pozycja>0) { pozycja--; 	 cout << "Punkciak idzie w lewo pozycja  "<< pozycja <<endl;}

}

void p::rob_prawo()
{
	pozycja++;
	cout << "Punkciak idzie w prawo pozycja  "<< pozycja <<endl;
}

void p::rob_paczkuj()
{
	int i=0;
	while(t[i]!=NULL)
	{
		i++;
		if(i==ILE) 
			{
			 cout<<"Brak mijesca w swiecie punkciakow"<<endl; 
			 exit(0);  
			}
	}
	t[i]=new p(t,pozycja);
	cout << "Narodzi� si� nowy punkciak\nZnalaz on " << i << " miejsce w tablicy" << endl;
	liczba_potomkow++;
	
}

void p::rob_zniknij()
{
int i,j;
for(i=0;i<ILE;i++)
	{
		if(t[i]!=NULL) 
		{
			if(t[i]->id==id) { j=i;break;}
		}
	}
	cout<<"Jestem punkciakiem "<<i <<endl;
	t[i]=NULL;
	this->~p();
}

void p::rob()
{
 switch(count)
 {
  case 0:
	rob_nic();
	count++;
	break;
  case 1:
	rob_lewo();
	count++;
	break;
  case 2:
	rob_prawo();
	count++;
	break;
  case 3:
	rob_paczkuj();
	count++;
	break;	
  case 4:
	rob_zniknij();
	count++;
	break;
   default:
	rob_zniknij();
	break;
 }
}