Evolution 3


Evolution 3 is the logical culmination of survival conditioning. As the leader of the superpower of your choice you must destroy your enemy's capitals with cruise missiles before you are destroyed by one of their ICBM's. To do this you have a very short time to pre-program the flight of your missile with a series of direction codes as the enemy's missile moves towards your capital. The screen features a map of the world on which the missile courses are plotted.

    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