Screenshot 1 Screenshot 2
2bc0 5e01 0000 B ... ENTERPRI.B
Monitoraufrufe:
keine:
Verwendete IO-Ports bzw. Hardware:
keine []
Überarbeitete Version von [aae41d1a5966c6e4a5c39b4bc1108e73] mit Groß- und Kleinschreibung, sowie weniger Rechtschreibfehlern.
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

    1!**************************
    2!*                        *
    3!*   *** ENTERPRISE ***   *
    4!*                        *
    5!*  PROGRAM  BY M.BRUMME  * 
    6!*  9022 KARL-MARX-STADT  *
    7!*     VETTERSSTR. 61     *
    8!*      25.4.1974         *
    9!**************************
   10 CLEAR 1000:WINDOW:CLS
   20 GOSUB 4840
   30!SEKTORBECHNUNG
   40 DIM A(72),K(72),B(72),D(72),F$(72)
   50 FOR N=1 TO 72
   60 A(N)=INT(RND(1)*7+1)
   70 NEXT N
   80 KA=INT(RND(1)*13+36) 
   90 FOR S=1 TO KA
  100 N=INT(RND(1)*71+1)
  110 IF K(N)>0 THEN K(N)=K(N)+1:GOTO 130
  120 K(N)=1
  130 NEXT S 
  140 BA=INT((KA-21)/3)
  150 FOR S=1 TO BA 
  160 N=INT(RND(1)*71+1)
  170 IF B(N)=1 THEN S=S-1:GOTO 190
  180 B(N)=1
  190 NEXT S
  200 E=5000:P=8
  210!BILDAUFBAU
  220 N=33:U=13:L=2
  230 GOSUB 1370
  240 D(N)=2:WINDOW:CLS
  250 PRINT AT(0,0);" RAUMSEKTOR",KO,KO$ 
  280 WINDOW 3,20,0,14:PRINT LQ$
  310!STERNE
  320 ON A(N)GOTO 410,400,390,380,370,360,350,340
  330 IF A(N)=0 THEN 420
  340 PRINT AT(13,8);""
  350 PRINT AT(11,4);""
  360 PRINT AT(15,2);""
  370 PRINT AT(9,8);""
  380 PRINT AT(11,12);""
  390 PRINT AT(5,12);""
  400 PRINT AT(15,10);""
  410 PRINT AT(7,2);""
  420!KLINGONEN
  430 IF K(N)=0 THEN 570
  440 FOR I=1 TO K(N)
  450 X(I)=INT(RND(1)*10+5)
  460 IF X(I)/2=INT(X(I)/2)THEN X(I)=X(I)+1
  470 Y(I)=INT(RND(1)*10+2)
  480 IF Y(I)/2<>INT(Y(I)/2)THEN Y(I)=Y(I)-1
  490 IF X(I)=U AND Y(I)=L THEN I=I-1:GOTO 560
  500 FOR J=1 TO K(N)
  510 IF I=J THEN 540
  520 IF X(I)=X(J)THEN I=I-1:GOTO 560
  530 IF Y(I)=Y(J)THEN I=I-1:GOTO 560
  540 NEXT J
  550 PRINT AT(X(I),Y(I));"K"
  560 NEXT I
  570!BASISRAUMER
  580 IF B(N)=0 THEN 690
  590 F=INT(RND(1)*10+5)
  600 IF F/2=INT(F/2)THEN F=F-1
  610 FOR I=0 TO K(N)
  620 IF F=X(I)THEN 590
  630 NEXT I
  640 C=INT(RND(1)*10+2)
  650 IF C/2<>INT(C/2)THEN C=C+1
  660 FOR I=0 TO K(N)
  670 IF C=Y(I)THEN 640
  680 NEXT I:PRINT AT(F,C);"B"
  690 IF RH=1 THEN D(N)=1:RETURN
  700!ENTERPRISE
  710 Q=PEEK(32*U+L-5120)
  720 PRINT AT(U,L);""
  730!REPORT-RAHMEN  
  740 PRINT AT(0,17);""
  750 PRINT AT(1,17);"  COMPUTER-  "
  760 PRINT AT(2,17);"":PRINT AT(2,31);""
  770 PRINT AT(3,17);"  REPORT     "
  780 PRINT AT(4,17);""
  790 FOR Z=5 TO 16
  800 PRINT AT(Z,17);"":PRINT AT(Z,31);""
  810 NEXT Z
  820 PRINT AT(17,17);""
  825 IF Q<>166 THEN GOSUB 1430:GOSUB 4060
  830 GOSUB 4510:GOSUB 1430:IF AH=1 THEN 1820
  840 IF YH=1 THEN 2010
  860 GOSUB 1220:WINDOW 19,31,0,31:CLS:WINDOW:PRINT AT(0,0);" "
  890 PRINT AT(22,0);"->Hyperantrieb"
  900 PRINT AT(24,0);"->Plasmawolke"
  910 PRINT AT(26,0);"->Sternenkarte"
  920 PRINT AT(28,0);"->Umkreissensoren"
  930 PRINT AT(30,0);"->Check Enterprise"
  940 PRINT AT(22,19);"->Antrieb"
  950 PRINT AT(24,19);"->Torpedo"
  960 PRINT AT(26,19);"->Raumsektor-"
  970 PRINT AT(27,21);"bild":XV=80
  980 TH=TH+1:IF TH>2 THEN T=T-1:TH=0:GOSUB 4460
  983 GOTO 988
  985 XW=XV:NEXT:GOTO 1000
  988 PRINT AT(20,5);"KOMMANDO-EINGABE !"
  990 FOR XW=0 TO XV:IY$=INKEY$:IF IY$=""THEN NEXT:ELSE 985
  991 PRINT AT(20,5);"                  "
  992 FOR XW=0 TO XV/2:IY$=INKEY$:IF IY$=""THEN NEXT:GOTO 988:ELSE 985
 1000 IF IY$="A"THEN RD=1:GOSUB 4320:ELSE 1020
 1010 IF GT(1)=0 THEN PAUSE 5:GOSUB 1590:GOSUB 1760:GOTO 1820:ELSE PAUSE 20:GOTO 830
 1020 IF IY$="H"THEN RD=2:GOSUB 4320:ELSE 1040
 1030 IF GT(2)=0 THEN GOSUB 1590:GOSUB 1760:GOTO 2070:ELSE PAUSE 20:GOTO 830
 1040 IF IY$="T"THEN RD=3:GOSUB 4320:ELSE 1070
 1050 IF GT(3)=0 THEN GOSUB 1590:GOTO 2270:ELSE PAUSE 20:GOTO 830
 1070 IF IY$="S"THEN RD=6:GOSUB 4320:ELSE 1100
 1080 IF GT(6)=0 THEN 3400:ELSE PAUSE 20:GOTO 830
 1100 IF IY$="C"THEN 3790
 1110 IF IY$="R"THEN RD=7:GOSUB 4320:ELSE 1130
 1120 IF GT(7)=0 THEN 2500:ELSE PAUSE 20:GOTO 830
 1130 IF IY$="P"THEN RD=4:GOSUB 4320:ELSE 1150
 1140 IF GT(4)=0 THEN 2740:ELSE PAUSE 20:GOTO 830
 1150 IF IY$="U"THEN RD=5:GOSUB 4320:ELSE 990
 1160 IF GT(5)=0 THEN 2880:ELSE PAUSE 20:GOTO 830
 1220!KLINGONEN-BESCHUSS
 1230 IF K(N)=0 THEN RETURN
 1240 WINDOW 19,31,0,31:CLS:PRINT AT(19,0);" "
 1250 PRINT AT(22,0);"KLINGONENBESCHUSS"
 1260 BEEP:ES=K(N)*300
 1270 PRINT AT(25,0);"Energieschild aufgebaut !"
 1280 PRINT AT(27,0);ES,"Energie benoetigt"
 1290 IF AGD=1 THEN 1340
 1300 E=E-ES:IF E>0 THEN 1340
 1310 BEEP:CLS:PRINT AT(24,0);"Sie haben keine Chance mehr !"
 1320 PRINT AT(27,0);"Energie restlos verbraucht !!"
 1330 PRINT AT(29,0);"AUSFALL LEBENSERHALTUNGSSYSTEME!":WINDOW:END
 1340 GOSUB 1430:WINDOW 19,31,0,31:PRINT AT(19,0);" "
 1350 PAUSE 20:CLS:WINDOW:RETURN
 1360!
 1370!KOORDINATENBERECHNUNG
 1380 KO=INT(((N-1)/6)+1)
 1390 H=N-((KO-1)*6)+64
 1400 KO$=CHR$(H)
 1410 RETURN
 1420!
 1430!COMPUTER-REPORT
 1440 WINDOW 5,16,18,30:CLS
 1450 PRINT "STERNTAGE ";T
 1460 PRINT "ENERGIE ";E
 1470 IF E<100 THEN PRINT
 1480 PRINT "TORPEDO    ";P
 1490 IF AGD=1 THEN PRINT " ANGEDOCKT !":PRINT:ELSE PRINT:PRINT
 1500 PRINT "KLINGONEN ";KA
 1510 PRINT "BASISRAUMER";BA;
 1520 WINDOW:PRINT AT(0,0);" "
 1530 IF T<1 THEN PRINT AT(25,0);"Ihre Vorraete sind erschoepft !":ELSE 1550
 1540 PRINT AT(28,0);"Die Mission ist gescheitert !!":WINDOW:END
 1550 IF KA>0 THEN RETURN:ELSE WINDOW 19,31,0,31:CLS 
 1560 PRINT AT(24,1);"Sie haben die Galaxis befreit !" 
 1570 PRINT AT(27,1);"Die Erde ist stolz auf Sie !!!":WINDOW:END
 1580!
 1590!RICHTUNG
 1600 WINDOW 19,31,0,31:CLS:PRINT AT(19,0);" "
 1610 PRINT AT(25,2);"RICHTUNG"
 1620 PRINT AT(23,19);"Q W E":PRINT AT(24,20);""
 1630 PRINT AT(25,19);"AD":PRINT AT(26,20);""                     
 1640 PRINT AT(27,19);"Z X C"
 1650 IY$=INKEY$:IF IY$=""THEN 1650
 1660 IF IY$="Q"THEN M=-2:LC=-2:W=-7:GOTO 1740
 1670 IF IY$="W"THEN M=0:LC=-2:W=-6:GOTO 1740
 1680 IF IY$="E"THEN M=2:LC=-2:W=-5:GOTO 1740
 1690 IF IY$="A"THEN M=-2:LC=0:W=-1:GOTO 1740
 1700 IF IY$="D"THEN M=2:LC=0:W=1:GOTO 1740
 1710 IF IY$="Z"THEN M=-2:LC=2:W=5:GOTO 1740
 1720 IF IY$="X"THEN M=0:LC=2:W=6:GOTO 1740
 1730 IF IY$="C"THEN M=2:LC=2:W=7:ELSE 1650
 1740 CLS:PRINT AT(19,0);" ":RETURN
 1750!
 1760!ENTFERNUNGS-WAHL
 1770 PRINT AT(25,2);"ENTFERNUNGS-WAHL (0 - 9)
 1780 IY$=INKEY$:IF IY$=""THEN 1780:ELSE SW=ASC(IY$)-48
 1790 IF SW<0 OR SW>9 THEN 1780
 1800 CLS:RETURN
 1820!ANTRIEB
 1830 AH=0
 1840 IF SW=0 THEN WINDOW 19,31,0,31:CLS:GOTO 830
 1850 FOR IJ=1 TO SW
 1860 GOSUB 4510
 1870 IF ADG=1 THEN 1890
 1880 E=E-10:IF E<1 THEN 4730
 1890 KU=U:U=U+LC  
 1900 IF U<3 THEN SW=SW-IJ:D(N)=1:AHH=1:GOSUB 2120:N=N-6:GOSUB 2200:U=17:ELSE 1920
 1910 AHH=0:AH=1 
 1920 IF U>17 THEN SW=SW-IJ:D(N)=1:AHH=1:GOSUB 2120:N=N+6:GOSUB 2200:U=3:ELSE 1940
 1930 AHH=0:AH=1
 1940 KL=L:L=L+M
 1950 IF L<0 THEN SW=SW-IJ:D(N)=1:AHH=1:GOSUB 2120:N=N-1:GOSUB 2200:ELSE 1970
 1960 AHH=0:L=14:AH=1
 1970 IF L>14 THEN SW=SW-IJ:D(N)=1:AHH=1:GOSUB 2120:N=N+1:GOSUB 2200:ELSE 1990
 1980 AHH=0:L=0:AH=1 
 1990 IF AH=1 THEN 230
 2000 PRINT AT(KU,KL);""
 2010 Q=PEEK(32*U+L-5120)
 2020 PRINT AT(U,L);""
 2030 IF Q<>166 THEN IJ=SW:GOSUB 4060
 2040 IF YH=1 THEN YH=0:GOTO 840
 2050 NEXT IJ:AH=0:GOTO 830
 2060!
 2070!HYPERANTRIEB
 2080 D(N)=1:PRINT AT(23,5);"HYPERANTRIEB !":PRINT AT(19,0);" "
 2090 IF SW=0 THEN WINDOW 19,31,0,31:CLS:GOTO 830
 2100 IF SW>5 THEN TH=TH-1
 2110 FOR JI=1 TO SW
 2120 FOR S=1 TO 67 STEP 6
 2130 IF AHH=1 AND L>0 THEN 2150
 2140 IF N=S AND W=5 OR N=S AND W=-7 OR N=S AND W=-1 THEN 4800
 2150 IF AHH=1 AND L<14 THEN 2170
 2160 IF N=S+5 AND W=1 OR N=S+5 AND W=7 OR N=S+5 AND W=-5 THEN 4800
 2170 NEXT S
 2180 IF AHH=1 THEN RETURN
 2190 N=N+W
 2200 IF N<1 OR N>72 THEN 4800
 2210 IF AHH=1 THEN RETURN
 2220 IF ADG=1 THEN 2240
 2230 E=E-100:IF E<1 THEN 4730
 2240 GOSUB 1430:YH=1
 2250 NEXT JI:GOTO 230
 2260!
 2270!TORPEDO
 2280 R=U:O=L:P=P-1:IF P<0 THEN PRINT AT(25,2);"TORPEDOS SIND ALLE !":P=0:GOTO 2480
 2290 PRINT AT(23,4);"TORPEDO !":RT=0:FOR TP=1 TO 10
 2300 PH=R:RT=RT+1
 2310 R=R+LC:OH=O:O=O+M
 2320 IF R<3 OR R>17 THEN 2470
 2330 IF O<0 OR O>14 THEN 2470
 2340 Q=PEEK(32*R+O-5120)
 2350 IF Q=166 THEN PAUSE 2:HH=0:GOTO 2410:ELSE HH=1
 2360 TP=10
 2370 ZQ$="KLINGONE VERNICHTET !":ZU$="BASISRAUMER VERNICHTET !":ZZ$=""
 2380 IF Q=75 THEN ZZ$=ZQ$:KA=KA-1:K(N)=K(N)-1
 2390 IF Q=66 THEN ZZ$=ZU$:BA=BA-1:B(N)=0
 2400 IF Q=201 THEN ZZ$="STERN VERNICHTET !":A(N)=A(N)-1
 2410 IF RT=1 THEN 2430
 2420 PRINT AT(PH,OH);""
 2430 PRINT AT(R,O);""
 2440 IF HH=1 THEN 2460
 2450 NEXT TP:GOTO 2480
 2460 PRINT AT(25,2);ZZ$:PRINT AT(R,O);"":GOTO 2480
 2470 PRINT AT(PH,OH);""
 2480 PAUSE 10:WINDOW 19,31,0,31:CLS:GOTO 830
 2490!
 2500!RAUMSKTORBILD
 2510 WINDOW 19,31,0,31:CLS:E=E-20:PRINT AT(19,0);" "
 2520 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT "   RAUMSEKTOR ?  (ZEILE,SPALTE)"
 2530 PRINT:INPUT "   --";RA,RA$
 2540 NH=N:RSH=ASC(RA$)-64
 2550 IF RSH<1 OR RSH>6 THEN 2510
 2560 IF RA<1 OR RA>12 THEN 2510
 2570 N=((RA-1)*6)+RSH
 2580 IF D(N)=0 THEN CLS:PRINT AT(25,2);"SEKTOR NICHT ERFORSCHT !":ELSE 2600
 2590 PRINT AT(19,0);" ":PAUSE 15:CLS:N=NH:GOTO 830
 2600 RH=1:GOSUB 230:RH=0
 2610 PRINT AT(24,9);"RAUMSEKTORBILD"
 2620 PRINT AT(30,24);">ENTER<"
 2630 PRINT AT(4,17);"BEACHTEN SIE,"
 2640 PRINT AT(6,17);"DASS SICH"
 2650 PRINT AT(8,17);"KLINGONEN UND"
 2660 PRINT AT(10,17);"BASISRAUMER"
 2670 PRINT AT(12,17);"INNERHALB DES"
 2680 PRINT AT(14,17);"SEKTORS BEWEGEN"
 2690 PRINT AT(16,17);"KOENNEN !"
 2700 BEEP:N=NH
 2710 IY$=INKEY$:IF IY$=""THEN 2710
 2720 GOTO 230
 2730!
 2740!PLASMAWOLKE
 2750 WINDOW 19,31,0,31:CLS:ES=0:PRINT AT(19,0);" "
 2760 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT "   PLASMAWOLKE !"
 2770 PRINT:INPUT "   ENERGIEMENGE --";ES
 2780 IF AGD=1 THEN 2810
 2790 E=E-ES:IF E<1 THEN 4730
 2800 GOSUB 1430
 2810 IF K(N)=0 THEN PRINT AT(26,2);"VERSCHWENDUNG !          ":GOTO 2860
 2820 EBN=K(N)*300+200
 2830 IF ES<EBN THEN PRINT AT(26,2);EBN-ES,"ENERGIE ZU WENIG !":GOTO 2860
 2840 PRINT AT(26,2);"KLINGONEN VERNICHTET !"
 2850 KA=KA-K(N):K(N)=0:BEEP
 2860 PAUSE 20:GOTO 230
 2870!
 2880!UMKREISSENSOREN
 2890 WINDOW 19,31,0,31:CLS:PRINT AT(19,0);" "
 2900 US=3
 2910 FOR UH=5 TO 7  
 2920 NU=N-UH:IF NU<1 THEN U(US)=0:GOTO 2940
 2930 U(US)=A(NU)*100+K(NU)*10+B(NU)
 2940 US=US-1
 2950 NEXT UH
 2960 IF N-1<1 THEN 2980
 2970 U(4)=A(N-1)*100+K(N-1)*10+B(N-1)
 2980 IF N+1>72 THEN 3000
 2990 U(6)=A(N+1)*100+K(N+1)*10+B(N+1)
 3000 FOR UH=5 TO 7
 3010 IF N+UH>72 THEN U(UH+2)=0:GOTO 3030
 3020 U(UH+2)=A(N+UH)*100+K(N+UH)*10+B(N+UH)
 3030 NEXT UH
 3040 FOR UH=1 TO 9
 3050 IF UH=5 THEN NEXT UH
 3060 F$(UH)=STR$(U(UH))
 3070 NEXT UH
 3080 F$(5)=" *KB"
 3090 PRINT AT(23,0);"UMKREIS-":I=1
 3100 PRINT AT(25,0);"SENSOREN-BILD"
 3110 IF N=I THEN 3140
 3120 I=I+6:IF I>67 THEN 3150
 3130 GOTO 3110
 3140 F$(1)="":F$(4)="":F$(7)=""
 3150 IF N/6<>INT(N/6)THEN 3170
 3160 F$(3)="":F$(6)="":F$(9)=""
 3170 IF N-6>0 THEN 3190
 3180 F$(1)="":F$(2)="":F$(3)=""
 3190 IF N+6<73 THEN 3210
 3200 F$(7)="":F$(8)="":F$(9)=""
 3210 UY=19:UX=21
 3220 FOR US=1 TO 9
 3230 PRINT AT(UX,UY);F$(US)
 3240 IF UY=27 THEN UY=15:UX=UX+3
 3250 UY=UY+4
 3260 NEXT US
 3270 IY$=INKEY$
 3280 PRINT AT(30,25);">ENTER<"
 3290 IF IY$=""THEN 3270
 3300 IF F$(1)<>""THEN D(N-7)=1
 3310 IF F$(2)<>""THEN D(N-6)=1
 3320 IF F$(3)<>""THEN D(N-5)=1
 3330 IF F$(4)<>""THEN D(N-1)=1
 3340 IF F$(6)<>""THEN D(N+1)=1
 3350 IF F$(7)<>""THEN D(N+5)=1
 3360 IF F$(8)<>""THEN D(N+6)=1
 3370 IF F$(9)<>""THEN D(N+7)=1
 3380 CLS:GOTO 830
 3390!
 3400!STERNENKARTE
 3410 WINDOW:CLS:PRINT AT(0,0);""
 3420 FOR S=1 TO 30
 3430 PRINT AT(S,0);"":PRINT AT(S,4);"":PRINT AT(S,30);""
 3440 NEXT S
 3450 FS$=STRING$(29,"") 
 3460 PRINT AT(0,1);FS$:PRINT AT(2,1);FS$:PRINT AT(30,1);FS$
 3470 PRINT AT(28,1);FS$
 3480 PRINT AT(30,0);"":PRINT AT(30,30);""
 3490 PRINT AT(28,0);"":PRINT AT(28,4);"":PRINT AT(28,30);""
 3500 PRINT AT(0,0);"":PRINT AT(2,0);"" 
 3510 PRINT AT(0,30);"":PRINT AT(2,30);""
 3520 PRINT AT(1,1);"*KB":PRINT AT(1,7);"A":PRINT AT(1,11);"B"
 3530 PRINT AT(1,15);"C":PRINT AT(1,19);"D":PRINT AT(1,23);"E"
 3540 PRINT AT(1,27);"F"
 3550 SX=2
 3560 FOR S=1 TO 9 
 3570 SX=SX+2
 3580 PRINT AT(SX,1);S
 3590 NEXT S:PRINT AT(29,1);"STERNENKARTE":PRINT AT(29,23);">ENTER<"
 3600 PRINT AT(22,1);"10":PRINT AT(24,1);"11":PRINT AT(26,1);"12"
 3610 NH=N:PRINT AT(15,10);"BITTE WARTEN !"
 3620 FOR N=1 TO 72 
 3630 IF D(N)=0 THEN F$(N)=" XXX":GOTO 3660
 3640 IF D(N)=2 THEN F$(N)=" *KB":GOTO 3660
 3650 F$(N)=STR$(A(N)*100+K(N)*10+B(N))
 3660 NEXT N:N=1:PRINT AT(15,10);STRING$(15," ")
 3670 FOR G=4 TO 26 STEP 2
 3680 FOR M=5 TO 25 STEP 4
 3690 PRINT AT(G,M);F$(N)
 3700 N=N+1
 3710 NEXT M:NEXT G
 3720 N=NH:IY$=""
 3730 IY$=INKEY$
 3740 IF IY$<>CHR$(13)THEN 3730
 3750 E=E-25:IF E<1 THEN 4730
 3760 TH=TH+1:IF TH>6 THEN T=T-1:TM=0
 3770 GOTO 230
 3780!
 3790!CHECK ENTERPRISE
 3800 WINDOW:CLS
 3810 PRINT AT(3,4);"CHECK ENTERPRISE"
 3820 PRINT AT(5,21);"REPARATUR-":PRINT AT(6,21);"DAUER"
 3830 PRINT AT(8,2);"BORDSYSTEM":PRINT AT(8,18);"ZUSTAND"
 3840 PRINT AT(8,27);"TAGE"
 3850 PRINT AT(11,2);"ANTRIEB":PRINT AT(13,2);"HYPERANTRIEB"
 3860 PRINT AT(15,2);"TORPEDO-ANTRIEB":PRINT AT(17,2);"PLASMAWOLKE"
 3870 PRINT AT(19,2);"UMKREISSENSOREN":PRINT AT(21,2);"STERNENKARTE"
 3880 PRINT AT(23,2);"RAUMSEKTOR-BILD":PRINT AT(30,21);">ENTER<"
 3890 CB$="BEREIT":CD$="DEFEKT"
 3900 FOR S=1 TO 7
 3910 IF TG(S)=0 THEN CC$(S)=CB$:ELSE CC$(S)=CD$
 3920 NEXT S:CX=9
 3930 FOR S=1 TO 7
 3940 CX=CX+2
 3950 PRINT AT(CX,18);CC$(S)
 3960 IF TG(S)=0 THEN 3990
 3970 PRINT AT(CX,29);TG(S)
 3980 TG(S)=TG(S)-1
 3990 NEXT S
 4000 T=T-1:PRINT AT(0,0);" "
 4010 IY$=""
 4020 IY$=INKEY$
 4030 IF IY$<>CHR$(13)THEN 4020
 4040 GOTO 230
 4050!
 4060!KOLLISION
 4070 KH=1
 4080 WINDOW 19,31,0,31:CLS:PRINT AT(19,0);" "
 4090 IF Q=201 THEN ALS=3:A(N)=A(N)-1:AL$="STERN !"
 4100 IF Q=75 THEN ALS=1:K(N)=K(N)-1:KA=KA-1:AL$="KLINGON !"
 4110 IF Q=66 THEN ALS=2:B(N)=B(N)-1:BA=BA-1:AL$="BASISRAUMER !"
 4120 IF AL$=""THEN RETURN
 4130 PRINT AT(22,5);"KOLLISION MIT ",AL$
 4140 PRINT AT(24,5);"ARLARMSTUFE",ALS
 4150 BEEP:BEEP:BEEP
 4160 FOR S=1 TO 10
 4170 BEEP:PRINT AT(U,L);"":PRINT AT(26,5);"ENTERPRISE BESCHAEDIGT !":PAUSE 2
 4180 PRINT AT(26,5);STRING$(23," "):PRINT AT(U,L);"":BEEP:PAUSE 2:NEXT
 4190 PRINT AT(26,5);"ENTERPRISE BESCHAEDIGT":CK=INT(RND(1)*7+1)
 4200 PRINT AT(28,5);"HINDERNIS VERNICHTET !":PAUSE 1:FOR S=1 TO CK
 4210 CA=INT(RND(1)*7+1)
 4220 TG(CA)=INT(RND(1)*6+1)
 4230 NEXT S:PAUSE 20:CLS:IF TG(1)<6 AND TG(2)<6 THEN 4300
 4240 PRINT:PRINT:PRINT:PRINT:PRINT "  ALLE ANTRIEBSSYSTEME DEFEKT !
 4250 PRINT:PRINT "  REPARATUR UNMOEGLICH !"
 4260 BEEP:PRINT:PRINT "SIE TREIBEN ANTRIEBSLOS IM ALL !":WINDOW:END
 4270 PRINT:PRINT
 4280 IF CK=8 THEN PRINT:PRINT:PRINT:PRINT "SAEMTLICHE BORDSYSTEME DEFEKT !"
 4290 PRINT:PRINT " KEINE RETTUNG MEHR MOEGLICH !"
 4300 AL$="":Q=166:RETURN
 4310!
 4320!REPARATURDAUER
 4330 WINDOW 19,31,0,31:CLS:PRINT AT(19,0);" "
 4340 IF TG(RD)=0 THEN GT(RD)=0:RETURN
 4350 ON RD GOTO 4360,4370,4380,4390,4400,4410,4420
 4360 RD$="   ANTRIEB":GOTO 4430
 4370 RD$="HYPERANTRIEB":GOTO 4430
 4380 RD$=" TORPEDO-ANTRIEB":GOTO 4430
 4390 RD$="  PLASMAWOLKE":GOTO 4430
 4400 RD$="UMKREISSENSOREN":GOTO 4430
 4410 RD$=" STERNENKARTE":GOTO 4430
 4420 RD$="RAUMSEKTOR-BILD"
 4430 PRINT AT(24,2);RD$," DEFEKT !"
 4440 PRINT AT(26,2);"REPARATURDAUER",TG(RD),"STERNENTAGE"
 4450 T=T-1
 4460 FOR S=1 TO 7
 4470 TG(S)=TG(S)-1
 4480 IF TG(S)<0 THEN TG(S)=0:GT(S)=0:ELSE GT(S)=1
 4490 NEXT S:RETURN
 4500!
 4510!ANDOCKKONTROLLE
 4520 DH=1
 4530 AG=0:AD=2:GOTO 4680
 4540 DH=2
 4550 AG=-2:AD=2:GOTO 4680
 4560 DH=3 
 4570 AG=-2:AD=0:GOTO 4680
 4580 DH=4
 4590 AG=-2:AD=-2:GOTO 4680
 4600 DH=5
 4610 AG=0:AD=-2:GOTO 4680
 4620 DH=6
 4630 AG=2:AD=-2:GOTO 4680
 4640 DH=7
 4650 AG=2:AD=0:GOTO 4680
 4660 DH=8
 4670 AG=2:AD=2:GOTO 4680
 4680 Q=PEEK(32*(U+AG)+(L+AD)-5120)
 4690 IF Q=66 THEN AGD=1:E=5000:P=8:RETURN:ELSE AGD=0
 4700 IF DH=8 THEN RETURN
 4710 ON DH GOTO 4540,4560,4580,4600,4620,4640,4660
 4720!
 4730!VERSCHOLLEN
 4740 WINDOW 19,31,0,31:CLS:PRINT AT(19,0);" ":BEEP:BEEP
 4750 PRINT AT(23,0);"IHRE ENERGIE REICHTE NICHT AUS !"
 4760 PRINT AT(25,0);"SIE SIND IM HYPERRAUM":PRINT AT(27,0);"VERSCHOLLEN !!!"
 4770 PAUSE 50:WINDOW:BEEP:CLS
 4780 BEEP:END
 4790!
 4800! GEFLOHEN
 4810 GL=1:BEEP:BEEP
 4830 WINDOW:CLS:GOTO 5270
 4840!TITEL
 4850 PRINT AT(29,17);""
 4851 ZQ$="":ZU$="       ":LQ$=STRING$(7,ZQ$+ZU$)+ZQ$
 4860 DATA "        "
 4870 DATA "           "
 4880 DATA "                "
 4890 DATA "          " 
 4900 RESTORE 4860:FOR I=25 TO 28:READ A$:PRINT AT(I,1);A$:NEXT I
 4920 PRINT AT(23,0);"",STRING$(30,""),""
 4930 FOR I=24 TO 29:PRINT AT(I,0);"":PRINT AT(I,31);"":NEXT
 4940 PRINT AT(30,0);"",STRING$(30,""),""
 4950 FOR I=1 TO 70
 4960 V=INT(RND(1)*21):W=INT(RND(1)*31)
 4970 Z=INT(RND(1)*17+207)
 4980 IF Z=207 THEN Z=42
 4990 IF Z=223 THEN Z=201
 5000 PRINT AT(V,W);CHR$(Z):NEXT
 5050 FOR J=1 TO 3:B=1:F=0:FOR I=31 TO-8 STEP-1
 5070 G=I:IF I<0 THEN B=B+1:G=0
 5080 IF I>22 THEN F=F+1
 5110 PRINT AT(10,G);MID$("    ",B,F)
 5120 PRINT AT(12,G);MID$("    ",B,F)
 5130 PRINT AT(11,G);MID$(" ",B,F)
 5135 IF INKEY$<>""THEN J=3:I=-8:NEXT:NEXT:GOTO 5160
 5140 PAUSE 1:NEXT:NEXT
 5160 WINDOW 2,20,15,31:CLS
 5180 PRINT:PRINT:PRINT:PRINT "Fuer wieviele Tage"
 5190 PRINT "moechten Sie":PRINT:PRINT "Vorraete laden ?"
 5200 PRINT:INPUT "--";T
 5210 IF T<40 THEN PRINT:PRINT "Damit kommen Sie":PRINT:PRINT "kaum aus !":GOTO 5180
 5220 IF T>70 THEN PRINT:PRINT "Wenn Sie":PRINT:PRINT "unbedingt wollen !"
 5230 IF T>85 THEN PRINT:PRINT "Soviel traegt":PRINT:PRINT "Enterprise"
 5240 IF T>85 THEN PRINT:PRINT "nicht !":GOTO 5200
 5250 PRINT:PRINT:PRINT "Okey.":PRINT:PRINT "Enterprise":PRINT:PRINT "startet !
 5260 PRINT AT(20,15);" ":RETURN
 5270 PRINT:PRINT:PRINT "Sie miserabler Feigling !!"
 5280 PRINT:PRINT "Sie sind aus der Galaxis":PRINT:PRINT "geflohen !"
 5290 PRINT:PRINT "Die Erde verachtet Sie !!!"
 5300 PRINT:PRINT:END