Unknown Dragon Star Trek Game.

Looking for a Dragon or CoCo game not already in the archive - Then request it here and hopefully it will either be uploaded to the archive or another member can upload it to this forum.
Post Reply
briza
Posts: 25
Joined: Sun Mar 29, 2009 1:16 pm

Unknown Dragon Star Trek Game.

Post by briza »

Gidday,

I found this game in my coco software disks and it looks to be a Dragon version, Anyone have any idea which company released it?
245990214_458797608844831_1371548029644036772_n.jpg
245990214_458797608844831_1371548029644036772_n.jpg (123.17 KiB) Viewed 13971 times
sorchard
Posts: 530
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: Unknown Dragon Star Trek Game.

Post by sorchard »

Cool to see this version as I played it a lot when I was a kid.

I remember getting it as a copy on tape from a friend and always assumed it was typed in from a magazine, because a syntax error stopped the game if you managed to destroy a star. (Though I did eventually learn how to fix it)

My copy didn't have the copyright message that yours does. Neither does this version in the unsorted items in the archive. It does otherwise appear to be the same version and even has the same typo in the REM statement in line 90 that mine did.

No mention of author or publisher unfortunately.
Stew
briza
Posts: 25
Joined: Sun Mar 29, 2009 1:16 pm

Re: Unknown Dragon Star Trek Game.

Post by briza »

ok, Thanks Sorchard..

Here is a Bas listing file of the Game. Hopefully this version is a good 100% version with no problems...

10 '*
20 '****STAR TREK*****
30 '*
40 POKE 65495,0:CLS3:PRINTSTRING$(43,128);"star";CHR$(128);CHR$(128);"trek";STRING$(43,128):SCREEN 0,1
50 CLEAR 1000:DIM A$(7,7),B(7,7),KX(9),KY(9),DM(4),GP(1000)
60 '**INITIALIZE GRAPHICS
70 GOSUB 3160
80 PMODE 4:PCLS:DRAW"BM0,0R4DNL3D3NLNR5DR5DNLNRUR3NDNUL2U2NLURUNL3NR4U4"
90 DIM EN(2):GET(0,0)-(14,6),EN,G
100 PCLS:DRAW"BM0,0BR2NR4DNLNR3DNLRDNR3DNLNR2DBL2NRDNL3R6BM-3,-4R5NR3UR5UL3"
110 DIM KL(2):GET(0,0)-(14,6),KL,G
120 PCLS:DRAW"BM0,0BR5R2NR2D2R2DR2NE2NF2NR3L2DLND2LNDLND2LUL2NG2NH2NL3R2UR"
130 DIM SB(2):GET(0,0)-(14,6),SB,G
140 PCLS:DRAW"BM0,0BM+7,3NU3NR3ND3NL3NENFGH"
150 DIM ST(2):GET(0,0)-(14,6),ST,G
160 PCLS:DRAW"BM0,0BM+7,3NU2NR2ND2NL2NENFNGNH"
170 DIM TR(2):GET(0,0)-(14,6),TR,G
180 '**GET SKILL LEVEL
190 PRINT@256," SKILL LEVEL?(0-9)";:SCREEN 0,1
200 A$=INKEY$:IF A$<"0"OR A$>"9" THEN 200
210 PRINTA$:SCREEN0,1:S=VAL(A$)*2+1
220 FOR I=0 TO 7:FOR J=0 TO 7
230 IF RND(10)>3 THEN KL=RND(3) ELSE KL=0
240 IF RND(S)=1 THEN SB=1 ELSE SB=0
250 ST=RND(5)-1
260 A$(I,J)=RIGHT$(STR$(KL),1)+RIGHT$(STR$(SB),1)+RIGHT$(STR$(ST),1):TK=TK+KL
270 NEXTJ,I
280 '** INITIALIZE ENTERPRISE
290 EG=3000:TR=15:PG=RND(8)-1:SD=400+RND(100):SS=SD-1
300 '** GET KLINGON MOBILITY
310 PRINT@288,"KLINGON MOBILITY?(0-9)";:SCREEN0,1
320 A$=INKEY$:IF A$<"0" OR A$>"9" THEN 320
330 PRINTA$:SCREEN 0,1:KM=19-VAL(A$)*2
340 IF KM=19 THEN KM=0
350 PRINT@448," PLEASE WAIT"
360 SCREEN 0,1
370 COLOR 0,1:PCLS
380 LINE(0,0)-(128,64),PSET,BF
390 DRAW"BM 7,70":A$="SHORT@RANGE@SCANNER":GOSUB 3720
400 DRAW"BM131,7":FOR I=0 TO 7:FOR J=0 TO7:DRAWN1$(10)+"BR2"+N1$(10)+"BR2"+N1$(10)+"BR6":NEXTJ:DRAW"BM-124,+8":NEXTI
410 DRAW"BM 148,70":A$="GALACTIC@RECORD":GOSUB 3720
420 LINE(0,82)-(255,90),PSET,B
430 DRAW"BM3,88":A$="POWER":GOSUB 3720
440 LINE(40,88)-(252,84),PSET,BF
450 FOR T=0 TO 2:Y=92+T*10
460 LINE(0,Y)-(126,Y+8),PSET,B
470 LINE(129,Y)-(255,Y+8),PSET,B
480 NEXT T
490 DRAW"BM3,98":A$="ENGINES":GOSUB 3720
500 DRAW"BM132,98":A$="REPORT@GEN":GOSUB 3720
510 DRAW"BM3,108":A$="PHASORS":GOSUB 3720
520 DRAW"BM132,108":A$="SHIELDS":GOSUB 3720
530 DRAW"BM3,118":A$="TORPEDOES":GOSUB 3720
540 DRAW"BM132,118":A$="CONDITION":GOSUB 3720
550 LINE(0,122)-(255,136),PSET,B
560 LINE(0,149)-(255,191),PSET,BF
570 SCREEN1,1:FORD=1TO500:NEXT D
580 DRAW"BM1,160C1":A$="STAR@TREK":GOSUB 3720:SOUND RND(255),1
590 DRAW"BM1,172":A$="COPYRIGHT@":GOSUB 3720:X=1984:Y=4:GOSUB3740:A$="@L@G@MCCARTHY":GOSUB 3720:SOUND RND(255),1
600 DRAW"BM1,184":A$="PIRATED@BY@SOFTWARE@SUPPLIES@REDCLIFFE":GOSUB 3720:DRAW"C0":SOUND RND(255),1
610 GOSUB 630:GOSUB 940:GOTO 1270
620 '** DECODE SECTOR & S.R.S.
630 KL=VAL(LEFT$(A$(PG,QG),1))
640 SB=VAL(MID$(A$(PG,QG),2,1))
650 ST=VAL(RIGHT$(A$(PG,QG),1))
660 'CLEAR ARRAY
670 FOR I=0 TO 7:FOR J=0 TO 7:B(I,J)=0:NEXT J,I
680 ' ENTERPRISE
690 PS=RND(8)-1:QS=RND(8)-1:B(PS,QS)=4
700 'KLINGONS
710 IF KL=0 THEN 750
720 FOR J=1 TO KL
730 H=RND(8)-1:I=RND(8)-1:IF B(H,I)>0 THEN 730
740 B(H,I)=1:KX(J)=H:KY(J)=I:NEXT J
750 FOR J=KL+1 TO 9:KX(J)=-1:NEXT J
760 ' STARBASES
770 IF SB=0 THEN 810
780 FOR J=1 TO SB
790 H=RND(6):I=RND(6):IF B(H,I)>0 THEN 790 ELSE B(H,I)=2:NEXT J
800 ' STARS
810 IF ST=0 THEN 840
820 FOR J=1 TO ST
830 H=RND(8)-1:I=RND(8)-1:IF B(H,I)>0 THEN 830 ELSE B(H,I)=3:NEXT J
840 '** SHORT RANGE SCANER
850 LINE(0,0)-(128,64),PSET,BF
860 FOR I=0 TO 7:FOR J=0 TO 7:X=I*16+1:Y=J*8+1:Z=B(I,J)
870 IFZ=0 THEN 920
880 IF Z=1 THEN PUT(X,Y)-(X+14,Y+6),KL,PSET
890 IF Z=2 THEN PUT(X,Y)-(X+14,Y+6),SB,PSET
900 IF Z=3 THEN PUT(X,Y)-(X+14,Y+6),ST,PSET
910 IF Z=4 THEN PUT(X,Y)-(X+14,Y+6),EN,PSET
920 NEXT J,I:RETURN
930 '** GALACTIC RECORD & REPORT
940 X=131+PG*16:Y=7+QG*8
950 LINE(X-1,Y)-(X+11,Y-6),PRESET,BF
960 DRAW"BM"+STR$(X)+","+STR$(Y)+N1$(KL)+"BR2"+N1$(SB)+"BR2"+N1$(ST)
970 PUT(X-1,Y)-(X+11,Y-6),EN,NOT
980 '** STATUS REPORT
990 IF EG<0 THEN 2930
1000 IF TK=0 THEN 3050
1010 SD=SD-1:IFSD=0 THEN3020
1020 C$="":IF SB=0 THEN 1060
1030 FOR I=-1 TO 1:FOR J=-1 TO 1:IF PS+I<0 OR PS+I>7 OR QS+J<0 OR QS+J>7 THEN 1050
1040 IF B(PS+I,QS+J)=2 THEN C$="DOCKED":TR=15:EG=3000:FOR T=0 TO4:DM(T)=DM(T)+(DM(T)>0):NEXTT
1050 NEXT J,I
1060 FOR T=0 TO 4:DM(T)=DM(T)+(DM(T)>0):NEXT T
1070 X=40+211/3000*EG:LINE(252,88)-(X,84),PRESET,BF:LINE(40,88)-(X,84),PSET,BF
1080 LINE(95,98)-(124,94),PRESET,BF
1090 DRAW"BM95,98":IFDM(0)=0 THEN A$="READY"ELSE A$="@@OUT"
1100 GOSUB 3720:LINE(224,98)-(252,94),PRESET,BF
1110 DRAW"BM224,98":IF DM(1)=0 THEN A$="READY" ELSE A$="@@OUT"
1120 GOSUB 3720:LINE(95,108)-(124,104),PRESET,BF
1130 DRAW"BM95,108":IF DM(2)=0 THEN A$="READY" ELSE A$="@@OUT"
1140 GOSUB 3720:LINE(228,108)-(253,104),PRESET,BF
1150 DRAW"BM228,108":IF DM(3)>0 THEN A$="@OUT":GOSUB 3720:SH=0:GOTO 1180
1160 IF SH=0 THEN A$="DOWN":GOSUB 3720:GOTO 1180
1170 X=SH:Y=4:GOSUB3740
1180 LINE(107,118)-(123,114),PRESET,BF
1190 IFDN(4)>0 THEN DRAW"BM107,118":A$="OUT":GOSUB3720:GOTO1210
1200 DRAW"BM113,118":X=TR:Y=2:GOSUB 3740
1210 LINE(218,118)-(253,114),PRESET,BF
1220 IF C$="DOCKED" THEN 1230 ELSE IF KL=0 THEN C$="@GREEN" ELSE C$="@@@RED"
1230 DRAW"BM218,118":A$=C$:GOSUB3720:RETURN
1240 '** COMMAND CENTER
1250 IF RND(KM)=1 GOSUB 2790
1260 IF KL>0 GOSUB 2640
1270 GOSUB 3780:A$="COMMAND?@":GOSUB 3720
1280 M$=INKEY$:IF M$="" THEN1280
1290 GOSUB 3780
1300 IFM$=CHR$(94) OR M$=CHR$(10) OR M$=CHR$(9) OR M$=CHR$(8) GOSUB 1410:GOTO 1250
1310 IF M$="P" GOSUB 1590:GOTO 1250
1320 IF M$="T" GOSUB 1740:GOTO 1250
1330 IF M$="W" GOSUB 2020:GOTO 1250
1340 IF M$="S" GOSUB 2300:GOTO 1250
1350 IF M$="L" GOSUB 2210:GOTO 1250
1360 IF M$="D" GOSUB 2410:GOTO 1250
1370 IF M$="C" GOSUB 2500:GOTO 1250
1380 IF M$="I" GOSUB 3810:GOTO 1270
1390 IF M$="K"GOSUB2580:GOTO1250ELSE1270
1400 '** MOVEMENT WITHIN SECTOR
1410 V=PS:W=QS:Z=0:IF M$=CHR$(94) AND QS>0 THEN W=QS-1
1420 IF M$=CHR$(10) AND QS<7 THEN W=QS+1
1430 IF M$=CHR$(9) AND PS<7 THEN V=PS+1
1440 IF M$=CHR$(8) AND PS>0 THEN V=PS-1
1450 IF PS=V AND QS=W THEN 1280
1460 IF B(V,W)<>0 GOSUB 1520
1470 IF B(V,W)=3 GOSUB 990:RETURN
1480 LINE(PS*16+1,QS*8+1)-(PS*16+15,QS*8+7),PSET,BF
1490 PUT(V*16+1,W*8+1)-(V*16+15,W*8+7),EN,PSET
1500 B(PS,QS)=0:PS=V:QS=W:B(PS,QS)=4:EG=EG-5
1510 GOSUB 940:RETURN
1520 IF B(V,W)<> 1 THEN 1560
1530 A$="YOU@RAMMED@A@KLINGON":GOSUB3720:EG=EG-RND(1250-SH):KL=KL-1:A$(PG,QG)=RIGHT$(STR$(KL),2)+RIGHT$(A$(PG,QG),2):Z=0
1540 Z=Z+1:IF KX(Z)<>V OR KY(Z)<>W THEN 1540
1550 DK=DK+1:TK=TK-1:KX(Z)=-1:Z=1:RETURN
1560 IF B(V,W)=2 THEN A$="YOU@RAMMED@YOUR@STARBASE":GOSUB 3720:EG=EG-RND(1750-SH):SB=0:A$(PG,QG)=LEFT$(A$(PG,QG),1)+"0"+RIGHT$(A$(PQ,QG),1):Z=1:RETURN
1570 IF B(V,W)=3 THEN A$="YOU@ALMOST@COLLIDED@WITH@A@STAR":GOSUB 3720:EG=EG-500-RND(1500-SH):RETURN
1580 '** PHASOR
1590 IF DM(2)>0 THEN A$="PHASOR@OUT@OF@ACTION":GOSUB 3720:FOR D=1 TO 1000:NEXTD:RETURN
1600 A$="PHASOR@ENERGISED":GOSUB3720:DRAW"BM3,134"
1610 A$="HOW@MUCH@ENERGY?@":GOSUB 3720:GOSUB 3100:GOSUB 3780
1620 IF X>EG THEN A$="THERE@IS@NOT@THAT@MUCH@LEFT":GOSUB 3720:FOR D=1 TO 1000:NEXT D:RETURN
1630 IF X=0 THEN RETURN
1640 EG=EG-X:A$="PHASOR@FIRED":GOSUB 3720
1650 IF KL=0 THEN A$="@BUT@NO@KLINGONS@IN@SECTOR":GOSUB 3720:FOR D=1 TO 1000:NEXT D:RETURN
1655 GET (0,0)-(128,64),GP
1656 PUT (0,0)-(128,64),GP,NOT:FORCN=1TO500:NEXTCN
1657 PUT (0,0)-(128,64),GP
1660 E=X/KL:FOR H=1 TO 9:I=KX(H)-PS:J=KY(H)-QS:D=SQR(I*I+J*J)
1670 IF E<100*D OR KX(H)=-1 THEN1720
1680 FOR T=0 TO 3 STEP.5
1690 LINE(1+KX(H)*16+T*2,1+KY(H)*8+T)-(15+KX(H)*16-T*2,7+KY(H)*8-T),PSET,B:SOUND T*50+1,1
1700 NEXT T
1710 B(KX(H),KY(H))=0:KX(H)=-1:KL=KL-1:TK=TK-1:DK=DK+1
1720 NEXT H:GOSUB 940:RETURN
1730 '** PHOTON TORPED0
1740 IF DM(4)>0 THEN A$="TORPEDO@TUBES@OUT@OF@ACTION":GOSUB 3720:FORD=1 TO 1000:NEXTD:RETURN
1750 A$="PHOTON@TORPEDO@LOADED":GOSUB 3720:DRAW"BM3,134"
1760 IFTR=0 THEN A$="NO@TORPEDOES@LEFT":GOSUB 3720:FOR D=1 TO 500:NEXT D:RETURN
1770 A$="TORPEDO@VECTOR?@":GOSUB 3720
1780 A$=INKEY$:IFA$<"0" OR A$>"7" THEN 1780
1790 V=VAL(A$):DRAW N2$(V)
1800 J=0:IFV<2 OR V>6 THEN J=-1
1810 IF V>2 AND V<6 THEN J=1
1820 I=0:IF V<4 AND V>0 THEN I=1
1830 IF V>4 THEN I=-1
1840 TR=TR-1:X=PS+I:Y=QS+J
1850 IF X<0 ORX>7 OR Y<0 ORY>7 THEN GOSUB3780:A$="TORPEDO@OUT@OF@SECTOR":GOSUB3720:GOSUB990:RETURN
1860 IF B(X,Y)<>0 THEN 1910
1870 PUT(X*16+1,Y*8+1)-(X*16+15,Y*8+7),TR,PSET
1880 PLAY"L64;"+STR$(RND(12))
1890 LINE(X*16+1,Y*8+1)-(X*16+15,Y*8+7),PSET,BF
1900 X=X+I:Y=Y+J:GOTO 1850
1910 FOR T=1 TO 25
1920 PUT(X*16+1,Y*8+1)-(X*16+15,Y*8+7),EN,NOT:SOUND T*10,1
1930 NEXT T
1940 LINE(X*16+1,Y*8+1)-(X*16+15,Y*8+7),PSET,BF
1950 GOSUB 3780:IF B(X,Y)<>1 THEN 1980
1960 FOR H=1 TO 9:IF KX(H)=X ANDKY(H)=Y THEN KX(H)=-1
1970 NEXT H:A$="KLINGON@DESTROYED":GOSUB3720:B(X,Y)=0:TK=TK-1:DK=DK+1:KL=KL-1:A$(PG,QG)=RIGHT$(STR$(KL),1)+RIGHT$(A$(PG,QG),2):GOSUB940:RETURN
1980 IFB(X,Y)=2THEN A$="STARBASE@DESTROYED":GOSUB3720:B(X,Y)=0:SB=0:A$(PG,QG)=LEFT$(A$(PG,QG),1)+"0"+RIGHT$(A$(PG,QG),1):GOSUB940:RETURN
1990 IFB(X,Y)=3 AND RND(0)<.5 THEN PUT(X*16+1,Y*8+1)-(X*16+15,Y*8+7),ST,PSET:A$="PHOTON@TORPEDO@ABSORBED@BY@STAR":GOSUB3720:GOSUB990:RETURN
2000 IF B(X,Y)=3 THEN A$="STAR@DESTROYED":GOSUB 3720:B(X,Y)=0:ST=ST-1:A$(PG,QG)=LEFT$(A$(PG,QG),2)+RIGHT$(A$(PG,QG),1):GOSUB 940:RETURN
2010 '** WARP
2020 IF DM(0)>0 THEN A$="WARP@ENGINES@OUT@OF@ACTION":GOSUB 3720:FOR D=1 TO 1000:NEXT :RETURN
2030 A$="WARP@VECTOR?@":GOSUB 3720
2040 A$=INKEY$:IF A$<"0"OR A$>"7"THEN 2040
2050 V=VAL(A$):DRAWN2$(V)+"BM3,134":A$="WARP@FACTOR?@":GOSUB 3720
2060 A$=INKEY$:IF A$<"0"OR A$>"7" THEN 2060
2070 IF A$="0" THEN 1250
2080 W=VAL(A$):DRAW N2$(W)
2090 J=0:IF V<2 OR V>6 THEN J=-1
2100 IF V>2 AND V<6 THEN J=1
2110 I=0:IF V<4 AND V>0 THEN I=1
2120 IF V>4 THEN I=-1
2130 X=PG:Y=QG:FOR H=1 TO W:X=X+I:Y=Y+J
2140 IF NOT(X<0 OR X>7 OR Y<0 OR Y>7) THEN 2170
2150 GOSUB 3780:A$="YOU@ATTEMPTED@TO@LEAVE@THE@GALAXY@BUT@WERE":GOSUB 3720:DRAW"BM3,134":A$="PREVENTED@BY@CURVED@SPACE":GOSUB 3720:FOR D=1TO 1000:NEXT D
2160 X=X-I:Y=Y-J:IF X=PG AND Y=QG THEN RETURN ELSE 2180
2170 PLAY"L32A":NEXT H:EG=EG-20*H
2180 PUT(130+PG*16,7+QG*8)-(142+PG*16,1+QG*8),EN,NOT
2190 PG=X:QG=Y:GOSUB 3780:GOSUB 630:GOSUB 940:RETURN
2200 '** LONG RANGE SCAN
2210 A$="LONG@RANGE@SCAN":GOSUB 3720
2220 FOR I=-1 TO 1:FOR J=-1 TO1
2230 IF I=0 AND J=0 THEN 2280
2240 X=PG+I:Y=QG+J:IF X<0 OR X>7 OR Y<0 OR Y>7 THEN 2280
2250 K=VAL(LEFT$(A$(X,Y),1)):L=VAL(MID$(A$(X,Y),2,1)):M=VAL(RIGHT$(A$(X,Y),1)):X=131+X*16:Y=7+Y*8
2260 LINE(X,Y)-(X+10,Y-6),PRESET,BF
2270 DRAW"BM"+STR$(X)+","+STR$(Y)+N1$(K)+"BR2"+N1$(L)+"BR2"+N1$(M):PLAY"L32B"
2280 NEXTJ,I:GOSUB 3780:EG=EG-20:GOSUB 990:RETURN
2290 '** SHIELDS
2300 IF DM(3)>0 THEN A$="SHIELDS@OUT@OF@ACTION":GOSUB 3720:FOR D=1 TO 1000:NEXT D:RETURN
2310 A$="DIVERT@TO@OR@FROM@SHIELDS?@":GOSUB 3720
2320 A$=INKEY$:IF A$<>"F" AND A$<>"T" THEN 2320
2330 IF A$="F" THEN A$="FROM":Z=-1
2340 IF A$="T" THEN A$="TO":Z=1
2350 GOSUB 3720:DRAW"BM3,134":A$="ENERGY@TO@DIVERT?@":GOSUB 3720:GOSUB 3100:GOSUB 3780
2360 IF (X>SH ANDZ=-1) OR (X>EG AND Z=1) THEN A$="REGRETTABLY@THAT@IS@IMPOSSIBLE":GOSUB 3720:FOR D=1 TO 1000:NEXT D:RETURN
2370 SH=SH+X*Z:IF SH>1000 THEN A$="EXCESS@ENERGY@IS@DISSIPATED@INTO@SPACE@TO":GOSUB 3720:DRAW"BM3,134":A$="PREVENT@OVERLOAD@OF@SHIELD@MECHANISM":GOSUB3720:SH=1000:FOR D=1 TO 1000:NEXT D
2380 EG=EG-X*Z:IF EG>3000 THEN A$="EXCESS@ENERGY@IS@DISSIPATED@INTO@SPACE@TO":GOSUB 3720:DRAW"BM3,134":A$="PREVENT@OVERLOAD@OF@ENERGY@BANKS":GOSUB 3720:EG=3000:FOR D=1 TO 1000:NEXT D
2390 GOSUB 990:RETURN
2400 '** DAMAGE REPORT
2410 IF DM(1)>0 THEN A$="REPORT@UNAVAILABLE":GOSUB 3720:FORD=1 TO 1000:NEXTD:RETURN
2420 GOSUB 3800:A$="DAMAGE@REPORT":GOSUB 3720
2430 DRAW"BM2,166":A$="ENGINES@":GOSUB 3720:X=DM(0):Y=2:GOSUB 3740:A$="@STARDATES@TILL@REPAIRED":GOSUB 3720
2440 DRAW"BM2,172":A$="REPORTS@":GOSUB3720:X=DM(1):Y=2:GOSUB3740
2450 DRAW"BM2,178":A$="PHASORS@":GOSUB 3720:X=DM(2):Y=2:GOSUB 3740
2460 DRAW"BM2,184":A$="SHIELDS@":GOSUB 3720:X=DM(3):Y=2:GOSUB 3740
2470 DRAW"BM2,190":A$="T@TUBES@":GOSUB 3720:X=DM(4):Y=2:GOSUB 3740
2480 DRAW"C0":RETURN
2490 '** COMPUTER REPORT
2500 IF DM(1)>0 THEN A$="REPORTS@UNAVAILABLE":GOSUB3720:FORD=1 TO 1000:NEXTD:RETURN
2510 GOSUB 3800:A$="COMPUTER@REPORT":GOSUB 3720
2520 DRAW"BM2,166":A$="ENERGY@REMAINING@@@@@@@":GOSUB 3720:X=EG:Y=4:GOSUB 3740
2530 DRAW"BM2,172":A$="STARDATES@REMAINING@@@@@":GOSUB 3720:X=SD:Y=3:GOSUB 3740
2540 DRAW"BM2,178":A$="STARDATES@ELAPSED@@@@@@@":GOSUB 3720:X=SS-SD:Y=3:GOSUB 3740
2550 DRAW"BM2,184":A$="SCORE@@@@@@@@@@@@@@@":GOSUB 3720:X=INT(100000*DK/(SD+1)):Y=7:GOSUB 3740
2560 DRAW"C0":RETURN
2570 '** KLINGON STATUS REPORT
2580 IF DM(1)>0 THEN A$="REPORTS@UNAVAILABLE":GOSUB 3720:FORD=1 TO 1000:NEXTD:RETURN
2590 GOSUB 3800:A$="KLINGON@STATUS@REPORT":GOSUB 3720
2600 DRAW"BM2,166":A$="KLINGONS@REMAINING@":GOSUB3720:X=TK:Y=3:GOSUB 3740
2610 DRAW"BM2,172":A$="KLINGONS@DESTROYED@":GOSUB 3720:X=DK:Y=3:GOSUB 3740
2620 DRAW"BM2,178":A$="KLINGONS@IN@SECTOR@@@":GOSUB 3720:X=KL:Y=1:GOSUB 3740
2630 DRAW"C0": RETURN
2640 '** KLINGON ATTACK
2650 GOSUB 3780:FORT=1TO50STEP8:SOUNDT,1:NEXTT
2660 A$="KLINGON@ATTACK":GOSUB 3720
2670 FORT=1TO50STEP8:SOUNDT,1:NEXTT
2680 FOR Z=1 TO 9:IF KX(Z)=-1 THEN 2770
2690 LINE(3,130)-(253,134),PRESET,BF:DRAW"BM3,134"
2700 D=SQR((PS-KX(Z))^2+(QS-KY(Z))^2):IF D<1 THEN D=1
2710 X=INT(400/(D*(SH+1)^(1/3)))
2720 Y=LEN(STR$(X))-1:GOSUB 3740
2730 A$="@UNITS@HIT@FROM@KLINGONS@"+CHR$(64+Z):GOSUB 3720
2740 IF RND(3)>1 AND X>25 THEN A=RND(5)-1:DM(A)=DM(A)+INT(X/25):GOTO 2760
2750 EG=EG-X:SH=INT(SH-X/2):IF SH<0 THEN SH=0
2760 SOUND120,2:SOUND80,3
2770 NEXTZ:GOSUB 990:RETURN
2780 '** KLINGON'S MOVE
2790 GOSUB 3780:IF KL=0 OR (RND(2)=1 AND KL<9) THEN 2850
2800 A$="KLINGON@GOES@INTO@WARP":GOSUB 3720:Z=10
2810 Z=Z-1:IF KX(Z)=-1 THEN 2810
2820 FOR T=1 TO 255 STEP 10:SOUNDT,1:NEXTT
2830 LINE(KX(Z)*16+1,KY(Z)*8+1)-(KX(Z)*16+15,KY(Z)*8+7),PSET,BF
2840 B(KX(Z),KY(Z))=0:KX(Z)=-1:TK=TK-1:KL=KL-1:A$(PG,QG)=RIGHT$(STR$(KL),1)+RIGHT$(A$(PG,QG),2):GOSUB 940:RETURN
2850 A$="KLINGON@COMES@OUT@OF@WARP":GOSUB 3720:Z=0
2860 Z=Z+1:IF KX(Z)>-1 THEN 2860
2870 X=RND(8)-1:Y=RND(8)-1:IF B(X,Y)<>0 THEN 2870
2880 KX(Z)=X:KY(Z)=Y
2890 FOR T=255TO 1STEP-10:SOUNDT,1:NEXTT
2900 PUT(KX(Z)*16+1,KY(Z)*8+1)-(KX(Z)*16+15,KY(Z)*8+7),KL,PSET
2910 B(KX(Z),KY(Z))=1:TK=TK+1:KL=KL+1:A$(PG,QG)=RIGHT$(STR$(KL),1)+RIGHT$(A$(PG,QG),2):GOSUB 940:RETURN
2920 '** ENTERPRISE IS DESTROYED
2930 X=1+PS*16:Y=1+QS*8
2940 FORT=10 TO 1 STEP-1
2950 PUT(X,Y)-(X+14,Y+6),EN,PSET
2960 SOUND120,T
2970 LINE(X,Y)-(X+14,Y+6),PSET,BF
2980 SOUND135,T
2990 NEXT T
3000 GOSUB 3780:A$="THE@USS@ENTERPRISE@IS@DESTROYED":GOSUB 3720:GOTO 3070
3010 '** OUT OF TIME
3020 GOSUB 3780:A$="YOU@TOOK@TOO@LONG@THE@FEDERATION@IS@DOOMED":GOSUB 3720
3030 FORT=200TO255:SOUNDT,1:NEXTT:GOTO 3070
3040 '** ALL THE KLINGONS ARE DEAD
3050 GOSUB 3780:A$="CONGRATULATIONS@YOU@SAVED@THE@FEDERATION":GOSUB 3720
3060 '** GAME ENDS
3070 GOSUB 2500:DRAW"BM3,134":A$="PRESS@ANY@KEY@TO@START@AGAIN":GOSUB 3720
3080 IF INKEY$="" THEN 3080 ELSE RUN
3090 '** GET 4 DIGIT NUMBER
3100 B$=""
3110 A$=INKEY$:IF A$=CHR$(13)THEN X=VAL(B$):RETURN
3120 IF A$=CHR$(8) AND LEN(B$)>0 THEN DRAW"BL2C1NU4LNU4LNU4LNU4LNU4C0":B$=LEFT$(B$,LEN(B$)-1):GOTO 3110
3130 IF A$<"0" OR A$>"9" OR LEN(B$)=4 THEN 3110
3140 B$=B$+A$:DRAW N2$(VAL(A$))+"BR2":GOTO3110
3150 '** SET P CHARATER ARRAY
3160 DIM AZ$(27):FOR T=0 TO 27:READ AZ$(T):NEXT T
3170 DIM N1$(10): FOR T=0 TO 10:READ N1$(T): NEXT T
3180 DIM N2$(9):FOR T =0 TO 9:READ N2$(T):NEXT T:RETURN
3190 '** LETTERS (AZ$)
3200 DATA BU4R4D2L2D2BR2
3210 DATA BR4
3220 DATA NRU4R4D3NL3D
3230 DATA NR4UNRUNR2U2R3D2RD2
3240 DATA NR4UNRUNRU2R4DBD2D
3250 DATA RNR2NU2LU4R3FD2BD
3260 DATA NR4UNRUNR4U2R4BD4
3270 DATA RNULU2NR4U2R4BD4
3280 DATA RNR3NU2LU4R4BD2D2
3290 DATA RNULU2NR3U2BR4D4
3300 DATA BR2NU2RNU4BR
3310 DATA R2NU2RU4NL3RBD4
3320 DATA NU4RU2R2NU2RD2
3330 DATA NU4RNU2R3
3340 DATA U4R2ND3R2D4
3350 DATA U4RF3NU3D
3360 DATA RNU2LU4R4D4NL4
3370 DATA NRUNR4U3R4D3BD
3380 DATA U4R4D3NL2DNL4
3390 DATA RNU2LU4R4D2L2F2
3400 DATA R3NURU2L4U2R4BD4
3410 DATA BR3NU2LU4NL2R2BD4
3420 DATA NU4RNU2R3NU4
3430 DATA U4RD2BD2REUEUBD4
3440 DATA NU4R2NU4R4NU4
3450 DATA NU2RU2NU2R2NU2RD2
3460 DATA BU2U2RD2R3NU2D2
3470 DATA U2RND2R3U2NL4BD4NL2
3480 '** NUMBERS(N1$)
3490 DATA U6R2D6NL2
3500 DATA BRNU6BR
3510 DATA U3R2U3NL2BD6NL2
3520 DATA R2U3NL2U3NL2BD6
3530 DATA BU3NU3R2NU3D3
3540 DATA R2U3L2U3R2BD6
3550 DATA NU2R2U3L2U3R2BD6
3560 DATA BU6R2D6
3570 DATA U6R2D3NL2D3NL2
3580 DATA R2U6L2D3R2BD3
3590 DATA E2H2E2BD6
3600 '** NUMBERS (N2$)
3610 DATA XAZ$(16);
3620 DATA XAZ$(10);
3630 DATA XAZ$(27);
3640 DATA BU4R4D2NL4DNLDNL4
3650 DATA XAZ$(26);
3660 DATA XAZ$(20);
3670 DATA UNRU3R4BD2NL4D2NL4
3680 DATA BU4R4D4LNU2R
3690 DATA UNRUNR4U2R4D4NL4
3700 DATA BU2NR4UNRUR4D4NL4
3710 '** PRINT A$
3720 FOR T=1 TO LEN(A$):DRAW AZ$(ASC(MID$(A$,T,1))-63)+"BR2":NEXT T:RETURN
3730 '** PRINT X IN Y DIGITS
3740 A$=MID$(STR$(X),2)
3750 IF LEN(A$)<Y THEN A$="0"+A$:GOTO 3750
3760 FOR T=1 TO LEN(A$):DRAW N2$(VAL(MID$(A$,T,1)))+"BR2":NEXT T:RETURN
3770 '** CLEAR TEXT WINDOW
3780 LINE(3,124)-(253,134),PRESET,BF:DRAW"BM3,128":RETURN
3790 '** CLEAR REPORT WINDOW
3800 LINE(1,150)-(254,190),PSET,BF:DRAW"BM2,154C1":RETURN
3810 GOSUB3800:A$="INSTRUCTION@SUMMARY":GOSUB 3720
3820 DRAW"BM2,166":A$="P@@PHASORS":GOSUB3720
3830 DRAW"BM2,172":A$="T@@TORPEDOES":GOSUB3720
3840 DRAW"BM2,178":A$="W@@WARP@DRIVE":GOSUB3720
3850 DRAW"BM2,184":A$="S@@SHIELDS":GOSUB 3720
3860 DRAW"C0"
3870 IF INKEY$="" THEN 3870
3880 GOSUB3800:A$="INSTRUCTION@SUMMARY":GOSUB3720
3890 DRAW"BM2,166":A$="D@@DAMAGE@REPORT":GOSUB3720
3900 DRAW"BM2,178":A$="K@@KLINGON@STATUS@REPORT":GOSUB3720
3910 DRAW"BM2,172":A$="C@@COMPUTER@REPORT":GOSUB3720
3920 DRAW"BM2,184":A$="TO@MOVE@IN@SECTOR@USE@ARROW@KEYS":GOSUB3720
3930 IF INKEY$="" THEN 3930
3940 DRAW"C0"
3950 GOSUB3800:A$="INSTRUCTION@SUMMARY":GOSUB3720
3960 DRAW"BM2,166":A$="L@@LONG@RANGE@SCAN":GOSUB3720
3970 DRAW"BM200,166":A$="VECTORS":GOSUB3720
3980 DRAW"BM200,178":X=7:Y=1:GOSUB3740:A$="@":GOSUB3720:X=0:Y=1:GOSUB3740:A$="@":GOSUB3720:X=1:Y=1:GOSUB3740
3990 DRAW"BM2,178":A$="NUMBERS@OF":GOSUB3720
4000 DRAW"BM2,184":A$="KLINGONS@STARBASES@STARS":GOSUB3720
4010 DRAW"BM2,190":A$="IN@SECTOR":GOSUB3720
4020 DRAW"BM200,184":X=6:Y=1:GOSUB3740:A$="@@@":GOSUB3720:X=2:Y=1:GOSUB3740
4030 DRAW"BM200,190":X=5:Y=1:GOSUB3740:A$="@":GOSUB3720:X=4:Y=1:GOSUB3740:A$="@":GOSUB3720:X=3:Y=1:GOSUB3740
4040 DRAW"C0":RETURN
sorchard
Posts: 530
Joined: Sat Jun 07, 2014 9:43 pm
Location: Norwich UK

Re: Unknown Dragon Star Trek Game.

Post by sorchard »

Cheers for the listing Briza.

Pretty interesting... Three slightly different versions, from very different places, all based on the exact same code. Mine is almost exactly the same as the archive version, the main difference being mine asks if instructions are required before entering the skill level.

Yours has been tweaked for presentation, an instruction summary is available during play and it has been renumbered.

All three versions appear to have the same bugs, plus another one I spotted in your version. I'll have a go at fixing them.
Stew
briza
Posts: 25
Joined: Sun Mar 29, 2009 1:16 pm

Re: Unknown Dragon Star Trek Game.

Post by briza »

Hopefully after using the 3 versions and fixing the obvious bugs 1 complete 100% working copy can be made. graphically this version is pretty cool compared to the others I have seen.

laters

Briza
bluearcus
Posts: 142
Joined: Wed Sep 07, 2016 4:45 pm

Re: Unknown Dragon Star Trek Game.

Post by bluearcus »

This looks massively like a type-in Star Trek game I spent a lot of time with too, though I'm not sure if I still have a copy. Will check my basic program disks.

Update: Sadly no joy. Have tried to recall what magazine it might have been from. I would guess Your Computer or PCN?
bluearcus
Posts: 142
Joined: Wed Sep 07, 2016 4:45 pm

Re: Unknown Dragon Star Trek Game.

Post by bluearcus »

From discussions on the Facebook group, it seems this game made it (with a revised copyright message) onto the Cascade software 'Cassette 50' games compendium. I haven't compared the sources, but it's definitely the same game...
User avatar
robcfg
Posts: 1529
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden
Contact:

Re: Unknown Dragon Star Trek Game.

Post by robcfg »

From all possible places, that's a fun one to show up... :mrgreen:
Alastair
Posts: 669
Joined: Fri Jul 18, 2008 11:33 pm

Re: Unknown Dragon Star Trek Game.

Post by Alastair »

It appeared on the 1984 version of the infamous tape, as can be seen on the wiki entry:
Image

I did not recognise it as I played/suffered* the 1983 version which has a different Star Trek game:
Image

* Thankfully I never bought the thing. I downloaded a copy and checked all of the games on an emulator, I just wanted to see if it was really as bad as I imagined it to be or if cynical me had missed out on a bargain. I have never tried the 1984 version, I fear the experience will be just as traumatic!
briza
Posts: 25
Joined: Sun Mar 29, 2009 1:16 pm

Re: Unknown Dragon Star Trek Game.

Post by briza »

Need to get back too it one day and see how if it can be enhanced in ways.

laters

Briza
Post Reply