/* ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º º º 8 State Finite Closed 2-Dimensional Cellular Automation º º º º World File Maker º º º º (c) 1991 Christopher D. Watkins º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ */ #include "stdio.h" #include "dos.h" #include "string.h" #include "defs.h" #include "globals.h" #include "mathb.h" #define RandomWorld true #define MaxColumn 100 #define MaxRow 100 #define WorldTop (MaxColumn-1) #define WorldSide (MaxRow-1) #define States 8 #define MaxState (States-1) typedef char Name[33]; typedef Byte WorldArray[WorldTop+1][WorldSide+1]; Name WorldFileName; FILE *WorldFile; WorldArray World; Word i, j, t; Boolean o; void ClearWorld() { for(i=0; i<=MaxColumn-1; i++) { for(j=0; j<=MaxRow-1; j++) World[i][j]=0; } } void DoRandomWorld() { for(i=0; i<=MaxColumn-1; i++) { for(j=0; j<=MaxRow-1; j++) { if(RandInt(500)==0) World[i][j]=RandInt(States); else World[i][j]=0; } } } void WriteWorldFile() { fwrite(World, sizeof(World), 1, WorldFile); fclose(WorldFile); } void main() { clrscr(); printf("Generating World\n"); strcpy(WorldFileName,"WORLD2D.CA"); WorldFile=fopen(WorldFileName, "wb"); InitRand(44.4231966); ClearWorld(); if(RandomWorld) DoRandomWorld(); WriteWorldFile(); }