home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / gam / life1.ba < prev    next >
Text File  |  2006-10-19  |  2KB  |  44 lines

  1. 0 'LIFE.BA  John Mifsud 
  2. 1 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 2 '12/16/83.  Modified version of Life from Creative Computing.
  4. 3 'Instructions are in LI-DOC.DO
  5. 4 CLEAR:CLS:PRINT@(18),"LIFE.100":PRINT:I9=2:INPUT"Want a printout";J$:IFLEFT$(J$,1)="y"ORLEFT$(J$,1)="Y"THENX9=1ELSEX9=0
  6. 5 X1=1:Y1=1:X2=24:Y2=70:DIMA(24,70),B$(24):C=1:PRINT:PRINTTAB(10);"Enter d or D when finished."
  7. 6 PRINT:PRINT"Enter your Configuration"
  8. 7 LINEINPUT"?";B$(C):IFLEFT$(B$(C),1)="D"ORLEFT$(B$(C),1)="d"THENB$(C)="":GOTO9
  9. 8 C=C+1:GOTO7
  10. 9 C=C-1:L=0:FORX=1TOC-1:IFLEN(B$(X))>LTHENL=LEN(B$(X))
  11. 10 NEXTX:X1=11-C/2:Y1=33-L/2:FORX=1TOC:FORY=1TOLEN(B$(X)):IFMID$(B$(X),Y,1)<>" "THENA(X1+X,Y1+Y)=1:P=P+1
  12. 11 NEXTY:NEXTX:GOSUB31
  13. 12 GOSUB34:IFP=0THENGOSUB40
  14. 13 X3=24:Y3=70:X4=1:Y4=1:P=0:G=G+1:FORX=1TOX1-1:GOSUB31:NEXTX:FORX=X1TOX2:GOSUB31:FORY=Y1TOY2:IFA(X,Y)=2THENA(X,Y)=0:GOTO20
  15. 14 IFA(X,Y)=3THENA(X,Y)=1:GOTO16
  16. 15 IFA(X,Y)<>1THEN20
  17. 16 GOSUB37:IFX<X3THENX3=X
  18. 17 IFX>X4THENX4=X
  19. 18 IFY<Y3THENY3=Y
  20. 19 IFY>Y4THENY4=Y
  21. 20 NEXTY:NEXTX:FORX=X2+1TO24:GOSUB31:NEXTX:X1=X3:X2=X4:Y1=Y3:Y2=Y4:IFX1<3THENX1=3:I9=-1
  22. 21 IFX2>22THENX2=22:I9=-1
  23. 22 IFY1<3THENY1=3:I9=-1
  24. 23 IFY2>68THENY2=68:I9=-1
  25. 24 P=0:FORX=X1-1TOX2+1:FORY=Y1-1TOY2+1:C=0:FORI=X-1TOX+1:FORJ=Y-1TOY+1:IFA(I,J)=1ORA(I,J)=2THENC=C+1
  26. 25 NEXTJ:NEXTI:IFA(X,Y)=0THEN29
  27. 26 IFC<3ORC>4THENA(X,Y)=2:GOTO28
  28. 27 P=P+1
  29. 28 GOTO30
  30. 29 IFC=3THENA(X,Y)=3:P=P+1
  31. 30 NEXTY:NEXTX:X1=X1-1:Y1=Y1-1:X2=X2+1:Y2=Y2+1:GOTO12:END
  32. 31 'print
  33. 32 PRINT:IFX9=1THENLPRINT
  34. 33 RETURN
  35. 34 'update report
  36. 35 PRINT"Generation:";G,"Population:";P;:IFX9=1THENLPRINT"Generation:";G,"Population:";P;
  37. 36 RETURN
  38. 37 'print *
  39. 38 PRINTTAB(Y-16);"*";:IFX9=1THENLPRINTTAB(Y);"*";
  40. 39 RETURN
  41. 40 'dead population
  42. 41 PRINT:PRINT"Colony Termination in";G;"Generations.":SOUND1000,20:SOUND16000,25:IFX9=0THENEND
  43. 42 LPRINT:LPRINTTAB(20),"Colony Termination in";G;"Generations.":END
  44.