#include "weird.h"
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
	int unit;


	printf("randomize the array content\n");
	for (unit = 1; unit < population; unit = unit+1)
	{
		//array[unit].x = rand()%10;
		//array[unit].y = rand()%10;
		array[unit].nature = rand();
	}

	printf("genealogy of the array\n");
	in_the_begining();
	printf("materialisation of the matrix\n");
	existance();

	printf("kill array[98] to see if it will disapear\n\n");
	kill(&(array[98]));
	printf("kill array[1] to see what happen\n\n");
	kill(&(array[1]));
	printf("kill array[99] to see what happen\n\n");
	kill(&(array[99]));
	printf("kill array[99] again\n\n");
	kill(&(array[99]));

	printf("give birth to a new node\n");
	printf("randomize the array content\n");
	for (unit = 1; unit < population-2; unit = unit+1)
	{
		struct node * newborn = birth();
		newborn->x = rand()%10;
		newborn->y = rand()%10;
		newborn->nature = rand();
	}
	printf("and check for existence\n\n");
	existance();

	etre = naitre;
	while (etre->enfant != NULL)
	{
		printf("pointer etre->parent = %d\n",etre->parent);
		printf("etre->unit = %d | ",etre->unit);
		printf("etre->x = %d | ",etre->x);
		printf("etre->y = %d\n",etre->y);
		printf("etre->nature = %d\n",etre->nature);
		printf("matrix[%d][%d].nature = %d\n",etre->x,etre->y,(*matrix[etre->x][etre->y]).nature);
		printf("pointer etre = %d\n",(etre));
		printf("pointer matrix[%d][%d] = %d\n",etre->x,etre->y,matrix[etre->x][etre->y]);
		printf("pointer etre->enfant = %d\n",etre->enfant);
		printf("now etre = etre->enfant if that last is not zero\n\n");

		etre = etre->enfant;
	}
		printf("pointer etre->parent = %d\n",etre->parent);
		printf("etre->unit = %d | ",etre->unit);
		printf("etre->x = %d | ",etre->x);
		printf("etre->y = %d\n",etre->y);
		printf("etre->nature = %d\n",etre->nature);
		printf("matrix[%d][%d].nature = %d\n",etre->x,etre->y,(*matrix[etre->x][etre->y]).nature);
		printf("pointer etre = %d\n",(etre));
		printf("pointer matrix[%d][%d] = %d\n",etre->x,etre->y,matrix[etre->x][etre->y]);
		printf("pointer etre->enfant = %d\n",etre->enfant);
		printf("it seam that last etre->enfant is ZERO\n\n");

	printf("show all node.unit that waitin in the styx\n");
	for (unit = styx.premier; unit < styx.dernier; unit = unit + 1)
	{
		printf(" %d ",styx.ame[unit]->unit);
	}
	printf("\n");
	return 0;
}

