Evolution 1 begins with the amoeba stage, in which the player controls the movement of a tiny amoeba which must wander round the screen eating spores whilst avoiding attack from other single celled creatures.
In the second program in this suite the player is transformed into a frog which has to dodge from side to side avoiding capture by birds whilst zapping the required number of airborne flies within its tongue. There is no fairy princess as a reward for this one but instant promotion into the form of a beaver in the third program, in which you must swim around and capture ten fish whilst avoiding contact with a vicious crab.
1 REM *** BBC VERSION *** 2 REM *** EVOLUTION 1 *** 10 *FX4 1 20 *FX11 30 MODE7:PRINT'CHR$141;CHR$&84;CHR$157;CHR $&83" Evolution. "CHR$1 56'CHR$141;CHR$&84;CHR$157;CHR$&83" Evolution. "CHR$156 40 PRINT'''CHR$141;CHR$&82"This Semi-scien tific series of"'CHR$141;CHR$&82"This Semi-sc ientific series of"'CHR$141;CHR$&82"routines gives you the chance to"'CHR$141;CHR$&82"rout ines gives you the chance to" 50 PRINTCHR$141;CHR$&82"evolve from an amo eba to a human,based"CHR$141;CHR$&82"evolve f rom an amoeba to a human,based"CHR$141;CHR$&8 2"on the theory that only the strongest"'CHR$ 141;CHR$&82"on the theory that only the stron gest" 60 PRINTCHR$141;CHR$&82"survive."'CHR$141; CHR$&82"survive." 70 PRINTTAB(0,20)CHR$&84;CHR$157;CHR$&87" Press Space to continue. "CHR$156 80 REPEATUNTILGET=32:MODE7:PRINT'CHR$141;C HR$&84;CHR$157;CHR$&83" Evolution 1. "CHR$156'CHR$141;CHR$&84;CHR$157; CHR$&83" Evolution 1. "CH R$156 90 PRINT''CHR$&86"This program progresses from amoeba to"'CHR$&86"frog to beaver."''CHR $&86"The next program progresses from"'CHR$&8 6"gorilla to caveman"''CHR$&86"The final prog ram of this trio involves"CHR$&86"the final s tage of evolution -" 100 PRINTCHR$&86"MAN and his technology"''' CHR$&83"The intention is that you should try" 'CHR$&83"the stages in the correct order but" 'CHR$&83"after each stage you are given a men u"'CHR$&83"of options." 110 PRINTTAB(0,22)CHR$&84;CHR$157;CHR$&87" Press Space to continue. "CHR$156:RE PEAT:UNTILGET=32 120 A=0:RESTORE:FORI=224 TO 227:VDU23,I:FOR F=0TO7:READG:VDUG:NEXT, 130 DATA120,132,180,178,129,153,85,51,0,2 4,36,90,90,36,24,0,0,73,42,28,127,28,42,73,0, 60,66,145,133,145,66,60 140 MODE4:PRINT''''"The first stage is as an amoeba ( "CHR$224" )."''"You have to eat 5 spores ( "CHR$227" ) while"''"avoiding "CHR $225" and "CHR$226"." 150 PRINT'''"This is also a battle agains t time,for"''"when the clock at the top of th e screen"''"reaches zero,you will have starve d,"''"because you did not eat the spores in"' '"time." 160 PRINT'''"Move about in the water usin g the cursor"'"keys." 170 COLOUR0:COLOUR129:PRINTTAB(0,30)"Pres s Space to start stage 1.":REPEATUNTILGET=32 180 MODE5:VDU19;4;0; 190 AY=15:AX=14:DIMY(6),X(6):A$=CHR$225+C HR$225+CHR$226+CHR$226+CHR$227+CHR$227 200 T=250:SC=0 210 FORF=1TO6:Y(F)=RND(30):X(F)=RND(20)-1 :COLOUR((F-1) DIV2)+1:PRINTTAB(X(F),Y(F))MID$ (A$,F,1):NEXTF 220 COLOUR3:PRINTTAB(AX,AY)CHR$224 230 FORF=1TO5STEP2:FORI=F TOF+1 240 PRINTTAB(X(I),Y(I))" ":Y(I)=Y(I)+ RND(2)-RND(2):X(I)=X(I)+RND(2)-RND(2) 250 IFF<5 Y(I)=Y(I)-(Y(I)<AY)+(Y(I)>A Y):X(I)=X(I)-(X(I)<AX)+(X(I)>AX):IFX(I)=AX AN D Y(I)=AY GOTO420 260 IFY(I)<4 ORY(I)>28 Y(I)=20 270 IFX(I)<0 ORX(I)>19 X(I)=9 280 COLOUR((F-1) DIV2)+1:PRINTTAB(X(I ),Y(I))MID$(A$,I,1) 290 PRINTTAB(AX,AY)" " 300 AY=AY-(INKEY(-42) ANDAY<28)+(INKE Y(-58) ANDAY>4) 310 AX=AX-(INKEY(-122) ANDAX<19)+(INK EY(-26) ANDAX>0) 320 T=T-1:PRINTTAB(8,0);T" ":IFT=0 G OTO360 330 IFFNAT(AX,AY)<>32 GOTO360 340 COLOUR3:PRINTTAB(AX,AY)CHR$224 350 NEXTI,F:GOTO230 360 IFFNAT(AX,AY)<131 GOTO420 370 FORJ=1TO16:SOUND1,-15,J*16-1,1:NEXT :FORJ=5TO6 380 IFAY=Y(J) AND AX=X(J) WH=J 390 NEXTJ:Y(WH)=RND(30):X(WH)=RND(20)-1 :COLOUR((WH-1) DIV2)+1:PRINTTAB(X(WH),Y(WH))M ID$(A$,WH,1) 400 SC=SC+1:IFSC<5 GOTO340 410 MODE7:PRINTTAB(0,10)CHR$&85"Well do ne,you survived the first stage"'CHR$&85"as a n amoeba.":GOTO920 420 FORF=16TO1STEP-1:SOUND1,-15,F*16-1, 1:NEXT:MODE7:PRINTTAB(0,10)CHR$&81"Bad luck,y ou failed in the first stage"'CHR$&81"of evol ution.":GOTO920 430 MODE7:PRINT'''CHR$&85"In this stage of evoltuion,you have to"'CHR$&85"catch flie s on your tongue,whilst"'CHR$&85"avoiding the birds which swoop down"'CHR$&85"to try to ca pture their prey - YOU" 440 PRINT'''CHR$&82"Use the cursor keys to move left and"'CHR$&82"right,and press th e Space bar to stick"'CHR$&82"your tongue out ."'''CHR$&83"You will only survive this stage if you"CHR$&83"can eat ten flies without fal ling prey" 450 PRINTCHR$&83"to the birds."TAB(0,22 );CHR$136;CHR$&81" Press Space to start. ":REPEATUNTILGET=32 460 RESTORE470:FORI=224TO230:VDU23,I:FO RF=0TO7:READG:VDUG:NEXTF,I 470 DATA28,34,78,79,56,32,64,48,56,68 ,114,242,28,4,2,12,15,48,64,92,88,84,82,249,2 40,12,2,58,26,42,74,159 480 DATA0,0,0,34,85,63,24,0,0,0,0,63, 127,143,1,15,31,124,240,192,224,255,0,0 490 X=9:Y(1)=RND(6)+12:X(1)=0:Y(2)=0: X(2)=18:Y(3)=0:X(3)=18:F=0 500 MODE5:VDU19,1,2;0;:GCOL0,2:MOVE0, 319:DRAW1279,319:COLOUR1 510 PRINTTAB(X,19)" "CHR$224;CHR$225" "TAB(X,20)" "CHR$226;CHR$227" ":COLOUR2:PRIN TTAB(X(1),Y(1))CHR$228;TAB(X(3),Y(3))" ":COL OUR3:PRINTTAB(X(2),Y(2))CHR$229;CHR$230:COLOU R1 520 Y(3)=Y(2):X(3)=X(2) 530 IFINKEY(-99)GOSUB610 540 IFFNAT(X+1,18)=133 GOTO660 550 IFY(2)=18 PRINTTAB(X(2),Y(2))" " :Y(2)=0:X(2)=X+9:IFX(2)>18 X(2)=18 560 IFX(1)>17 PRINTTAB(X(1),Y(1))" ": X(1)=0:Y(1)=RND(6)+12 570 PRINTTAB(X(1),Y(1))" "TAB(X(2),Y( 2))" " 580 Y(2)=Y(2)+1:X(2)=X(2)-(X(2)<X+1)+ (X(2)>X+1):Y(1)=Y(1)+RND(3)-2:X(1)=X(1)+RND(2 ):IFY(1)>20 Y(1)=14 590 X=X+(INKEY(-26) ANDX>0)-(INKEY(-1 22) AND X<17) 600 GOTO510 610 GCOL3,3:MOVEX*64+128,387:PLOT1,0, 200 620 PLOT1,0,-200 630 IFX(1)=X+2 AND Y(1)>12 F=F+1:PRIN TTAB(X(1),Y(1))" ":X(1)=0:Y(1)=RND(6)+12:SOUN D&11,-15,0,2:SOUND1,-15,3,2:SOUND1,-15,7,1 640 IFF<10 RETURN 650 MODE7:PRINT'''''CHR$&85"Well done ,you consumed ten flies and"'CHR$&85"can now evolve to the next stage.":GOTO920 660 MODE7:PRINT'''''CHR$&81"Bad luck, you have been eaten alive and"'CHR$&81"can ev olve no further.":FORF=100TO80STEP-1:SOUND1,- 15,F,1:NEXT:GOTO920 670 MODE7:PRINT'''CHR$&86"You have no w evolved into a beaver."''CHR$&83"In this st age you must eat ten fish"'CHR$&83"and avoid being eaten by the"'CHR$&83"patrolling crab" 680 PRINT''CHR$&82"Move around using the cursor keys" 690 PRINTTAB(0,22)CHR$136;CHR$&81" Press Space to start.":REPEATUNTILGET=32 700 RESTORE710:FORI=224TO230:VDU23,I: FORF=0TO7:READG:VDUG:NEXTF,I 710 DATA0,0,15,16,224,159,8,12,0,32 ,220,10,1,254,16,24,0,4,59,80,128,127,8,24,0, 0,240,8,7,249,16,8 720 DATA0,0,8,61,191,255,255,255,12 ,30,186,255,255,190,30,17,195,60,255,126,235, 66,165,165 730 MODE2:COLOUR132:PRINTTAB(0,30)S TRING$(20,CHR$228); 740 PRINTTAB(0,5)STRING$(250," ")ST RING$(250," ") 750 Y=29:X=9:Y1=Y:X1=X:F=5:G=0:F1=F :G1=G:W=0 760 A$=CHR$224+CHR$225:Z=0:COLOUR12 8:PRINTTAB(9,0);Z:COLOUR132 770 IFRND(1)>.95 COLOURRND(4)*2-1:P RINTTAB(RND(20)-1,RND(24)+5)CHR$229 780 IFFNAT(X,Y)=133 SOUND1,-15,0,3: Z=Z+1:COLOUR128:PRINTTAB(9,0);Z:COLOUR132:IFZ =10 FORF=80TO100:SOUND1,-15,F,1:NEXT:GOTO900 790 IFW=8 PRINTTAB(X1-1,Y1)" " ELS E PRINTTAB(X1,Y1)" " 800 PRINTTAB(G1,F1)" ":COLOUR5:PRIN TTAB(X,Y)A$:COLOUR3:PRINTTAB(G,F)CHR$230 810 Y1=Y:X1=X:F1=F:G1=G:W=ASC(A$) 820 IFF=Y IFG=X OR G=X+1 FORF=100TO 80STEP-1:SOUND1,-15,F,1:NEXT:GOTO910 830 IFINKEY(-122) A$=CHR$8+CHR$224+ CHR$225:X=X-(X<18) 840 IFINKEY(-26) A$=CHR$226+CHR$227 :X=X+(X>1) 850 Y=Y-(INKEY(-42) ANDY<29)+(INKEY (-58) AND Y>5) 860 F=F+RND(3)-2-(F<Y)/2+(F>Y)/2:G= G+.5 870 IFF<5 F=5 ELSEIFF>29 F=29 880 IFG=19 G=0 890 GOTO770 900 MODE7:PRINT'''''CHR$&85"Well do ne,you survived as a beaver and"'CHR$&85"you can now continue to the next stage"'CHR$&85"i f you wish.":GOTO920 910 MODE7:PRINT'''''CHR$&81"Bad luc k,you can evolve no further"'CHR$&81"because you have been killed by the"'CHR$&81"patrolli ng crab." 920 FORI=0TO4000:NEXT:CLS:PRINT''CH R$&83"Options:-":*FX15 930 PRINT''CHR$&82"1.....Amoeba sta ge."'CHR$&82"2.....Frog stage"'CHR$&82"3..... Beaver stage"'CHR$&82"4.....Load stages 4 and 5"'CHR$&82"5.....Exit from program" 940 PRINT'''''CHR$&86"Select option (1-6) " 950 A=GET-48:IFA<0 OR A>5 VDU7:GOTO 950 960 IFA=5 END 970 IFA=4 CHAIN"EVOLUT2" 980 IFA=1 CLEAR:GOTO140 ELSEON A GO TO140,430,670 990 DEFFNAT(X,Y) 1000 VDU31,X,Y:A%=135 1010 A%=USR&FFF4 AND&FFFF 1020 =A%DIV256