home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RUN Flagazine Extra: Special 3
/
run-special-3.zip
/
OPART.BAS
< prev
next >
Wrap
BASIC Source File
|
1989-11-24
|
1KB
|
29 lines
100 REM OP-ART LIFE GWBASIC MONO
110 CLS:KEY OFF:DEFINT A-Z:RANDOMIZE -TIMER
120 N=22:N2=N*N:UP=12-N\2:LFT=40-3*N\2+1
130 DIM A(N+1,N+1),V(N2)
140 LOCATE UP,LFT:PRINT CHR$(201);STRING$(N*3+2,205);CHR$(187);
150 FOR J=1 TO N:LOCATE UP+J,LFT
160 PRINT CHR$(186);SPACE$(N*3+2);CHR$(186);:NEXT
170 LOCATE UP+N+1,LFT
180 PRINT CHR$(200);STRING$(N*3+2,205);CHR$(188);
190 GEN=0:FOR I=0 TO N+1:FOR J=0 TO N+1
200 A(I,J)=INT(RND*2):NEXT:NEXT:GOSUB 320:WIJZ=9999
210 FOR I=1 TO N2:V(I)=I:NEXT
220 FOR I=1 TO N2:SWAP V(I),V(INT(RND*N2+1)):NEXT
230 WIJZOUD=WIJZ:WIJZ=0
240 FOR I=1 TO N2
250 Y=(V(I)-1)\N+1:X=(V(I)-1) MOD N+1
260 SOM=A(X-1,Y)+A(X+1,Y)+A(X,Y-1)+A(X,Y+1)
270 IF (SOM>2) AND (A(X,Y)=1) THEN A(X,Y)=0:WIJZ=WIJZ+1
280 IF (SOM<2) AND (A(X,Y)=0) THEN A(X,Y)=1:WIJZ=WIJZ+1
290 IF (SOM=2) THEN A(X,Y)=1-A(X,Y):WIJZ=WIJZ+1
300 NEXT:GOSUB 320:IF WIJZ>1 AND GEN<50 THEN 230
310 LOCATE 23,1:BEEP
315 WHILE INKEY$="":WEND:END
320 FOR J=1 TO N:FOR I=1 TO N:LOCATE UP+J,LFT-1+I*3
330 PRINT STRING$(3,32+187*A(I,J));
340 NEXT:NEXT:LOCATE 1,1:PRINT "GEN:":LOCATE 2,1:PRINT GEN
350 GEN=GEN+1:LOCATE 4,1:PRINT "WIJZ:":LOCATE 5,1:PRINT WIJZ
360 RETURN