//
// Torbert, 7 Sept 2011
//
// compile:  gcc -o demo demo.c
//

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define W 40
#define H 30
#define M 1048576        // 2^20=1024*1024

int sq[W][H];

double myrand()
{
	return (rand()%M)/(1.0*M);
}
int init(double p)
{
	int j,k;
	int count;

	count=0;
	for(j=0;j<W;j++)
		for(k=0;k<H;k++)
			if(myrand()<p)
			{
				sq[j][k]=-1;
				count++;
			}
			else
				sq[j][k]= 0;

	return count;
}
void display()
{
	int j,k;
	
	for(k=0;k<H;k++)
	{
		for(j=0;j<W;j++)
			if(sq[j][k]==0)
				printf("- ");
			else
				printf("X ");
		printf("\n");
	}
}
int main(int argc,char* argv[])
{
	int    rseed;
	double p=0.70;

	printf("#\n");
	rseed=time(NULL);
	printf("# randseed=%d\n",rseed);
	srand(rseed);

	printf("# gridsize=%d=%d*%d\n",W*H,W,H);
	printf("# occupied=%d\n",init(p));
	printf("# idealval=%d=%d*%0.2f\n",(int)(p*W*H+0.5),W*H,p);
	printf("#\n");

	display();

	return 0;
}
//
// end of file
//

