Verwendete IO-Ports bzw. Hardware:
Ü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);"AD":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