1 REM *** BBC VERSION *** 2 REM *** EVOLUTION 3 *** 10 DATA 0,8,28,8,8,62,0,0,0,32,36,62,36,32 ,0,0,0,62,8,8,28,8,0,0,0,2,18,62,18,2,0,0 20 DATA128,128,128,128,128,128,128,255,128 ,128,128,156,156,128,128,255 30 DATA127,127,127,127,127,127,127,0 40 FORI=224TO230:VDU23,I:FORY=0TO7:READ X: VDUX:NEXT, 50 DATA LONDON,8,13,MOSCOW,5,24,BONN,7,1 7,WASHINGTON,8,3,BRASILIA,17,4,TOKYO,9,28,RIY ADH,12,17,CANBERRA,18,29,PEKING,9,25,PRETORIA ,17,14 60 MODE7:PRINT'CHR$141;CHR$&84;CHR$157;C HR$&83" Evolution "CHR $156'CHR$141;CHR$&84;CHR$157;CHR$&83" Evolution "CHR$156 70 PRINT'''CHR$&86"This is the 3rd and f inal section in"'CHR$&86"the series of evolut ion programs."''CHR$&85"This one involves a n uclear war,in"'CHR$&85"which you can play the part of P.M."'CHR$&85"of any of 10 superpowe rs which may" 80 PRINTCHR$&85"exist in the year 2002 ( the year in"'CHR$&85"which this war takes pla ce)." 90 PRINT'CHR$&83"The object is to progra m cruise"'CHR$&83"missiles to home in on the enemies'"'CHR$&83"capitals." 100 PRINTTAB(0,22)CHR$136;CHR$&81" Pres s Space to read further.":REPEATUNTILGET=32:C LS 110 PRINT''''CHR$&86"In 2002,the world is not very different"CHR$&86"from the previous 20 years,apart from"'CHR$&86"the existance o f new superpowers." 120 PRINT'CHR$&85"South America has been over-run by"'CHR$&85"Brazil and its capital i s Brasilia."''CHR$&83"Japan has become a powe rful nation,"'CHR$&83"and the Arabs have a fi ghting nation"'CHR$&83"based around Riyadh. A ustralia and" 130 PRINTCHR$&83"South Africa are also su perpowers." 140 PRINTTAB(0,20)CHR$&82"Enter a skill l evel (30-100)."'CHR$&82"30 is the hardest: "; 150 INPUTSK:IFSK<30 OR SK>100 GOTO140 160 CLS:PRINT''''CHR$&83"In which capital do you want to be"'CHR$&83"P.M. ? (type the first two characers"'CHR$&83"of the name.)":R ESTORE50 170 F$=" " 180 PRINT'':FORF=1TO10:READA$,Y,X:PRINTCH R$(&80+RND(7))" "A$:NEXT 190 INPUTA$:IFLEN(A$)<2 GOTO160 200 RESTORE50:FORF=1TO10:READB$,Y,X:IFLEF T$(B$,2)<>LEFT$(A$,2) NEXT:GOTO160 210 V=Y:U=X:E$=CHR$224:F$=LEFT$(F$,F-1)+" X"+RIGHT$(F$,LEN(F$)-F) 220 RESTORE50 230 I=RND(10):IFMID$(F$,I,1)<>"X" FORF=1T OI:READB$,Y2,X2:NEXT:GOTO250 240 GOTO230 250 SC=1:CLS:PRINT'''CHR$&86"The way to p rogram your missile is by"'CHR$&86"compass di rections (i.e. N,S,E and W)."'CHR$&86"The wor ld map is divided into squares"'CHR$&86"and e ach step of the program moves the"'CHR$&86"mi ssile one square." 260 F$=LEFT$(F$,I-1)+"X"+RIGHT$(F$,LEN(F$ )-I) 270 PRINT'CHR$&85"For example, ""NNEES"" moves the"'CHR$&85"missile 2 squares up,2 rig ht and 1 down"CHR$&85"If the missile goes off the map at"'CHR$&85"any side,it will appear on the opposite"CHR$&85"side." 280 PRINT'CHR$&81"The red square is your target."''CHR$&82"You must enter your program as quickly"'CHR$&82"as possible.When it is r eady,press 'F'"'CHR$&82"to fire your missile" 290 PRINTTAB(0,22)CHR$136;CHR$&85" P ress Space to start.":REPEATUNTILGET=32:GOSUB 860 300 COLOUR1:PRINTTAB(X2,Y2)CHR$230:COLOUR 0:COLOUR130:PRINTTAB(X,Y)CHR$229:COLOUR128:Y1 =Y2:X1=X2:D$=CHR$224 310 C$=STRING$(50," "):C=1 320 C$="":COLOUR1:PRINTTAB(0,21)"Enter pr ogram after the tone." 330 FORI=0TO2000+RND(2000):NEXT:PRINTTAB( 0,21)" ":SOUND1,- 15,10,4 340 C1=C 350 Q$=INKEY$(SK*2) 360 IFQ$="N" C$=C$+"N":C=C+1 370 IFQ$="S" C$=C$+"S":C=C+1 380 IFQ$="E" C$=C$+"E":C=C+1 390 IFQ$="W" C$=C$+"W":C=C+1 400 IFQ$="F" OR C=51 PRINTTAB(0,21)STRING $(32," "):VDU7:GOTO530 410 IFC1=C GOSUB450:GOTO340 420 COLOURRND(3):PRINTTAB(C MOD32,21)Q$ 430 IFC=32 PRINTTAB(0,21)STRING$(32," ") 440 SOUND1,-15,50,1:GOTO340 450 GCOL3,3:VDU5:MOVEX1*32,-Y1*32:PRINTD$ :VDU4:COLOUR1:PRINTTAB(X2,Y2)CHR$230 460 IFY1<Y Y1=Y1+1:D$=CHR$226 470 IFY1>Y Y1=Y1-1:D$=CHR$224 480 IFX1<X X1=X1+1:D$=CHR$225 490 IFX1>X X1=X1-1:D$=CHR$227 500 GCOL3,3:VDU5:MOVEX1*32,-Y1*32:PRINTD$ :VDU4 510 IFY1=Y AND X1=X GOTO720 520 RETURN 530 C=1 540 GCOL3,3:VDU5:MOVEU*32,-V*32:PRINTD$:V DU4 550 FORF=1TO3:VDU5:MOVEU*32,-V*32:PRINTE$ :VDU4 560 Q$=MID$(C$,C,1):V=V-(Q$="S")+(Q$="N "):U=U-(Q$="E")+(Q$="W") 570 IFQ$="S" E$=CHR$226 ELSEIFQ$="N" E$ =CHR$224 ELSEIFQ$="W" E$=CHR$227 ELSE E$=CHR$ 225 580 V=(V+20)MOD20 590 U=(U+32)MOD32 600 IFV=Y2 AND U=X2 F=39:GOTO650 610 VDU5:MOVEU*32,-V*32:PRINTE$:VDU4 620 C=C+1:IFC<51 Q$=MID$(C$,C,1):IFQ$<> "N" AND Q$<>"S" AND Q$<>"W" AND Q$<>"E" F=19 630 IFC=51 F=19 640 FORI=20TO30:SOUND1,-15,I+50,1:NEXT 650 NEXTF 660 IFF=20 GOTO690 ELSEIFF=40 GOTO730 670 GOSUB450 680 GOTO550 690 VDU5:MOVEU*32,-V*32:PRINTE$:VDU4 700 C=1:V=Y:U=X 710 GOTO320 720 FORI=0TO20:VDU19;I;0;:SOUND0,-15,3+RN D(3),1:NEXT:VDU19;0;0;:MODE7:PRINT''''CHR$&81 "You have been destroyed.":GOTO830 730 FORI=0TO20:VDU19;I;0;:SOUND0,-15,3+RN D(3),1:NEXT:VDU19;0;0; 740 IFSC=9 I=5:GOTO760 750 I=RND(10):IFMID$(F$,I,1)="X" GOTO750 760 SC=SC+1:F$=LEFT$(F$,I-1)+"X"+RIGHT$(F $,LEN(F$)-I):COLOUR7:PRINTTAB(0,21)B$" has be en destroyed.":FORF=0TO2000:NEXT 770 IFSC=10 GOTO820 780 VDU5:MOVEX1*32,-Y1*32:PRINTD$:VDU4:CO LOUR3:PRINTTAB(X2,Y2)CHR$230 790 C=1:C$="":V=Y:U=X:RESTORE50:FORF=1TOI :READB$,Y2,X2:NEXT:COLOUR1:PRINTTAB(X2,Y2)CHR $230:Y1=Y2:X1=X2 800 PRINTTAB(31,21)" " 810 GOTO320 820 MODE7:PRINT'''CHR$&86"Congratulations ,you now rule the whole"'CHR$&86"world (well what's left of it after"'CHR$&86"your nukes' work!)" 830 PRINTTAB(0,10)CHR$&82"Want another go ? (Y/N). "; 840 A=GET:VDU127,A:IFA=89 CLS:PRINTTAB(0, 20):GOTO140 ELSEIFA<>78 GOTO840 850 END 860 MODE1:VDU28,4,27,35,4:RESTORE880:COLO UR2:VDU19,2,5;0;:GCOL0,2 870 FORF=0TO3:READA$:FORI=1TOLEN(A$):PRIN TCHR$(ASC(MID$(A$,I,1))+127);:NEXT, 880 DATA eeeeeegggggeeeeeeeeegggegeeeee eeeeeeeegggggeeeeeeeggggggggggeeeeeeeeeeeggge eeeeggggggggggggggggggeggeeeegeeeeegggggggggg gggggggggeggeeeeeeegeeeegggggggggggggeeeggggg eeeeeeeeeeegggggggggggggeee 890 DATAggggggeeeeeeeeeggggggggggggggee eggggggeeeeeegeegggggggggggggggeeggggeeeeeeee egeggggggggggggeeeeegggeeeeeeeeeeeggggggggggg ggegeeegggeeeeeeeeegggggggggggggggegeeegegeee eeeeeeggeggggggggeeeeeeeeegeeeeeeeeeeeeeeegge eggeegeeegeeeggeeee 900 DATAeeeeegggggegeeegeeeegeegee 910 DATAeggggeeeeegggggggeeeeeeeeeeeeee eeeggggeeeeeggggggeeeeeeeeegegeeeegggggeeeeee eggggeeeeeeeggggggeeeeggggeeeeeeegggegeeeeegg ggggggeeeeggeeeeeeeegggeeeeeeeeggggggeeeeegge eeeeeeeegeeeeeeeeegeeeggeeeeegeeeeeeeeeeeeeee eeeeeeeeeeeee 920 MOVE1150,225:DRAW1150,896:DRAW128,8 96:DRAW128,225:VDU29,128;892; 930 RESTORE50:FORF=1TO10:READA$,B,A:PRI NTTAB(A,B)CHR$229:NEXT 940 RETURN