8-Bit Software Online Conversion
:2.$.SUPREM2 - Listing
0*KEY0
10DIMX%(24),Y%(24),S1%(4),S2%(4),D1%(
4),D2%(4),V(24),W(24),V$(14),PR(14),QTY(
14),V%(14,9),CAR$(14),CAR(14),CQT(14),ST
$(7),CON$(2),E$(4),PE%(4),EQUIP%(5),MP$(
15):ENVELOPE1,1,-10,10,100,200,10,200,12
0,-100,-4,-1,120,127
20I=0:FORF=0TO PI/2STEP PI/48:X%(I)=1
0*COSF:Y%(I)=10*SINF:I=I+1:NEXT:I=0:FORF
=0TO2*PI STEP2*PI/24:V(I)=COSF:W(I)=SINF
:I=I+1:NEXT
30MODE4:VDU29,640;512;:PROCsetup:VDU2
4,-636;-352;634;506;:GOTO1200
40GOSUB1250:ACT%=6:OBJ%=1:A%=RND(600)
-RND(600):B%=RND(400)-RND(400):S%=23:GEM
%=0:G%=1
50F%=0:PROCvi:Q%=Q%DIV15:REPEAT:X1%=X
%(F%)*G%:Y1%=Y%(F%)*G%
60MOVEA%+X1%,B%+Y1%:DRAWA%+Y1%,B%-X1%
:DRAWA%-X1%,B%-Y1%:DRAWA%-Y1%,B%+X1%:DRA
WA%+X1%,B%+Y1%:PROCskud:MOVEA%+X1%,B%+Y1
%:DRAWA%+Y1%,B%-X1%:DRAWA%-X1%,B%-Y1%:DR
AWA%-Y1%,B%+X1%:DRAWA%+X1%,B%+Y1%
70PROCcom:PROCtast:IFF%/S%=INT(F%/S%)
G%=G%+1
80IFG%>40GEM%=F%+1:F%=25
90F%=F%+1:UNTIL(F%>24OR G%>40):IFGEM%
GOTO380
100G%=G%+1:GOTO50
110DEFPROCtast:IFINKEY-119PROCstatus:A
=GET:PROCfront
120IFINKEY-99AND S%>1AND OBJ%=1S%=S%-1
130IFINKEY-83C%=C%EOR1:IFC%AND EQUIP%(
3)PRINTTAB(33,30);"ON "ELSEIFC%=0AND EQU
IP%(3)PRINTTAB(33,30);"OFF"
140IFINKEY-105AND S%<23S%=S%+1
150IFINKEY-88THEN*FX210,0
160IFINKEY-73THEN*FX210,1
170PRINTTAB(14,29);24-S%;" ";TAB(14,30
);(73+33*(OBJ%=1))-G%;" "
180IFINKEY-82B%=B%+32
190IFINKEY-67B%=B%-32
200IFINKEY-104AND F%<23F%=F%+2
210IFINKEY-103AND F%>1F%=F%-2ELSEIFINK
EY-103AND F%<=1F%=23
220IFINKEY-103PROCanti
230IFINKEY-104PROCclock
240IFB%>1000B%=-1000ELSEIFB%<-1000B%=1
000
250IFEN%<500:EN%=EN%+2
260PRINTTAB(33,29);EN%;" ":ENDPROC
270DEFPROCsetup:RESTORE1730:FORF%=0TO1
4:READV$(F%):NEXT
280FORF%=0TO14:FORG%=0TO9:READV%(F%,G%
):NEXT,:FORF%=0TO7:READST$(F%):NEXT:FORF
%=0TO4:READE$(F%),PE%(F%):NEXT:FORF%=1TO
15:READMP$(F%):NEXT:CON$(0)="In space":C
ON$(1)="On planet":CON$(2)="Alert"
290GCOL4,1:VDU23,1,0;0;0;0;:PROCfront
300MOVE-640,-356:DRAW639,-356:DRAW639,
511:DRAW-640,511:DRAW-640,-356:MOVE-640,
-512:DRAW639,-512:DRAW639,-364:DRAW-640,
-364:DRAW-640,-512
310PRINTTAB(1,29);"ACTUAL SPEED: MI
PS ENERGY: ";TAB(1,30);"DISTANCE
YET: CHPS CMPTR: ":ENDPROC
320DEFPROCskud:IFNOTINKEY-66ENDPROC
330*FX15,0
340MOVE-636,-360:DRAW0,0:MOVE636,-360:
DRAW0,0:SOUND1,1,1,10:SOUND2,1,50,10:MOV
E-636,-360:DRAW0,0:MOVE636,-360:DRAW0,0:
IFOBJ%=1L%=G%*10ELSEL%=G%*3
350IFNOT(A%<L%AND A%>-L%AND B%>-L%AND
B%<L%)GOTO370
360PROCex:IFOBJ%=1ACT%=2:PRINTTAB(4,25
);"PLANETS DEFENCESHIELDS ACTIVATED!"ELS
EIFOBJ%=2:E%=E%-9-4*EQUIP%(4)
370ENDPROC
380IFACT%=2GOSUB540:GOTO1200ELSEIF(A%<
(100+C%*EQUIP%(3)*100)AND A%>(-100-C%*EQ
UIP%(3)*100)AND B%>(-100-C%*EQUIP%(3)*10
0)AND B%<(100+C%*EQUIP%(3)*100)AND GEM%>
=10AND GEM%<=14)PROCdocking:CON=1ELSEGOS
UB540:GOTO1200
390GOTO780
400CLS:VDU29,0;0;24,0;0;1279;1023;:GOT
O50
410DEFPROCvi:L%=SQR(A%*A%+B%*B%):IF(A%
=0AND B%>0)Q%=90:ENDPROC ELSEIF(B%<=0 AN
D A%=0)Q%=270:ENDPROC
420Q%=DEG ATN(B%/A%):IF(A%<0 AND B%>=0
)Q%=180+Q%ELSEIF(A%<0AND B%<0)Q%=180+Q%E
LSEIF(A%>0AND B%<0)Q%=360+Q%
430ENDPROC
440DEFPROCclock:PROCvi:Q%=(Q%DIV15)+1:
IFQ%>23Q%=0
450A%=L%*V(Q%):B%=L%*W(Q%):ENDPROC
460DEFPROCanti:PROCvi:Q%=(Q%DIV15)-1:I
FQ%<0Q%=23
470A%=L%*V(Q%):B%=L%*W(Q%):ENDPROC
480DEFPROCdocking:CLG:SOUND0,3,5,10
490FORF%=0TO800STEP64:MOVEF%DIV2,100+F
%DIV2:PLOT1,0,-F%:PLOT1,-F%,0:PLOT1,0,F%
:PLOT1,F%,0:NEXT:FORF%=0TO760STEP64:MOVE
F%,100+F%DIV2:PLOT1,0,-F%:PLOT1,-F%*2,0:
PLOT1,0,F%:PLOT1,F%*2,0:NEXT:EN%=500
500FORF%=0TO14:PR(F%)=V%(F%,TECH):QTY(
F%)=INT(.1*V%(F%,TECH)):PR(F%)=INT(PR(F%
)+RND(QTY(F%))-RND(QTY(F%))):IFPR(F%)<=0
PR(F%)=RND(10)
510NEXT:IFCST=7PROCmission
520CLG:ENDPROC
530DEFPROCex:VDU5:MOVE-32,32:PRINTCHR$
240;CHR$241:MOVE-32,0:PRINTCHR$242;CHR$2
43;:SOUND0,4,ACT%,10:MOVE-32,32:PRINTCHR
$240;CHR$241:MOVE-32,0:PRINTCHR$242;CHR$
243;:VDU4,23,1,0;0;0;0;:ENDPROC
540RESTORE1940:FORF%=1TO5:READA$:Q=(40
-LENA$)DIV2-1:VDU19,1,1;0;:PRINTTAB(1,25
);SPCQ;A$;SPCQ:SOUND0,4,6,3:TIME=0:REPEA
TUNTILTIME>50:VDU19,1,7;0;:NEXT:RETURN
550DEFPROChyper:FORG%=1TO640STEP50:MOV
EG%*V(0),G%*W(0):FORF%=0TO24STEP4:DRAWG%
*V(F%),G%*W(F%):NEXT:NEXT:ENDPROC
560DEFPROCbuy:CLG:PRINTTAB(15,1);"BUY
CARGO":MOVE-640,440:PLOT1,1280,0:PRINTTA
B(1,4);"Item for sale Price Qty fo
r sale":*FX15,0
570FORF%=0TO14:PRINTTAB(1,6+F%);V$(F%)
;TAB(18,6+F%);PR(F%);" CR";TAB(27,6+F%);
QTY(F%);"t":IFQTY(F%)=0GOTO620
580PRINTTAB(1,25);"Quantity of ";V$(F%
);" ";:INPUTQT%:PRINTTAB(1,25);SPC38:IFQ
T%>QTY(F%)OR QT%<0SOUND1,-10,1,3:PRINTTA
B(1,25);"Too large quantity!":PROCwait:P
RINTTAB(1,25);SPC38:GOTO580
590IFCASH<QT%*PR(F%)SOUND1,-10,10,3:PR
INTTAB(1,25);"Sorry, no cash!":PROCwait:
PRINTTAB(1,25);SPC38:GOTO580
600IFCARGO%+QT%>10PRINTTAB(1,25);"No r
oom for cargo!":SOUND1,-10,1,3:TIME=0:RE
PEATUNTILTIME>50:PRINTTAB(1,25);SPC38:GO
TO580
610IFQT%CASH=CASH-QT%*PR(F%):CARGO%=CA
RGO%+QT%:CAR$(F%)=V$(F%):CAR(F%)=F%:CQT(
F%)=CQT(F%)+QT%:QTY(F%)=QTY(F%)-QT%:SOUN
D1,-10,200,3:PRINTTAB(1,25);"Cash: ";CAS
H;" CR":PROCwait:PRINTTAB(1,25);SPC38
620NEXT:PROCstatus:ENDPROC
630DEFPROCsell:CLG:PRINTTAB(15,1);"SEL
L CARGO":MOVE-640,440:PLOT1,1280,0:LIN=6
:*FX15,0
640*FX202,32
650FORF%=0TO14:IFCAR$(F%)=""GOTO670ELS
EPRINTTAB(7,LIN);"Sell ";V$(F%)"?";:LIN=
LIN+1:A=GET:IFA<>ASC"Y"PRINT"n":GOTO670
660CAR$(F%)="":CARGO%=CARGO%-CQT(F%):C
ASH=CASH+PR(F%)*CQT(F%):QTY(F%)=QTY(F%)+
CQT(F%)
670NEXT:SOUND1,-10,200,3:PRINTTAB(7,LI
N+1);"Cash: ";CASH;" CR":PROCwait:PROCst
atus:ENDPROC
680DEFPROCprice:CLG:PRINTTAB(15,1);"MA
RKETPRICE":MOVE-640,440:PLOT1,1280,0:*FX
15,0
690PRINTTAB(1,4);"Item for sale Pri
ce Qty for sale":FORF%=0TO14:PRINTTAB
(1,6+F%);V$(F%);TAB(18,6+F%);PR(F%);" CR
";TAB(27,6+F%);QTY(F%);"t":NEXT:ENDPROC
700DEFPROCinv:CLG:PRINTTAB(15,1);"INVE
NTORY":MOVE-640,440:PLOT1,1280,0:*FX15,0
710LIN=6:PRINTTAB(7,4);"Cargo:":FORF%=
0TO14:IFCAR$(F%)<>""PRINTTAB(7,LIN);V$(F
%);TAB(30,LIN);CQT(F%);"t":LIN=LIN+1
720NEXT:PRINTTAB(7,LIN+1);"Cash: ";CAS
H;" CR";TAB(7,LIN+3);"Equipment:":A=1:LI
N=LIN+4:FORF%=1TO5:IFEQUIP%(F%)PRINTTAB(
7,LIN+A);E$(F%-1):A=A+1
730CQT(F%)=0:NEXT:ENDPROC
740DEFPROCcom:IFEQUIP%(3)=0ORC%=0ENDPR
OC ELSEIFF%<=10F%=F%+4ELSEIFF%>=14F%=F%-
4
750IFA%>0A%=A%-16ELSEIFA%<0A%=A%+16
760IFB%>0B%=B%-16ELSEIFB%<0B%=B%+16
770S%=1:ENDPROC
780CLG:PROCstatus:*FX15,0
790IFINKEY-114PROCbuy ELSEIFINKEY-115P
ROCsell ELSEIFINKEY-116PROCequip ELSEIFI
NKEY-117PROCshort ELSEIFINKEY-118PROCsys
tem ELSEIFINKEY-23PROCprice ELSEIFINKEY-
119PROCstatus ELSEIFINKEY-120PROCinv ELS
EIFINKEY-72PROCsave
800IFINKEY-33GOTO1040ELSEIFINKEY-21GOT
O1080ELSE790
810DEFPROCstatus:CLG:PRINTTAB(11,1);"C
OMMANDER ";N$:MOVE-640,440:PLOT1,1280,0:
*FX15,0
820PRINTTAB(1,6);"Condition: ";CON$(CO
N);TAB(1,8);"Combatstatus: ";ST$(CST);TA
B(1,10);"Cash: ";CASH;" CR";TAB(1,12);"P
resent system: ";SYS$;TAB(1,14);"Hypersp
acesystem: ";DSYS$:ENDPROC
830DEFPROCfront:CLG:PRINTTAB(15,1);"FR
ONT VIEW":MOVE0,30:DRAW0,80:MOVE30,0:DRA
W80,0:MOVE0,-30:DRAW0,-80:MOVE-30,0:DRAW
-80,0:ENDPROC
840DEFPROCwait:TIME=0:REPEATUNTILTIME>
75:ENDPROC
850DEFPROCequip:CLG:PRINTTAB(15,1);"EQ
UIP SHIP":MOVE-640,440:PLOT1,1280,0:*FX1
5,0
860RANGE%=(TECH DIV2)+1:FORF%=0TORANGE
%-1:PRINTTAB(7,F%+8);F%+1;" ";E$(F%);TAB
(30,F%+8);PE%(F%);" CR":NEXT
870PRINTTAB(1,25);:INPUT"Which item";A
:PRINTTAB(1,25);SPC38:IFA<0OR A>RANGE%GO
TO870ELSEIFA=0PROCstatus:ENDPROC
880IFEQUIP%(A)SOUND1,-10,1,3:PRINTTAB(
1,25);"Already present!":PROCwait:PRINTT
AB(1,25);SPC38:GOTO870
890IFCASH-PE%(A-1)<0SOUND1,-10,1,3:PRI
NTTAB(1,25);"No cash!":PROCwait:PRINTTAB
(1,25);SPC38:GOTO870
900EQUIP%(A)=1:SOUND1,-10,200,3:CASH=C
ASH-PE%(A-1):IFEQUIP%(4)ENVELOPE1,1,-50,
10,100,20,10,20,120,-10,-4,-1,120,127:GO
TO870ELSE870
910DEFPROCshort
920CLG:RESTOREGALAX:FORF%=01TO35:READA
$,X,Y,DW:PRINTTAB(X,Y);CHR$244;A$:IFA$=S
YS$CX=X*32+14:CY=1010-Y*32
930NEXT:VDU29,0;0;:PROCcircle(CX,CY,19
2):*FX15,0
940MOVECX,CY-20:DRAWCX,CY+20:MOVECX-20
,CY:DRAWCX+20,CY:MOVECX,CY-20:DRAWCX,CY+
20:MOVECX-20,CY:DRAWCX+20,CY:IFINKEY-58C
Y=CY+8ELSEIFINKEY-42CY=CY-8ELSEIFINKEY-2
6CX=CX-8ELSEIFINKEY-122CX=CX+8
950IFNOT(INKEY-33OR INKEY-114OR INKEY-
115OR INKEY-116OR INKEY-21OR INKEY-117OR
INKEY-118OR INKEY-23OR INKEY-119OR INKE
Y-120)GOTO940
960IFINKEY-118G$=DSYS$:GOTO970ELSEVDU2
9,640;512;:PROCstatus:ENDPROC
970X1=(CX-14)DIV32:Y1=(1024-CY)DIV32:R
ESTOREGALAX:FORF%=1TO35:READA$,X,Y,SW:IF
(X1>X-2AND X1<X+2ANDY1>Y-2AND Y1<Y+2)DSY
SX=X:DSYSY=Y:DSYSWORD=SW:DSYS$=A$:NEXTEL
SENEXT:IFDSYS$=G$GOTO950
980VDU29,640;512;:PROCsystem:A=GET:GOT
O920
990DEFPROCsystem:CLG:RESTORE1800:PRINT
TAB(13,1);"DATA ON SYSTEM":MOVE-640,440:
PLOT1,1280,0:*FX15,0
1000B$="Government: ":DSYSL=(DSYSWORD A
ND1)+(DSYSWORD AND2)+(DSYSWORD AND4)+(DS
YSWORD AND8):PRINTTAB(7,6);"System name:
";DSYS$;TAB(7,8);"Tech level: ";DSYSL
1010LIN=10:FORF%=4TO15:B=DSYSWORD AND(2
^F%):READA$:IF(2^F%)=B PRINTTAB(7,LIN);B
$;A$;:LIN=LIN+2:IFLIN=12B$="Lifeform: "E
LSEIFLIN=14B$="National living: "
1020NEXT:DIST=INTSQR((DSYSX-SYSX)^2+(DS
YSY-SYSY)^2):PRINTTAB(7,LIN);"Distance t
o system: ";DIST;" LY":ENDPROC
1030DEFPROCcircle(X,Y,R):VDU29,0;0;:MOV
EV(0)*R+X,W(0)*R+Y:FORF%=1TO24:DRAWV(F%)
*R+X,W(F%)*R+Y:NEXT:ENDPROC
1040IFEQUIP%(1)=0PRINTTAB(1,25);SPC38;T
AB(1,25);"You can't go anywhere without
fuel!":SOUND1,-10,1,3:PROCwait:PRINTTAB(
1,25);SPC38:GOTO790
1050IFSYS$=DSYS$PRINTTAB(1,25);SPC38;TA
B(1,25);"Already there!":SOUND1,-10,1,3:
PROCwait:PRINTTAB(1,25);SPC38:GOTO790
1060IFDIST>6PRINTTAB(1,25);SPC38;TAB(1,
25);"System out of range!":SOUND1,-10,1,
3:PROCwait:PRINTTAB(1,25);SPC38:GOTO790
1070CLG:SOUND0,3,4,10:PROChyper:PROChyp
er:PROCfront:C%=0:CON=0:SYS$=DSYS$:SYSX=
DSYSX:SYSY=DSYSY:SYSWORD=DSYSWORD:SYSL=D
SYSL:TECH=SYSL:EQUIP%(1)=0:GOTO40
1080IFEQUIP%(5)=0PRINTTAB(1,25);SPC38;T
AB(1,25);"You can't go anywhere without
a drive!":SOUND1,-10,1,3:PROCwait:PRINTT
AB(1,25);SPC38:GOTO790
1090IFGALAX=1810GALAX=1850ELSEIFGALAX=1
850GALAX=1880ELSEIFGALAX=1880GALAX=1810
1100CLG:SOUND0,3,6,10:PROChyper:PROChyp
er:PROCfront:C%=0:CON=0:RESTOREGALAX:FOR
F%=1TORND(35):READDSYS$,DSYSX,DSYSY,DSYS
L:NEXT:SYS$=DSYS$:SYSX=DSYSX:SYSY=DSYSY:
SYSWORD=DSYSL:TECH=(DSYSL AND1)+(DSYSL A
ND2)+(DSYSL AND4)+(DSYSL AND8):SYSL=TECH
1110DSYSWORD=SYSWORD:DSYSL=TECH:EQUIP%(
5)=0:GOTO40
1120DEFPROCsave:CLG:*FX15,0
1130CLG:PRINTTAB(16,1);"SAVE GAME";:MOV
E-640,440:PLOT1,1280,0:INPUTTAB(1,6);"CO
MMANDERS NAME";N$:IFN$=""N$="Johnson"
1140PRINTTAB(1,8);:A=OPENOUTN$:PRINTTAB
(1,10);"SAVING ";N$:PRINT#A,CASH,TECH,CA
RGO%,CST,SYS$,SYSWORD,SYSX,SYSY,SYSL,GAL
AX,HITOP%,HIT%,MC,MIS%:FORF%=1TO5:PRINT#
A,EQUIP%(F%):NEXT:FORF%=0TO14:PRINT#A,V$
(F%),PR(F%),QTY(F%),CAR(F%),CQT(F%)
1141PRINT#A,CAR$(F%):NEXT
1150CLOSE#A:PROCstatus:ENDPROC
1160DEFPROCload:*FX15,0
1170CLG:PRINTTAB(16,1);"LOAD GAME":MOVE
-640,440:PLOT1,1280,0:INPUTTAB(1,6);"COM
MANDERS NAME";N$:IFN$=""N$="Johnson"
1180PRINTTAB(1,8);:A=OPENINN$:PRINTTAB(
1,10);"LOADING ";N$:INPUT#A,CASH,TECH,CA
RGO%,CST,SYS$,SYSWORD,SYSX,SYSY,SYSL,GAL
AX,HITOP%,HIT%,MC,MIS%:FORF%=1TO5:INPUT#
A,EQUIP%(F%):NEXT:FORF%=0TO14:INPUT#A,V$
(F%),PR(F%),QTY(F%),CAR(F%),CQT(F%),CAR$
(F%):NEXT
1190CON=1:DSYSWORD=SYSWORD:DSYS$=SYS$:D
SYSX=SYSX:DSYSY=SYSY:DSYSL=SYSL:CLOSE#A:
PROCstatus:ENDPROC
1200*FX15,1
1210FORF%=1TO5:EQUIP%(F%)=0:NEXT:HIT%=0
:HITOP%=20:FORF%=0TO14:CAR$(F%)="":CQT(F
%)=0:NEXT
1220N$="Johnson":C%=0:CASH=100:TECH=6:C
ARGO%=0:CON=1:CST=0:SYS$="Etile":SYSWORD
=8470:SYSX=8:SYSY=12:SYSL=6:DSYS$=SYS$:D
SYSWORD=SYSWORD:DSYSX=SYSX:DSYSY=SYSY:DS
YSL=SYSL:GALAX=1810:EN%=500:MIS%=1:MC=1
1230*FX202,32
1240PRINTTAB(1,25);SPC38:PRINTTAB(1,25)
;"Load new commander (Y/N)?";:A$=GET$:PR
INTA$:IFA$="Y"PROCload:GOTO790ELSEA%=0:B
%=0:G%=70:SOUND0,4,4,10:PROCskudt:PROCdo
cking:GOTO780
1250S%=23:CON=2:FORAT%=1TORND(10-TECH)*
MIS%+1
1260ACT%=6:OBJ%=2:A%=RND(600)-RND(600):
B%=RND(500)-RND(500):RET%=1:E%=50-50*(MI
S%=0):HX%=0:HY%=0:HZ%=1:G%=0
1270ONRET%GOSUB1330,1370:PROCtast:PROCc
ontrol:IFG%<=0GOTO1260ELSEIFE%<=0PROCsku
dt:HIT%=HIT%+1:GOTO1310
1280IFEN%<100PRINTTAB(15,25);"ENERGY LO
W!":SOUND3,-15,200,1ELSEIFEN%>100AND EN%
<120PRINTTAB(1,25);SPC38
1290IFEN%<10A%=0:B%=0:G%=70:PROCskudt:G
OSUB540:GOTO1200
1300GOTO1270
1310NEXT:CON=0:IFHIT%>HITOP%HITOP%=HITO
P%*1.2:HIT%=0:IFCST<7CST=CST+1
1320C%=0:RETURN
1330G%=G%+HZ%+(24-S%):A%=A%+HX%:B%=B%+H
Y%
1340MOVEA%+4*G%,B%:DRAWA%,B%+2*G%:DRAWA
%-4*G%,B%:DRAWA%,B%-2*G%:DRAWA%+4*G%,B%:
PLOT69,A%,B%
1350PROCskud:PROCdefence
1360MOVEA%+4*G%,B%:DRAWA%,B%+2*G%:DRAWA
%-4*G%,B%:DRAWA%,B%-2*G%:DRAWA%+4*G%,B%:
PLOT69,A%,B%:RETURN
1370G%=G%-RET%*2*HZ%+(24-S%):A%=A%-HX%:
B%=B%+HY%
1380MOVEA%+4*G%,B%:DRAWA%,B%+2*G%:DRAWA
%-4*G%,B%:DRAWA%,B%-2*G%:DRAWA%+4*G%,B%:
MOVEA%+G%,B%:DRAWA%,B%+G%DIV2:DRAWA%-G%,
B%:DRAWA%,B%-G%DIV2:DRAWA%+G%,B%
1390PROCskud:PROCdefence
1400MOVEA%+4*G%,B%:DRAWA%,B%+2*G%:DRAWA
%-4*G%,B%:DRAWA%,B%-2*G%:DRAWA%+4*G%,B%:
MOVEA%+G%,B%:DRAWA%,B%+G%DIV2:DRAWA%-G%,
B%:DRAWA%,B%-G%DIV2:DRAWA%+G%,B%:RETURN
1410DEFPROCdefence:IFRND(100)>30-(MIS%=
0)*30OR RET%<>1ENDPROC ELSEDA%=SGN(RND(1
)-RND(1))*640:DB%=RND(500)-RND(360):MOVE
A%,B%:DRAWDA%,DB%:SOUND3,2,40,2:DRAWA%,B
%
1420IFRND(100)>30+(MIS%=0)*20SOUND0,3,6
,2:EN%=EN%-30+10*EQUIP%(2)
1430ENDPROC
1440DEFPROCcontrol:IFRET%=1AND(G%>70OR
E%<20)RET%=2:PROCturn ELSEIFG%<=0RET%=1:
E%=50:ENDPROC
1450IFA%<G%A%=A%-7*RET%ELSEIFA%>-G%A%=A
%+7*RET%
1460IFB%<G%B%=B%-7*RET%ELSEIFB%>-G%B%=B
%+7*RET%
1470E%=E%+1:ENDPROC
1480DEFPROCturn:FORF%=G%DIV2TOG%STEP10
1490MOVEA%+4*G%,B%:DRAWA%+2*G%,B%+4*F%:
DRAWA%-2*G%,B%+4*F%:DRAWA%-4*G%,B%:DRAWA
%,B%-9*F%:DRAWA%+4*G%,B%
1500PROCskud:MOVEA%+4*G%,B%:DRAWA%+2*G%
,B%+4*F%:DRAWA%-2*G%,B%+4*F%:DRAWA%-4*G%
,B%:DRAWA%,B%-9*F%:DRAWA%+4*G%,B%
1510NEXT:FORF%=G%TOG%DIV2STEP-10
1520MOVEA%+4*G%,B%:DRAWA%+2*G%,B%+4*F%:
DRAWA%-2*G%,B%+4*F%:DRAWA%-4*G%,B%:DRAWA
%,B%-9*F%:DRAWA%+4*G%,B%
1530PROCskud:MOVEA%+4*G%,B%:DRAWA%+2*G%
,B%+4*F%:DRAWA%-2*G%,B%+4*F%:DRAWA%-4*G%
,B%:DRAWA%,B%-9*F%:DRAWA%+4*G%,B%:NEXT:E
NDPROC
1540DEFPROCskudt:*FX15,0
1550F%=G%:SOUND0,4,6,10:FORG%=F%TO0STEP
-15
1560MOVEA%+5*G%,B%+G%:DRAWA%+G%,B%+G%:D
RAWA%,B%+4.5*G%:DRAWA%-G%,B%+G%:DRAWA%-5
*G%,B%+G%:DRAWA%-2*G%,B%-G%:DRAWA%-3*G%,
B%-5*G%:DRAWA%,B%-2*G%:DRAWA%+3*G%,B%-5*
G%:DRAWA%+2*G%,B%-G%:DRAWA%+5*G%,B%+G%
1570MOVEA%+5*G%,B%+G%:DRAWA%+G%,B%+G%:D
RAWA%,B%+4.5*G%:DRAWA%-G%,B%+G%:DRAWA%-5
*G%,B%+G%:DRAWA%-2*G%,B%-G%:DRAWA%-3*G%,
B%-5*G%:DRAWA%,B%-2*G%:DRAWA%+3*G%,B%-5*
G%:DRAWA%+2*G%,B%-G%:DRAWA%+5*G%,B%+G%
1580NEXT:ENDPROC
1590DEFPROCmission:IFMIS%=0GOTO1690ELSE
IFSYS$=MP$(MC)MC=MC+1
1600CLG:PRINTTAB(11,1);"THE GREAT MISSI
ON":MOVE-640,440:PLOT1,1280,0:VDU28,1,31
,38,0:IFMC=16GOTO1660
1610PRINTTAB(0,4);:IFMC=1PRINT"Congratu
lations, you have earned the order of t
he Supremes. All you will have to do n
ow is to find the evil pirate and do
him in...."''
1620PRINT"The Great Mission has begon.
In your search for your grandfa
thers murderer your next target will be
a planet named ";MP$(MC);"."
1630PRINT''"A good deal of skill will b
e needed for this last task of the gam
e...":GOTO1640
1640*FX15,0
1650A=GET:VDU28,0,31,39,0:ENDPROC
1660PRINTTAB(0,3);" The mission is abo
ut to terminate. The pirate named Xoolo
g the Lizard is here! You will have to m
eet him in a dogfight, a fight for your
grand dads freedom."
1670PRINT'" To do that you must travel
to a new planet. On this travel you wil
l meet the lizard himself. It will be a
toughfight, nobody has made it..."
1680MIS%=0:A=GET:VDU28,0,31,39,0:ENDPRO
C
1690CLEAR:ENVELOPE1,129,0,0,0,2,3,4,75,
-50,-50,-50,96,0:CLG:VDU28,1,31,38;23,1,
1;0;0;0;
1700RESTORE1910:PRINTTAB(0,3);:REPEAT:R
EADA$
1710FORF%=1TOLENA$:SOUND0,1,4,1:PRINTCH
R$(ASC(MID$(A$,F%,1))-1);:TIME=0:REPEATU
NTILTIME>RND(100):NEXT:PRINT:UNTILASC(MI
D$(A$,LENA$,1))=44
1720VDU28,0,31,39,0
1730DATAComputers,Food,Wears,Software,H
ardware,Jam,Pearls,Soap,ELITE-game,Coffe
e,Tools,Luxuries,Diamonds,Plastic,Engine
s
1740DATA200,180,160,120,100,80,70,60,55
,50,30,40,50,60,70,80,90,120,130,150,40,
50,70,80,90,100,120,130,140,145,60,60,70
,70,80,90,100,110,120,130,150,140,130,12
0,110,100,90,80,70,30,10,15,20,25,30,40,
50,60,70,80
1750DATA50,60,70,80,90,100,120,140,160,
180,5,10,15,20,30,40,50,60,70,80,10,10,2
0,20,30,30,40,40,50,50,10,15,20,25,30,40
,50,55,65,80,20,20,10,10,30,30,40,50,60,
90,50,60,70,80,90,100,120,140,160,200
1760DATA70,80,90,100,100,100,130,130,15
0,170,100,90,80,70,60,50,40,30,20,10,100
,100,90,80,70,30,30,40,50,50
1770DATAHarmless,Bad,No good,All right,
Tough,Dangerous,Deadly,Supreme
1780DATAFuel,20,Shield generator,900,Do
cking computer,3000,Military laser,4500,
Hyperspace drive,6750
1790DATAPryk,Uoh,Orez,Onio,Pukc,Knup,Na
wonknu,Epacse,Malick,Loup,Fuq,Mov,Lah,Qi
irk,Chop
1800DATADemocracy,Technocracy,Feudalism
,Socialism,Humans,Computerfreaks,Ghost B
usters,Insects,Agriculture,Industry,Soft
ware,Hardware
1810DATAMalick,22,1,4373,Loup,34,1,1744
4,Nawonknu,3,2,4743,Epacse,13,3,10374,Nr
oca,29,3,8743,Integral,21,4,33064,Hifch,
2,5,5157,Sral,15,5,33095,Zaxx,21,6,10372
,Resu,30,6,34949
1820DATAKcufi,6,7,33832,Ypoc,26,8,8486,
Kaerb,13,9,18499,Bokaj,32,9,8773,Arboc,1
,10,5189,Niok,19,10,17027,Eteled,28,11,4
483,Etile,8,12,8470
1830DATANarjal,18,13,17429,Ynneb,27,13,
33813,Klinco,5,14,17477,Quak,34,14,10375
,Jeh,17,15,8471,Retupmoc,27,16,9256,Nebr
ot,3,17,4742,Leahcim,14,17,33065,Grobiv,
23,18,8729,Paccu,2,19,6211,Xzt,18,19,169
18,Atad,33,20,9254
1840DATATrams,9,21,4677,Nruter,24,21,46
31,Ecafretni,1,23,17539,Nebsnot,29,23,16
706,Endoterm,20,24,5252
1850DATASetre,13,1,17476,Kuun,2,2,8473,
Ogne,29,3,34839,Gorf,6,4,10376,Tingo,20,
4,4677,Mbi,35,4,8744,Killco,14,5,33047,C
arb,3,7,8581,Tchin,19,7,4743,Rol,34,7,33
321,Alqa,10,9,10260,Decre,24,9,33096,Kra
mnad,31,9,5254
1860DATABratch,6,10,6211,Incre,28,11,16
935,Nortcele,17,12,33094,Orea,3,13,5186,
Oerets,32,13,8517,Dichin,20,14,4373,Hcnu
h,13,15,8725,Qiirk,28,15,8580,Saxet,5,16
,6180,Lah,32,17,17475
1870DATAJereh,3,18,6166,Kiin,18,19,8725
,Pcim,11,19,17446,Trik,24,19,18564,Mov,3
4,19,17474,Dna,6,20,34952,Nortisop,14,21
,33159,Fuq,30,21,17428,Spilihp,3,22,3306
5,Abmam,24,23,16963,Vomisa,32,23,6272,Ki
rneh,7,24,8472
1880DATAKellan,1,1,8472,Knup,16,2,33833
,Koin,33,2,10377,Pukc,7,4,4679,Exalag,22
,5,4375,Tuls,32,5,33928,Lino,3,6,10262,M
imbo,14,6,8520,Onio,5,8,6213,Ruof,19,8,6
166,Nit,34,8,18567,Qyz,10,9,16771,Chop,2
4,9,4373,Opal,16,11,16965
1890DATAHal,29,11,16934,Nok,34,11,16933
,Orez,6,12,9348,Nama,22,13,5139,Inq,1,13
,10373,Eerth,31,13,16964,Eno,14,14,6164,
Zinac,30,15,17475,Uoh,8,16,4371,Ybab,24,
16,17444,Ohlala,16,17,17442,Eidert,3,19,
4483,Pryk,15,19,4419
1900DATAEmerpus,27,19,17426,Evif,1,21,8
739,Owt,23,21,6273,Fith,14,22,6272,Oik,3
0,22,6274,Ypno,7,23,4737,Xis,20,24,4368,
Enin,34,24,17472
1910DATA"!!!!!!!!!!!!!UFMFY!NPOJUPS","!
",Uif!tqbdf!dpnnjuff!ibt!efdjefe!up,sfwf
bm!uif!tfdsfut!pg!zpvs!hsboegbuifsbu!uij
t!nptu!dpowfojfou!npnfou/,"!",Zpvs!hsboe
gbuifs!xbt!opu!efbe!bu!bmm,cvu!mjwfe!tfd
sfumz!jo!uif!dbwft!pg,Dipq/
1920DATA"!",Xifo!zpv!ljmmfe!Yppmph!uif!
MjĀ¼bse!bmm,xf!ibe!up!ep!xbt!up!dpmmfdu!u
if!qjfdftpg!ijt!tijq/!Jo!uiftf!xf!gpvoe!
uif!pmenbot!besftt/Gps!nboz!zfbst!if!ibt
!cffodiffujoh!uif!ubybujpo!bvuipsjujft/,
"!"
1930DATATp!xf!ublf!uif!mjcfsuz!up!jogps
n!zpv,uibu!bu!3!qn!upebz!uijt!ijhimz,dsj
njobm!tubsgjhiufs!xjmm!cf!fyfdvufe/,"!",
"!!!!!!!!!!!!!FOE!PG!HBNF,"
1940DATASTRONG ENERGYFIELD APPROACHING,
SHIELDS DAMAGED,MAINCOMPUTER CONFUSED,SE
RIOUS ENGINE BREAKDOWN,ZXZ343ZXZ &(##$ZX
ZA%