10  REM  TUTORIAL OF NATURAL SELECTION, BY RON HIPSCHMAN,
20  REM  REVISED BY BEN MENDELSOHN. 
40  IF  ERROR  THEN 1055
50  PRINT "   HELLO, I AM A NUMBER EATING MONSTER. I THRIVE ON ALL NUMBERS"
60  PRINT "EXCEPT EIGHTS"'7'7'7". UNFORTUNATELY I HAD AN ACCIDENT AND I AM NOW "
70  PRINT "BLIND. I WILL THEREFORE NEED SOME HELP IN FINDING MY FOOD."
80  PRINT "BELOW WILL BE PRINTED A FIELD FROM WHICH YOU WILL FIND ALL"
90  PRINT "OF THOSE DELICIOUS NUMBERS FOR ME."
100  PRINT "   TO TELL ME HOW TO FIND MY MEAL, JUST TYPE THE ROW NUMBER"
110  PRINT "WHEN I ASK YOU, AND THE COLUMN NUMBER WHEN I ASK YOU, AND I"
120  PRINT "WILL THEN BE ABLE TO FIND THE MORSEL OF FOOD YOU LOCATED FOR"
130  PRINT "ME. I THANK YOU FOR YOUR HELP."
140  T1=O2=8
150  DIM A$[72],X$[72],Y$[72]
160  GOSUB 1070
170  PRINT LIN(3);"     DINNER TIME"'7'7'7;LIN(1)
180  PRINT "SELECT NUMBERS WHICH LOOK GOOD TO EAT. REMEMBER NO EIGHTS"'7'7'7'7'7"."
190  PRINT 
200  P=0
210  O1=T=0
220  FOR N=1 TO 5
230  PRINT "NUMBER "N"ROW=?";
240  ENTER 255,B,X
250  IF X <= 10 THEN 280
260  PRINT LIN(1);"AW COME ON NOW. PICK A CORRECT ROW NUMBER."
270  GOTO 230
280  PRINT "                     COLUMN=?";
290  ENTER 255,B,Y$
300  GOSUB 1350
310  IF C=0 THEN 290
320  IF A[X,Y]#8 THEN 350
330  PRINT LIN(1);"ECCHHH.....PTOOOOEY THAT WAS AN E"'7"I"'7"G"'7"H"'7"T"'7"!! TRY AGAIN."
340  GOTO 230
350  IF A[X,Y]#0 THEN 380
360  PRINT LIN(1);"NOTHING TO EAT AT THIS SPOT"'7'7'7'7". TRY AGAIN."
370  GOTO 230
380  READ A$
390  PRINT LIN(1);A$
400  DATA "MMMMMM....GOOD","DELIGHTFULL","VERY TASTY","LUSCIOUS","YUMMY..."
410  DATA "FANTASTIC","DELICIOUS","EXQUISITE","SCRUMPTIOUS","DELECTABLE"
420  GOTO A[X,Y] OF 440,490,470
430  GOTO 360
440  O1=O1+1
450  A[X,Y]=0
460  GOTO 490
470  T=T+1
480  A[X,Y]=0
490  NEXT N
500  IF P=1 THEN 530
510  O3=O1
520  T3=T
530  T1=2*(8-T)
540  O2=2*(8-O1)
550  IF P=1 THEN 640
560  PRINT LIN(1);"B"'7"U"'7"R"'7"R"'7"R"'7"R"'7"R"'7"R"'7"P"'7'7'7".......THAT WAS A GOOD MEAL."
570  PRINT LIN(2);"(THE NEXT MORNING.....)";LIN(2)
580  PRINT "GOOD MORNING. I THINK IT'S TIME FOR BREAKFAST."
590  PRINT "WOULD YOU PLEASE FIND ME FIVE  NUMBERS FOR BREAKFAST? NO EIGHTS"'7'7"."
600  GOSUB 1070
610  PRINT LIN(2);"O.K. LETS EAT.";LIN(1)
620  P=1
630  GOTO 210
640  PRINT LIN(2)
650  PRINT "NATURAL SELECTION IS THE PROCESS WHERE THE STRONGER OF"
660  PRINT "A SPECIES SURVIVES. IN SURVIVING IT CAN REPRODUCE AND ITS"
670  PRINT "OFFSPRING WILL PROBABLY HAVE THE SAME STRONG CHARACTERISTICS"
680  PRINT "THAT MADE ITS PARENT SURVIVE."
690  PRINT "   IN THE EXPERIMENT ABOVE YOU WERE THE PREDATOR EATING NUMBERS"
700  PRINT "THERE WERE ONLY ONES AND THREES (EATABLE) IN THE FIELD"
710  PRINT "AND BECAUSE THE THREES BLENDED IN WITH THE BACKGROUND OF"
720  PRINT "EIGHTS, YOU PROBABLY PICKED MOSTLY ONES. LETS TAKE A LOOK."
730  PRINT 
740  PRINT 
750  PRINT " THE FIRST MEAL YOU PICKED "O3"ONES AND "T3"THREES."
760  PRINT " THE SECOND MEAL YOU PICKED "O1"ONES AND "T"THREES."
770  PRINT 
780  PRINT " THE MORNING AFTER I ATE MY MEAL THE NUMBER OF ONES AND"
790  PRINT "THREES LEFT DOUBLED. LETS LOOK AT THE POPULATIONS."
800  PRINT 
810  PRINT " DAY    1'S    3'S  TOTAL"
820  PRINT " ---    ---    ---  -----"
830  PRINT "  1     8      8      16"
840  PRINT "  2    "(8-O3)*2;(8-T3)*2;(16-(O3+T3))*2
850  PRINT "  3    "((8-O3)*2-O1)*2;((8-T3)*2-T)*2;((8-O3)*2-O1)*2+((8-T3)*2-T)*2
860  PRINT 
870  PRINT "  NOTICE THAT I INCLUDED WHAT THE THIRD GENERATION POPULATION"
880  PRINT "WOULD HAVE LOOKED LIKE IF WE HAD GONE THAT FAR."
890  PRINT "THE GENERAL TREND IS FOR THE ONES TO DECREASE IN POPULATION"
900  PRINT "BECAUSE THEY HAD THE DISADVANTAGE OF NOT BLENDING IN WITH"
910  PRINT "THE BACKGROUND OF EIGHTS AS WELL AS THE THREES DO."
920  PRINT 
930  PRINT "  CHARLES DARWIN, THE MAN WHO DISCOVERED NATURAL SELECTION,"
940  PRINT "DESCRIBED IT LIKE THIS:"
950  PRINT 
960  PRINT "   ''THIS PRESERVATION OF FAVORABLE DIFFERENCES AND"
970  PRINT "     VARIATIONS, AND THE DESTRUCTION OF THOSE WHICH"
980  PRINT "     ARE INJURIOUS, I HAVE CALLED NATURAL SELECTION"
990  PRINT "     OR SURVIVAL OF THE FITTEST.''"
1000  PRINT 
1010  PRINT 
1020  PRINT " I HOPE YOU HAVE GAINED A FEELING FOR THE MEANING OF NATURAL"
1030  PRINT "SELECTION AND ITS ROLE IN EVOLUTION. ANY TIME"
1040  PRINT "YOU FEEL LIKE FEEDING ME, JUST RUN THIS PROGRAM AND I WILL"
1050  PRINT "BE HERE."'10"GOODBYE."
1055  CHAIN R,"*HELP"
1060  SYSTEM X,"BYE"
1070  DIM A[10,10]
1080  MAT A=CON
1090  MAT A=(8)*A
1100  FOR R1=1 TO T1
1110  GOSUB 1310
1115  IF A[X,Y]#8 THEN 1110
1120  A[X,Y]=3
1130  NEXT R1
1140  FOR R2=1 TO O2
1150  GOSUB 1310
1155  IF A[X,Y]#8 THEN 1150
1160  A[X,Y]=1
1170  NEXT R2
1180  PRINT LIN(3);"    COLUMN"
1190  PRINT "   / A B C D E F G H I J"
1200  PRINT "ROW/---------------------"
1210  FOR X=1 TO 10
1220  PRINT  USING 1230;X
1230  IMAGE #,DDX,"/ "
1240  FOR Y=1 TO 10
1250  PRINT  USING "#,DX";A[X,Y]
1260  NEXT Y
1270  PRINT 
1280  NEXT X
1290  RETURN 
1300  STOP 
1310  X=INT(5*RND(0)+3)
1320  Y=INT(5*RND(0)+3)
1330  RETURN 
1340  STOP 
1350  X$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
1360  FOR C=1 TO 10
1370  IF Y$[1,1]#X$[C,C] THEN 1400
1380  Y=C
1390  RETURN 
1400  NEXT C
1410  PRINT LIN(1);"AW, COME ON NOW PICK A CORRECT COLUMN LETTER."
1420  PRINT "NUMBER "N"ROW=?"X"COLUMN=?";
1430  C=0
1439  RETURN 
9999  END 
