ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.6 KiB

  1. 2 PRINT TAB(34);"LIFE"
  2. 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
  3. 6 PRINT: PRINT: PRINT
  4. 8 PRINT "ENTER YOUR PATTERN:"
  5. 9 X1=1: Y1=1: X2=24: Y2=70
  6. 10 DIM A(24,70),B$(24)
  7. 20 C=1
  8. 30 INPUT B$(C)
  9. 40 IF B$(C)="DONE" THEN B$(C)="": GOTO 80
  10. 50 IF LEFT$(B$(C),1)="." THEN B$(C)=" "+RIGHT$(B$(C),LEN(B$(C))-1)
  11. 60 C=C+1
  12. 70 GOTO 30
  13. 80 C=C-1: L=0
  14. 90 FOR X=1 TO C-1
  15. 100 IF LEN(B$(X))>L THEN L=LEN(B$(X))
  16. 110 NEXT X
  17. 120 X1=11-C/2
  18. 130 Y1=33-L/2
  19. 140 FOR X=1 TO C
  20. 150 FOR Y=1 TO LEN(B$(X))
  21. 160 IF MID$(B$(X),Y,1)<>" " THEN A(X1+X,Y1+Y)=1:P=P+1
  22. 170 NEXT Y
  23. 180 NEXT X
  24. 200 PRINT:PRINT:PRINT
  25. 210 PRINT "GENERATION:";G,"POPULATION:";P;: IF I9 THEN PRINT "INVALID!";
  26. 215 X3=24:Y3=70:X4=1: Y4=1: P=0
  27. 220 G=G+1
  28. 225 FOR X=1 TO X1-1: PRINT: NEXT X
  29. 230 FOR X=X1 TO X2
  30. 240 PRINT
  31. 250 FOR Y=Y1 TO Y2
  32. 253 IF A(X,Y)=2 THEN A(X,Y)=0:GOTO 270
  33. 256 IF A(X,Y)=3 THEN A(X,Y)=1:GOTO 261
  34. 260 IF A(X,Y)<>1 THEN 270
  35. 261 PRINT TAB(Y);"*";
  36. 262 IF X<X3 THEN X3=X
  37. 264 IF X>X4 THEN X4=X
  38. 266 IF Y<Y3 THEN Y3=Y
  39. 268 IF Y>Y4 THEN Y4=Y
  40. 270 NEXT Y
  41. 290 NEXT X
  42. 295 FOR X=X2+1 TO 24: PRINT: NEXT X
  43. 299 X1=X3: X2=X4: Y1=Y3: Y2=Y4
  44. 301 IF X1<3 THEN X1=3:I9=-1
  45. 303 IF X2>22 THEN X2=22:I9=-1
  46. 305 IF Y1<3 THEN Y1=3:I9=-1
  47. 307 IF Y2>68 THEN Y2=68:I9=-1
  48. 309 P=0
  49. 500 FOR X=X1-1 TO X2+1
  50. 510 FOR Y=Y1-1 TO Y2+1
  51. 520 C=0
  52. 530 FOR I=X-1 TO X+1
  53. 540 FOR J=Y-1 TO Y+1
  54. 550 IF A(I,J)=1 OR A(I,J)=2 THEN C=C+1
  55. 560 NEXT J
  56. 570 NEXT I
  57. 580 IF A(X,Y)=0 THEN 610
  58. 590 IF C<3 OR C>4 THEN A(X,Y)=2: GOTO 600
  59. 595 P=P+1
  60. 600 GOTO 620
  61. 610 IF C=3 THEN A(X,Y)=3:P=P+1
  62. 620 NEXT Y
  63. 630 NEXT X
  64. 635 X1=X1-1:Y1=Y1-1:X2=X2+1:Y2=Y2+1
  65. 637 INPUT "PRESS RETURN TO CONTINUE";A12
  66. 640 GOTO 210
  67. 650 END