!Anand Oza

!Intermediate 5

!Contest #2 - The Next Generation

!Montgomery Blair

!#8009

!1/27/07

 

SET ZONEWIDTH 1

DIM grid(7,7)

DIM birth(0 TO 8)

DIM survival(0 TO 8)

MAT birth=0

MAT survival=0

MAT grid=0

MAT PRINT grid

INPUT PROMPT "Enter the number of live cells: " : livecells,

FOR I = 1 TO livecells

    INPUT PROMPT "Enter the coordinates of the live cell: " : x,y,

    LET grid(x,y)=1

NEXT I

 

MAT PRINT grid

 

INPUT PROMPT "Number of Birth Rules:" : birthrules,

FOR I = 1 TO birthrules

    INPUT PROMPT "Birth Rule: " : x,

    LET birth(x)=1

NEXT I

 

INPUT PROMPT "Number of Survival Rules: " : survivalrules,

FOR I = 1 TO survivalrules

    INPUT PROMPT "Survival Rule:" : x,

    LET survival(x)=1

NEXT I

 

FOR program=1 TO 5

    INPUT PROMPT "Target Cell: " : x,y

    LET a=-1

    LET b=1

    LET c=-1

    LET d=1

    IF x=1 THEN

       LET a=0

    ELSE IF x=7 THEN

       LET b=0

    END IF

    IF y=1 THEN

       LET c=0

    ELSE IF y=7 THEN

       LET d=0

    END IF

    LET neighbors=0

    FOR i=x+a to x+b

        FOR j=y+c to y+d

            LET neighbors=neighbors+grid(i,j)

        NEXT j

    NEXT i

    IF grid(x,y)=0 THEN

       PRINT "D,";neighbors;

       IF birth(neighbors)=1 THEN PRINT ",A" ELSE PRINT ",D"

    ELSE

       PRINT "A,";neighbors-1;

       IF survival(neighbors-1)=1 THEN PRINT ",A" ELSE PRINT ",D"

    END IF

NEXT program

 

END