2bc0 7730 0000 B ... Master of Soft 1
Wenn ich nur noch wüsste, was OUT16 und OUT20 macht! eventuell Zeichensatzumschaltung?
Ggf. muss man diese Zeilen entfernen.
1 OUT 16,0:GOTO 8000
2 BEEP
3 A=PEEK(4):IF A=0 THEN 3:ELSE A$=CHR$(A):RETURN
4 POKE DEEK(43),32:RETURN
5 POKE 112,LX:POKE 113,LY+1:PRINT " ";:RETURN
6 LX=24:LY=31:GOSUB 5:PRINT "<ENTER>";:GOSUB 4:GOSUB 2:RETURN
7 LY=30:LX=0:GOSUB 5:PRINT "Waehlen Sie eine der Optionen ";:GOSUB 4:GOSUB 2:RETURN
530 FOR T=1 TO 10:FOR T1=1 TO 10:W(T,T1)=0:WS(T,T1)=0:NEXT:NEXT:PRINT
550 CLS:PRINT "-----------HAUPTMENUE-----------":PRINT
560 PRINT "  [ W ] : Werbung fuer eigene             Programme
570 PRINT:PRINT "  [ N ] : Neuentwicklung eigener          Programme
580 PRINT:PRINT "  [ P ] : Preise der Programme            neu festlegen
590 PRINT:PRINT "  [ S ] : Statistik":PRINT
600 PRINT:PRINT "  [ H ] : Highscores anzeigen":PRINT
610 PRINT:PRINT "  [ A ] : Spielstand abspeichern
620 PRINT:PRINT "  [ L ] : Spielstand laden":PRINT
630 PRINT:PRINT "  [ E ] : Spielabbruch":PRINT
640 PRINT:PRINT "  [ENT] : Weiter im Spielverlauf
650 GOSUB 7
670 IF A=13 THEN 770
680 IF A=87 THEN PRINT A$:GOSUB 2200:GOTO 550
690 IF A=78 THEN PRINT A$:GOSUB 2850:GOTO 550
700 IF A=80 THEN PRINT A$:GOSUB 3300:GOTO 550
710 IF A=83 THEN PRINT A$:GOSUB 3550:GOTO 550
720 IF A=72 THEN PRINT A$:GOSUB 5150:GOTO 550
730 IF A=65 THEN PRINT A$:GOSUB 5350:GOTO 550
740 IF A=76 THEN PRINT A$:GOSUB 5600:GOTO 550
750 IF A=69 THEN PRINT A$:GOTO 6390
760 GOTO 650
770 CLS:IF WO=52 THEN 5860
800 WO=WO+1:FL=1:FOR T=1 TO 100:IN(T)=IN(T)-.01:NEXT T:YY=0
810 ZZ=0:FOR W=1 TO 10:F6=0:EZ(W)=EZ(W)-1:IF EZ(W)=0 THEN WQ=W:F6=1:GOSUB 6460
820 NEXT W
830 IF WO<>1 THEN GOSUB 6460
835 CLS
840 LX=0:LY=2:GOSUB 4:GOSUB 7020:PRINT "Woche :";WO;TAB(13);"Firma : ";F$(FL)
850 LX=0:LY=5:GOSUB 4:PRINT "Titel    Verkauf   Gesamtverkauf";
860 GOSUB 7020
870 IF FL<>1 THEN 950
880 FOR Q=1 TO 10
890 FOR Q1=1 TO 10
900 R=INT((RND(1)*2000)+1)/100
910 VK(Q,Q1)=INT((PG(F(Q,Q1))*(200+W(Q,Q1)-PR(Q,Q1)-R))*IN(F(Q,Q1)))
920 GK(Q,Q1)=GK(Q,Q1)+VK(Q,Q1)
930 KO(Q)=KO(Q)+VK(Q,Q1)*PR(Q,Q1)
940 NEXT Q1,Q
950 FOR T=1 TO 10
960 PRINT PG$(F(FL,T));TAB(11);VK(FL,T);TAB(19);GK(FL,T)
970 NEXT T:IF FL<>1 THEN 1070
980 HS=0:FOR T=1 TO 10:SM(T)=0:NEXT T
990 FOR T=1 TO 10
1000 FOR T1=1 TO 10
1010 SM(T)=SM(T)+VK(T,T1)
1020 NEXT T1
1030 NEXT T
1040 FOR W=1 TO 10
1050 IF SM(W)>HF(SW)THEN HF(SW)=SM(W):HL(SW)=W:HS=1:H1$(SW)=F$(W)
1060 NEXT W
1070 GOSUB 7020
1080 SK=0:SG=0
1090 FOR T=1 TO 10
1100 SK=SK+VK(FL,T)
1110 SG=SG+GK(FL,T)
1120 NEXT T
1130 PRINT "Summe : ";TAB(11);SK;TAB(19);SG
1140 PRINT:PRINT:PRINT "  [ A ] : Verkaeufe der anderen           Firmen";
1150 PRINT " anzeigen":PRINT:PRINT "  [ENT] : Weiter im Spielverlauf
1170 GOSUB 7
1180 IF A=13 THEN 1200
1190 IF A$="A"THEN PRINT A$:GOSUB 6930:CLS:GOTO 840:ELSE 1170
1200 CLS
1210 GOSUB 7020
1220 LY=1:LX=0:GOSUB 5:PRINT "Woche :";WO:PRINT "Die Hitliste der 18 bestverkauf-";
1230 PRINT "ten Programme dieser Woche :"
1240 GOSUB 7020
1250 PRINT "Firma        Titel   Anzahl Pkte";
1260 GOSUB 7020
1270 F0=0
1280 FOR T=1 TO 10
1290 FOR T1=1 TO 10
1300 IF VK(T,T1)>2300 THEN F0=F0+1:P(F0)=VK(T,T1):P1(F0)=T:P2(F0)=T1
1310 NEXT T1
1320 NEXT T
1330 A=F0
1340 P(0)=10000
1350 FOR X=2 TO A
1360 IF P(X)<=P(X-1)THEN 1420
1370 X0=P(X):X1=P1(X):X2=P2(X):FOR Y=X-1 TO 1 STEP-1
1380 P(Y+1)=P(Y):P1(Y+1)=P1(Y):P2(Y+1)=P2(Y)
1390 IF X0>=P(Y-1)THEN 1410
1400 P(Y)=X0:P1(Y)=X1:P2(Y)=X2:GOTO 1420
1410 NEXT Y
1420 NEXT X
1430 FOR T=1 TO 18
1440 IF T=1 THEN PT=30:GOTO 1480
1450 IF T=2 THEN PT=25:GOTO 1480
1460 IF T=3 THEN PT=20:GOTO 1480
1470 PT=19-T
1480 PRINT F$(P1(T));TAB(11);PG$(F(P1(T),P2(T)));TAB(22);P(T);CHR$(8);PT;
1490 IF PT>9 THEN PRINT CHR$(8);
1500 IF P1(T)=1 THEN PRINT "<":ELSE PRINT
1510 PK(P1(T))=PK(P1(T))+PT
1520 NEXT T
1530 IF P(1)<=HW(SW)THEN 1550:ELSE HW(SW)=P(1):HV(SW)=P1(1):H2$(SW)=F$(P1(1)) 
1540 HS=1:HU(SW)=F(P1(1),P2(1))
1550 GOSUB 6
1560 IF HS=1 THEN GOSUB 5150
1570 CLS
1580 GOSUB 7020
1590 PRINT "Woche :";WO:PRINT "Der aktuelle Stand im Software -Cup :"
1600 GOSUB 7020
1610 PRINT "    Firma          Punkte"
1620 GOSUB 7020
1630 FOR T=1 TO 10
1640 O(T)=PK(T):O1(T)=T
1650 NEXT T
1660 A=10
1670 G=A-1:FOR X=A-1 TO 1 STEP-1
1680 D=0:FOR Y=1 TO G
1690 IF O(Y)>=O(Y+1)THEN 1710
1700 F=Y
1705 B=O(Y):O(Y)=O(Y+1):O(Y+1)=B:B=O1(Y):O1(Y)=O1(Y+1):O1(Y+1)=B
1710 NEXT Y
1720 G=F:IF F=0 THEN 1740
1730 NEXT X
1740 FOR T=1 TO 10
1750 PRINT T;:IF T=10 THEN PRINT CHR$(8);
1760 PRINT ".";F$(O1(T));:IF T=10 THEN PRINT TAB(21);O(T);:ELSE PRINT TAB(20);O(T);
1770 IF O1(T)=1 THEN PRINT "<<<<<":ELSE PRINT
1780 NEXT T
1790 GOSUB 6
1800 FL=1
1810 CLS
1820 KN=0:KG=0:K2=0:K3=0
1830 GOSUB 7020
1840 PRINT "Woche :";WO;TAB(13);"Firma : ";F$(FL):PRINT "Kontostand : "
1850 GOSUB 7020
1860 PRINT "In den Top 18 haben sich folgen-de Programme plaziert:"
1870 PRINT
1880 PRINT "Titel     Menge  Praemie  Gewinn";
1890 GOSUB 7020
1900 FOR T=1 TO 18:IF FL<>1 THEN 1960
1910 KO(P1(T))=KO(P1(T))+VK(P1(T),P2(T))*(PR(P1(T),P2(T))-29)
1920 IF T=1 THEN KO(P1(T))=KO(P1(T))+300000:GOTO 1960
1930 IF T=2 THEN KO(P1(T))=KO(P1(T))+250000:GOTO 1960
1940 IF T=3 THEN KO(P1(T))=KO(P1(T))+200000:GOTO 1960
1950 KO(P1(T))=KO(P1(T))+((19-T)*10000)
1960 IF P1(T)<>FL THEN 2060:ELSE PRINT PG$(F(P1(T),P2(T)));TAB(11);
1970 PRINT VK(P1(T),P2(T));CHR$(8);
1980 IF T=1 THEN KN=300000:GOTO 2020
1990 IF T=2 THEN KN=250000:GOTO 2020
2000 IF T=3 THEN KN=200000:GOTO 2020
2010 KN=(19-T)*10000
2020 PRINT KN;CHR$(8);TAB(25);
2030 K2=VK(P1(T),P2(T))*(PR(P1(T),P2(T))-29)
2040 PRINT K2
2050 KG=KG+KN
2060 NEXT T
2070 PRINT STRING$(32,"-"):PRINT CHR$(11);
2080 PRINT "Gesamtgewinn : ";KG+K2
2090 PRINT
2100 PRINT "Kontostand   : ";KO(FL)
2110 LX=0:LY=24:GOSUB 5
2120 PRINT "  [ A ] : Kontostaende anderer            Firmen anzeigen"
2130 PRINT:PRINT "  [ENT] : Weiter im Spielverlauf"
2140 GOSUB 7
2160 IF A=13 THEN 530
2170 IF A$="A"THEN PRINT A$:GOSUB 6930:GOTO 1810
2180 GOTO 2140
2190!*** WERBUNG FUER EIGENE PROGRAMME ***
2200 CLS
2210 GOSUB 7020
2220 PRINT "Werbung fuer eigene Programme indieser Woche"
2230 GOSUB 7020
2240 PRINT "   Titel  Werbesumme (max.10000)";
2250 GOSUB 7020
2260 FOR T=1 TO 10
2270 PRINT " [";T-1;"] ";PG$(F(1,T));TAB(20);WS(1,T)
2280 NEXT T:PRINT:PRINT
2290 PRINT:PRINT "[ A ] : max. Werbesumme fuer al-        le Programme
2300 PRINT:PRINT "[ENT] : Rueckkehr zum Hauptmenue"
2310 GOSUB 7
2340 IF A=13 THEN RETURN
2350 IF A$<>"A"THEN 2380:ELSE FOR T=0 TO 9:LY=T+6:LX=20:GOSUB 5
2360 IF KO(1)<10000 THEN WS(1,T+1)=KO(1):ELSE WS(1,T+1)=10000
2370 KO(1)=KO(1)-WS(1,T+1):PRINT WS(1,T+1):NEXT T:GOTO 2310
2380 IF A$<"0"OR A$>"9"THEN 2330:ELSE PRINT A$
2390 LY=VAL(A$)+6:LX=20:GOSUB 5
2400 INPUT "";WS(1,VAL(A$)+1):IF WS(1,VAL(A$)+1)>10000 THEN WS(1,VAL(A$)+1)=0
2410 IF KO(1)<WS(1,VAL(A$)+1)THEN WS(1,VAL(A$)+1)=0:GOTO 2310
2420 KO(1)=KO(1)-WS(1,VAL(A$)+1)
2430 FOR T=1 TO 10:R1(T)=INT(RND(1)*25)+1:NEXT T
2440 W(1,VAL(A$)+1)=INT(WS(1,VAL(A$)+1)/(400-R1(1)))
2450 FOR T=2 TO 10
2460 IF KO(T)<WS(1,VAL(A$)+1)THEN 2500
2470 WS(T,VAL(A$)+1)=WS(1,VAL(A$)+1)
2480 W(T,VAL(A$)+1)=INT(WS(T,VAL(A$)+1)/(400-R1(T)))
2490 KO(T)=KO(T)-WS(T,VAL(A$)+1)
2500 NEXT T
2510 GOTO 2310
2840!*** NEUENTWICKLUNG EIGENER PROGRAMME ***
2850 CLS
2860 GOSUB 7020
2870 PRINT "Neuentwicklung eigener Programme";
2880 GOSUB 7020:PRINT:PRINT:PRINT:PRINT
2890 FOR T=0 TO 9
2900 PRINT " [";T;"] ";PG$(F(1,T+1))
2910 NEXT T:PRINT:PRINT:PRINT
2920 PRINT:PRINT "[ENT] : Rueckkehr zum Hauptmenue"
2930 LX=0:LY=30:GOSUB 5
2940 PRINT "Waehlen Sie ein Programm an : ";:GOSUB 4
2950 GOSUB 2
2960 IF A=13 THEN RETURN
2970 IF A$<"0"OR A$>"9"THEN 2950:ELSE PRINT A$
2980 IF EZ(VAL(A$)+1)>0 THEN LY=VAL(A$)+7:LX=19:GOSUB 5:PRINT "in Entwickl.";
2990 IF EZ(VAL(A$)+1)>0 THEN GOSUB 4:BEEP:PAUSE 30
3000 CLS
3010 GOSUB 7020
3020 PRINT "Neuentwicklung eigener Programme";
3030 GOSUB 7020:PRINT
3040 PRINT "Titel : ";PG$(F(1,VAL(A$)+1))
3050 PRINT "Momentane Qualitaet : ";PG(F(1,VAL(A$)+1))
3060 PRINT "Momentaner Index    : ";IN(F(1,VAL(A$)+1))
3070 PRINT:GOSUB 7020:PRINT
3080 BEEP:NP=25:INPUT "Neue Qualitaet      : ";NP
3090 IF NP<PG(F(1,VAL(A$)+1))OR NP>25 THEN LY=10:LX=0:GOSUB 5:GOTO 3080
3100 PRINT "Neuer Index         :  1"
3110 EW=1:BEEP:INPUT "Entwicklungswochen  : ";EW
3120 IF EW<1 OR EW>10 THEN LY=12:LX=0:GOSUB 5:GOTO 3110 
3130 PRINT:GOSUB 7020:PRINT
3140 KS=(11-EW)*((NP-PG(F(1,VAL(A$)+1)))*100000)
3150 KS=INT(KS+(((1-IN(F(1,VAL(A$)+1)))*100000)*(11-EW)))
3160 PRINT "Kosten : ";KS:PRINT:PRINT
3170 IF KS<KO(1)THEN 3190
3180 PRINT "Die Entwicklung ist  wegen Geld-mangel nicht moeglich !":GOTO 2
3190 PRINT "Soll das Programm in dieser Formentwickelt werden (J/N) ? ";:PRINT
3200 B$=INKEY$:IF B$<>"J"AND B$<>"N"THEN 3200:ELSE PRINT B$
3210 IF B$="N"THEN 3270
3220 PRINT:PRINT:PRINT,"OK!"
3230 KO(1)=KO(1)-KS
3240 EZ(VAL(A$)+1)=EW
3250 NQ(VAL(A$)+1)=NP
3260 KT(VAL(A$)+1)=KS
3270 GOSUB 6
3280 RETURN
3290!*** PREISFESTLEGUNG ***
3300 CLS
3310 GOSUB 7020
3320 PRINT "Preise der Programme festlegen"
3330 GOSUB 7020
3340 PRINT "          Titel      Preis"
3350 GOSUB 7020
3360 FOR T=0 TO 9
3370 LY=T+6:LX=1:GOSUB 5
3380 PRINT "[";T;"] ";PG$(F(1,T+1));TAB(20);PR(1,T+1)
3390 NEXT T
3400 PRINT
3410 PRINT " [ENT] Rueckkehr zum Hauptmenue"
3420 LY=30:LX=0:GOSUB 5
3430 PRINT "Waehlen Sie ein Programm an : ";:GOSUB 4
3440 GOSUB 2
3450 IF A=13 THEN RETURN
3460 IF A$<"0"OR A$>"9"THEN 3440:ELSE PRINT A$
3470 LY=VAL(A$)+6:LX=20:GOSUB 5
3480 INPUT "";PR(1,VAL(A$)+1)
3490 IF PR(1,VAL(A$)+1)<29 OR PR(1,VAL(A$)+1)>69 THEN 3470
3500 FOR T=2 TO 9
3510 PR(T,VAL(A$)+1)=PR(1,VAL(A$)+1)
3520 NEXT T
3530 GOTO 3420
3540!*** STATISTIK ***
3550 CLS
3560 GOSUB 7020
3570 PRINT TAB(11);"Statistik"
3580 GOSUB 7020
3590 PRINT:PRINT
3600 PRINT "      Untermenue Statistik"
3610 PRINT "     ----------------------"
3620 PRINT
3630 PRINT "[ 1 ] : Bisherige Gesamtverkaeu-        fe anderer Firmen anzei-";
3640 PRINT "        gen"
3650 PRINT "[ 2 ] : Bisherige Gesamtverkaeu-        fe  aller  Programme an-";
3660 PRINT "        zeigen"
3670 PRINT "[ 3 ] : Programmverteilung   auf        die verschiedenen Firmen";
3680 PRINT "        anzeigen"
3690 PRINT "[ 4 ] : In  der   Neuentwicklung        befindliche    Programme";
3700 PRINT "        anzeigen"
3710 PRINT "[ 5 ] : Kontostaende  aller Fir-        men anzeigen
3720 PRINT "[ 6 ] : Aktuellen Stand im Soft-        warecup anzeigen"
3730 PRINT "[ENT] : Rueckkehr zum Hauptmenue"
3740 GOSUB 7
3770 IF A=13 THEN RETURN
3780 IF A$<"1"OR A$>"6"THEN 3740:ELSE PRINT A$
3790 ON VAL(A$)GOSUB 3810,4090,4380,4650,4770,5010:GOTO 3550
3800!*** GESAMTVERKAUFE/FIRMEN ***
3810 CLS
3820 GOSUB 7020
3830 PRINT "Woche :";WO;TAB(19);"Statistik ==>   Gesamtverkaeufe / Firmen"
3840 GOSUB 7020
3850 PRINT "       Firma     Gesamtverkauf"
3860 GOSUB 7020
3870 FOR T=1 TO 10:GS(T)=0:NEXT
3880 FOR T=1 TO 10
3890 FOR T1=1 TO 10
3900 GS(T)=GS(T)+GK(T,T1)
3910 NEXT T1
3920 GF(T)=T
3930 NEXT T
3940 A=10
3950 G=A-1:FOR X=A-1 TO 1 STEP-1
3960 D=0:FOR Y=1 TO G
3970 IF GS(Y)<GS(Y+1)THEN F=Y:ELSE NEXT:GOTO 3990
3975 B=GS(Y):GS(Y)=GS(Y+1):GS(Y+1)=B:B=GF(Y):GF(Y)=GF(Y+1):GF(Y+1)=B:NEXT 
3990 G=F:IF F=0 THEN 4010
4000 NEXT X
4010 FOR T=1 TO 10
4020 IF T<10 THEN PRINT " ";
4030 PRINT T;CHR$(8);". ";F$(GF(T));TAB(18);GS(T);
4040 IF GF(T)=1 THEN PRINT "<":ELSE PRINT
4050 NEXT T
4060 GOSUB 7020:GOSUB 6
4070 RETURN
4080!*** GESAMTVERKAUFE/PROGRAMME ***
4090 CLS
4100 Z=0
4110 GOSUB 7020
4120 PRINT "Woche :";WO;TAB(19);"Statistik ==>  Gesamtverkaeufe / Program"
4130 GOSUB 7020
4140 GR=2500*WO
4150 FOR T=1 TO 10
4160 FOR T1=1 TO 10
4170 IF GK(T,T1)>GR THEN Z=Z+1:GV(Z)=GK(T,T1):G1(Z)=T:G2(Z)=T1
4180 NEXT T1
4190 NEXT T
4200 A=Z:GV(0)=1E7
4210 FOR X=2 TO A
4220 IF GV(X)<=GV(X-1)THEN 4280
4230 X0=GV(X):X1=G1(X):X2=G2(X):FOR Y=X-1 TO 1 STEP-1
4240 GV(Y+1)=GV(Y):G1(Y+1)=G1(Y):G2(Y+1)=G2(Y)
4250 IF X0>=GV(Y-1)THEN 4270
4260 GV(Y)=X0:G1(Y)=X1:G2(Y)=X2:GOTO 4280
4270 NEXT Y
4280 NEXT X
4290 PRINT "  Firma      Titel     Anzahl" 
4300 GOSUB 7020
4310 FOR T=1 TO 10
4320 PRINT F$(G1(T));TAB(11);PG$(F(G1(T),G2(T)));TAB(22);GV(T);
4330 IF G1(T)=1 THEN PRINT "<":ELSE PRINT
4340 NEXT T
4350 GOSUB 7020:GOSUB 6
4360 RETURN
4370!*** PROGRAMMVERTEILUNG ***
4380 CLS
4390 GOSUB 7020
4400 PRINT:PRINT "Statistik ==> Programmverteilung"
4410 GOSUB 7020
4420 PRINT
4430 FOR T=0 TO 9
4440 PRINT " [";T;"] : ";F$(T+1)
4450 NEXT T
4460 PRINT
4470 PRINT " [ENT] : Rueckkehr zum  Unterme-         neu Statistik"
4480 LX=0:LY=30:GOSUB 5
4490 PRINT "Waehlen Sie ein Programm aus :";:GOSUB 4
4500 GOSUB 2
4510 IF A=13 THEN RETURN
4520 IF A$<"0"OR A$>"9"THEN 4500:ELSE PRINT A$
4530 CLS
4540 GOSUB 7020
4550 PRINT:PRINT "Statistik ==> ProgrammverteilungFirma : ";F$(VAL(A$)+1)
4560 PRINT:GOSUB 7020
4570 PRINT "   Titel   Qualitaet  Verkauf"
4580 GOSUB 7020
4590 FOR T=1 TO 10
4600 PRINT PG$(F(VAL(A$)+1,T));TAB(13);PG(F(VAL(A$)+1,T));TAB(20);
4610 PRINT GK(VAL(A$)+1,T):NEXT T
4620 GOSUB 7020:GOSUB 6
4630 RETURN
4640!*** NEUENTWICKLUNGEN ***
4650 CLS
4660 GOSUB 7020
4670 PRINT "Woche :";WO;TAB(19);"Statistik ==>       Neuentwicklungen"
4680 GOSUB 7020
4690 PRINT " Titel Wochen n.Qual. Kosten"
4700 GOSUB 7020
4710 FOR T=1 TO 10
4720 IF EZ(T)>0 THEN PRINT PG$(F(1,T));TAB(11);EZ(T);TAB(14);NQ(T);TAB(20);KT(T)
4730 NEXT T
4740 GOSUB 7020:GOSUB 6
4750 RETURN
4760!*** KONTOSTAENDE DER FIRMEN ***
4770 CLS
4780 GOSUB 7020
4790 PRINT "Woche :";WO;TAB(19);"Statistik ==>         Kontostaende"
4800 GOSUB 7020
4810 PRINT "     Firma        Kontostand"
4820 GOSUB 7020
4830 FOR T=1 TO 10
4840 K4(T)=KO(T):K5(T)=T
4850 NEXT T
4860 A=10
4870 G=A-1:FOR X=A-1 TO 1 STEP-1
4880 D=0:FOR Y=1 TO G
4890 IF K4(Y)<K4(Y+1)THEN F=Y:ELSE NEXT:GOTO 4910
4895 B=K4(Y):K4(Y)=K4(Y+1):K4(Y+1)=B:B=K5(Y):K5(Y)=K5(Y+1):K5(Y+1)=B:NEXT
4910 G=F:IF F=0 THEN 4930
4920 NEXT X
4930 FOR T=1 TO 10
4940 IF T<10 THEN PRINT " ";
4950 PRINT T;CHR$(8);". ";F$(K5(T));TAB(18);K4(T);
4960 IF K5(T)=1 THEN PRINT TAB(30);"<":ELSE PRINT
4970 NEXT T
4980 GOSUB 7020:GOSUB 6
4990 RETURN
5000!*** STAND IM SOFTWARECUP ***
5010 CLS
5020 GOSUB 7020
5030 PRINT "Woche :";WO;TAB(19);"Statistik ==>    Stand des Softwarecups"
5040 GOSUB 7020
5050 PRINT "       Firma       Punkte"
5060 GOSUB 7020
5070 FOR T=1 TO 10
5080 IF T<10 THEN PRINT " ";
5090 PRINT T;CHR$(8);". ";F$(O1(T));TAB(20);O(T);
5100 IF O1(T)=1 THEN PRINT TAB(30);"<":ELSE PRINT
5110 NEXT T
5120 GOSUB 7020:GOSUB 6
5130 RETURN
5140!*** Highscores ***
5150 CLS
5160 GOSUB 7020
5170 PRINT "---------- Highscores ----------      Schwierigkeitsgrad :";S1
5180 GOSUB 7020
5190 IF HS=1 THEN S=SW:GOTO 5220
5200 LY=2:LX=27:GOSUB 5
5210 GOSUB 2:IF A$<"1"OR A$>"8"THEN 5210:ELSE PRINT A$:S=VAL(A$)+1
5220 LY=8:LX=0:GOSUB 5:PRINT " 1. Woechentlicher Absatz :":PRINT STRING$(32,"-");
5230 PRINT H2$(S);TAB(43);PG$(HU(S));TAB(54);HW(S)
5240 PRINT:PRINT:PRINT " 2. Woechentlicher  Absatz einer    Firma:"
5250 PRINT STRING$(32,"-");
5260 PRINT H1$(S);TAB(54);HF(S)
5270 PRINT:PRINT:PRINT " 3. Gesamtpunktzahl eines Jahres"+STRING$(32,"-");
5280 PRINT H3$(S);TAB(86);HP(S)
5290 PRINT:GOSUB 7020
5300 HS=0
5310 GOSUB 6
5320 RETURN
5330 GOSUB 6:RETURN
5340!*** SPIELSTAND ABSPEICHERN ***
5350 CLS
5360 GOSUB 7020
5370 PRINT "Spielstand auf Band abspeichern"
5380 GOSUB 7020:PRINT:PRINT:PRINT
5390 SS(0)=WO:SS(1)=SW
5400 FOR T=1 TO 10:FOR T1=1 TO 10
5410 SS(T*10+T1-9)=F(T,T1):SS(T*10+T1+91)=GK(T,T1):SS(T*10+T1+191)=PR(T,T1)
5420 NEXT T1,T:PRINT STRING$(16,"-");
5430 FOR T=1 TO 100:SS(T+301)=IN(T):SS(T+401)=PG(T):NEXT T:PRINT STRING$(15,"-");
5440 FOR T=1 TO 10:SS(T+501)=EZ(T):NEXT T
5450 FOR T=1 TO 10:SS(T+511)=NQ(T):NEXT T
5460 FOR T=1 TO 10:SS(T+521)=KT(T):NEXT T
5470 FOR T=1 TO 10:SS(T+531)=PK(T):NEXT T
5480 FOR T=1 TO 10:SS(T+541)=KO(T):NEXT T
5490 FOR T=1 TO 10:SS(T+551)=ASC(MID$(F$(1),T,1)):NEXT T:PRINT "-"
5500 BEEP:INPUT "Filename : ";A$
5510 IF LEN(A$)>8 THEN A$=LEFT$(A$,8)
5520 FOR T=1 TO 2
5530 PRINT:PRINT:PRINT "   Start SAVE mit SPACE !!!":PRINT:PRINT
5540 GOSUB 4
5550 B$=INKEY$:IF B$=""THEN 5550:ELSE IF B$<>" "THEN RETURN
5560 CSAVE*""+A$;SS:NEXT T
5570 PRINT:GOSUB 6
5580 RETURN
5590!*** SPIELSTAND LADEN ***
5600 CLS
5610 GOSUB 7020
5620 PRINT "Spielstand vom Band laden"
5630 GOSUB 7020:PRINT:PRINT:PRINT
5640 PRINT:BEEP:INPUT "Filename : ";A$
5650 IF LEN(A$)>8 THEN A$=LEFT$(A$,8)
5660 PRINT:PRINT:PRINT "   Start LOAD mit SPACE !!!"
5680 B$=INKEY$:IF B$=""THEN 5680:ELSE IF B$<>" "THEN RETURN
5690 PRINT:PRINT:CLOAD*""+A$;SS
5700 PRINT:PRINT
5710 WO=SS(0):SW=SS(1)
5720 FOR T=1 TO 10:FOR T1=1 TO 10
5730 F(T,T1)=SS(T*10+T1-9):GK(T,T1)=SS(T*10+T1+91):PR(T,T1)=SS(T*10+T1+1)
5740 NEXT T1,T:PRINT STRING$(16,"-");
5750 FOR T=1 TO 100:IN(T)=SS(T+301):PG(T)=SS(T+401):NEXT T:PRINT STRING$(15,"-");
5760 FOR T=1 TO 10:EZ(T)=SS(T+501):NEXT T
5770 FOR T=1 TO 10:NQ(T)=SS(T+511):NEXT T
5780 FOR T=1 TO 10:KT(T)=SS(T+521):NEXT T
5790 FOR T=1 TO 10:PK(T)=SS(T+531):NEXT T
5800 FOR T=1 TO 10:KO(T)=SS(T+541):NEXT T
5810 F$(1)="":FOR T=1 TO 10:F$(1)=F$(1)+CHR$(SS(T+551)):NEXT T:PRINT "-"
5820 GOSUB 4
5830 GOSUB 6
5840 RETURN
5850!*** SCHLUSSUEBERSICHT ***
5860 CLS
5870 GOSUB 7020
5880 PRINT "Woche :";WO;TAB(15);"Schlussuebersicht";
5890 GOSUB 7020
5900 PRINT:PRINT
5910 PRINT "Herzlichen Glueckwunsch! Sie ha-ben ein Jahr  lang als *Manag;
5920 PRINT "einer  Softwarefirma durchgehal-ten.    Zum Abschluss werden ;
5930 PRINT "nun die Endstaende  einiger Sta-tistiken sehen.  Danach erhal;
5940 PRINT "Sie fuer Ihre Arbeit Punkte , jenachdem  wie  gut oder  schle;
5950 PRINT "Sie gearbeitet haben.
5960 PRINT:PRINT:GOSUB 7020
5970 GOSUB 6
5980 GOSUB 3810
5990 GOSUB 4770
6000 GOSUB 5010
6010 FOR T=1 TO 10:IF GF(T)=1 THEN P1=(11-T)*10+INT(GS(T)/10000)
6020 NEXT T
6030 FOR T=1 TO 10:IF O1(T)=1 THEN P2=(11-T)*10+INT(K4(T)/100000)
6040 NEXT T
6050 FOR T=1 TO 10:IF O1(T)=1 THEN P3=(11-T)*10+INT(O(T)/10)
6060 NEXT T
6070 GP=P1+P2+P3
6080 CLS
6090 GOSUB 7020
6100 PRINT "****   SCHLUSSABRECHNUNG    ****";
6110 GOSUB 7020
6120 PRINT
6130 PRINT "Sie erhalten  folgende Punktzah-len fuer Ihre Anstrengungen:"
6140 PRINT:PRINT "Punkte  fuer das                Verkaufsergebnis"
6150 PRINT "Ihrer Programme  : ";P1
6160 PRINT:PRINT "Punkte  fuer den                aktuellen Konto-"
6170 PRINT "stand            : ";P2
6180 PRINT:PRINT "Punkte  fuer Ihr                Abschneiden   im"
6190 PRINT "Softwarecup      : ";P3
6200 PRINT STRING$(32,"-");
6210 PRINT "Gesamtpunktzahl  : ";GP
6220 GOSUB 7020
6230 PRINT:PRINT "Highscore fuer Gesamtpunktzahl  "+STRING$(32,"-");
6240 PRINT "    Firma            Punkte":PRINT " "+H3$(SW);TAB(22);HP(SW)
6280 GOSUB 6
6290 CLS:LY=16:LX=0:GOSUB 5
6300 PRINT "Wollen sie nocheinmal spielen ?":PRINT:PRINT TAB(12);
6310 PRINT "(J/N) : ";:GOSUB 4
6320 GOSUB 2:IF A$<>"J"AND A$<>"N"THEN 6320:ELSE PRINT A$:GOSUB 4
6330 IF A$<>"J"THEN 6390:ELSE:FOR T=1 TO 10:KO(T)=0:NQ(T)=0:KT(T)=0:PK(T)=0
6340 O(T)=0:O1(T)=0
6350 R1(T)=0:EZ(T)=0:NEXT T:FOR T=1 TO 10:FOR T1=1 TO 10:VK(T,T1)=0:GK(T,T1)=0
6360 W(T,T1)=0:WS(T,T1)=0:NEXT T1,T:FOR T=1 TO 100:P(T)=0:P1(T)=0:P2(T)=0
6370 GV(T)=0:G1(T)=0:G2(T)=0:HA(T)=0:NEXT T:FL=0:F2=0:F3=0:F4=0:F5=0:F6=0
6380 CLS:RUN
6390!
6420 CLS:LX=0:LY=15:GOSUB 5
6430 PRINT "  Good bye ! Und immer ein Pro-     gramm mehr verkaufen !"
6440 PAUSE 50:CLS:END
6450!*** NEUENTWICKLUNG ANDERER FIRMEN ***
6460 IF ZZ=0 THEN CLS
6470 F5=0
6480 F2=F2+2:IF F2=10 THEN F3=10:F4=2:F2=1:GOTO 6510
6490 IF F2=9 THEN F3=9:F4=10:F2=0:GOTO 6510
6500 F3=F2:F4=F3+1
6510 IF ZZ=0 THEN GOSUB 7020:PRINT "Neuentwicklungen dieser Woche :":GOSUB 7020
6520 IF F6=1 THEN GOSUB 6860:GOTO 6830
6530 PRINT "Firma      : ";F$(F3):YY=YY+1
6540 FOR T=1 TO 10
6550 IM(T)=IN(F(F3,T)):M2(T)=T
6560 NEXT T
6570 A=10
6580 FOR X=2 TO A
6590 IF IM(X)>=IM(X-1)THEN 6650
6600 X0=IM(X):X2=M2(X):FOR Y=X-1 TO 1 STEP-1
6610 IM(Y+1)=IM(Y):M2(Y+1)=M2(Y)
6620 IF X0<=IM(Y-1)THEN 6640
6630 IM(Y)=X0:M2(Y)=X2:GOTO 6650
6640 NEXT Y
6650 NEXT X
6660 PRINT "Titel      : ";PG$(F(F3,M2(1)))
6670 IF PG(F(F3,M2(1)))<=10 THEN ST=10:GOTO 6710
6680 IF PG(F(F3,M2(1)))<=15 THEN ST=8:GOTO 6710
6690 IF PG(F(F3,M2(1)))<=20 THEN ST=5:GOTO 6710
6700 ST=25-PG(F(F3,M2(1)))
6710 MS=INT(KO(F3)/100000)
6720 IF MS>=ST THEN WS=ST:GOTO 6740
6730 WS=MS
6740 PG(F(F3,M2(1)))=PG(F(F3,M2(1)))+WS
6750 PRINT "Qualitaet  : ";PG(F(F3,M2(1)))
6760 KO=INT(WS*100000+((1-IM(1))*100000))
6770 IF KO<=KO(F3)THEN 6790:ELSE PRINT:PRINT "Neuentwicklung  wegen Geldmangel";
6780 PRINT "nicht beendet !":BEEP:GOTO 6820
6790 PRINT "Kosten     : ";KO
6800 KO(F3)=KO(F3)-KO:PRINT "Kontostand : ";KO(F3)
6810 IN(F(F3,M2(1)))=1
6820 IF F5=0 THEN F3=F4:F5=1:GOSUB 7020:GOTO 6530
6830 ZZ=ZZ+1:IF ZZ=4 THEN ZZ=0:GOSUB 6
6840 IF YY=2 THEN GOSUB 6
6850 RETURN
6860 PRINT "Firma      : ";F$(1)
6870 PRINT "Titel      : ";PG$(F(1,WQ))
6880 PRINT "Qualitaet  : ";NQ(WQ):PG(F(1,WQ))=NQ(WQ)
6890 IN(F(1,WQ))=1
6900 PRINT "Kosten     : ";KT(WQ):GOSUB 7020
6910 F6=0
6920 RETURN
6930 CLS
6940 FOR T=2 TO 10
6950 LY=(T-1)*2+1:LX=4:GOSUB 5
6960 PRINT "[";T-1;" ] : ";F$(T):PRINT
6970 NEXT T
6980 LY=30:LX=0:GOSUB 5:PRINT "Waehlen Sie eine der Firmen";:GOSUB 4 
6990 A$=INKEY$:IF A$<"1"OR A$>"9"THEN 6990:ELSE PRINT A$
7000 FL=VAL(A$)+1
7010 RETURN
7020 PRINT STRING$(32,"*"):PRINT CHR$(11);:RETURN
7140 DATA Eddivision,Antirock,Bruderbund,Datahard,Electronic,Elise,Essix
7150 DATA Sydney Arc,Sublogik
7160 DATA A view Bill,14.25,Alcatraz,16.5,Arschon,20.25,Arschon II,14
7170 DATA Ballblaeser,17.25,Volleyball,15.25,Strand Kopf,13,Alcatraz II
7180 DATA 14,Blauer Max,13.25,Shoulder,18.75,Shoulder II,18.75
7190 DATA Bruce Klee,17.25,Bac Rogers,10.5,Burgerqueen,10.75,Burning
7200 DATA 12.75,Chip-Laster,7.75,Willi's Two,8.5,Kry Castles,17
7210 DATA Elfkampf,17.25,Dick &> Doof,13.75,Diners Eggs,15.75,Explodang M
7220 DATA 15.75,Exploding V,16.75,Leit-Pilot,16.25,Flapp&>Flopp,18.75
7230 DATA Foodball,20,Trostbuster,17,Grundmaster,13,Gratrenner,9.25
7240 DATA Gyros,9.25,Nero,13.75,Hessengames,15.5,It's Time,6.5,Hunchcrack
7250 DATA 7.5,Bastler 64,7.75,The Mission,23.5,Int. Dennis,13,Jumpwoman
7260 DATA 15,Keiser,19.25,Keramika,19.75,Fr.Approach,17.5,Kikstop,19
7270 DATA Blody Run,16.5,Masterchamp,21.25,Match Point,20.5
7280 DATA Rotor Mania,10.25,Mrs. Robot,19.5,Coal's Well,19,Fort-Tennis,21
7290 DATA Three on,19.5,Pfeiflinie,20,Pitstart,18.75,Pitstart II,23
7300 DATA Coal Posit,19.5,Most Zaster,16.75,W-Bert,10.75,Rest Tires
7310 DATA 17.25,Heptan,9,Mutant,8,Shiver Raid,7.25,Globotron,7.25
7320 DATA Strampel,5,Terpentin,12.5,Primus,12,Ski-Weltcup,7.75,Hellfox,185
7330 DATA Schlaffer,12.5,Schlumpf II,7,Smokie,19.25,Poker II,16.5
7340 DATA Poker III,16,Spass Pilot,14.75,Spass Taxi,21.75,Spei &> Spei,18.5
7350 DATA Star Dreck,11,Bella 7,20.5,Strip Skat,18.75,Sublogik II,21.5
7360 DATA Olympia,21.75,Olympia II,23.75,Superstar,8.25
7370 DATA Super Hexen,14,Ferrori,6.5,Denver Clan,18.25,Tragik,19.75
7380 DATA Tran,6,Turbodiesel,16,Ab'n Down,18.75,Garlok,10.75,Schlacht
7390 DATA 6,Wintergames,23.75,Blizzard,14.5,Blizzard II,10,Saga,15 
7400 DATA Bruchbude,12.75,Hexen,13.75,Seppel,15.5,Kodiac,10.5,Bone Six,6.5
7410 DATA Facing Set,22.5
8000 WINDOW:CLS:A$=STRING$(32,""):PRINT A$""SPC(30)"  ¾ÿÿ   ¾  ¾ ¾";
8010 PRINT "    ¾ÇÇÇÿÿ ¾ÇÇÇÿÿ ÇÇÇǎ ÇÇÇÇǎ   ÿÿ Çÿ  ǎ Çÿ  Çÿ Çÿ      Çÿ     ";
8020 PRINT "ÿÿ Çÿ     Çÿ  Çÿ Çÿ      Çÿ     ÿÿ Çÿÿÿÿ  Çÿ  Çÿ Çÿÿÿ    Çÿ ¾ÿÿ ÿÿ  Ç";
8030 PRINT "ÇÇÿÿ Çÿ  Çÿ ÇÇǎ    Çÿ Çǎ ÿÿ     Çÿ Çÿ  Çÿ Çÿ      Çÿ     ÿÿ ¾ÿ  Çÿ ";
8040 PRINT "Çÿ  Çÿ Çÿ      Çÿ     ÿÿ Çÿÿÿǎ Çÿÿÿǎ Çÿ      Çÿ     ÿÿ  ÇÇǎ   ÇÇǎ";
8050 PRINT "  ǎ      ǎ     ÿÿ"SPC(30)""SPC(30)"   ¾ÿÿÿ  ¾ÿ  ¾ÿ ¾ÿÿÿÿÿ ¾ÿÿÿÿ";
8060 PRINT "    ¾ÇÇÇÿÿ Çÿ  Çÿ ÇÇÇÇǎ ÇÇÇǎ  ÿÿ  Çÿ  ǎ Çÿ  Çÿ Çÿ     Çÿ     ÿÿ ";
8070 PRINT " Çÿ     Çÿ  Çÿ Çÿ     Çÿ     ÿÿ  Çÿ     ÇÿÿÿÇÿ Çÿÿÿ   Çÿÿÿ   ÿÿ  Çÿ  ";
8080 PRINT "   ÇÇÇÇÇÿ ÇÇǎ   ÇÇǎ   ÿÿ  Çÿ     Çÿ  Çÿ Çÿ     Çÿ     ÿÿ  Çÿ  ¾ÿ Ç";
8090 PRINT "  Çÿ Çÿ     Çÿ     ÿÿ  Çÿÿÿǎ Çÿ  Çÿ Çÿÿÿÿÿ Çÿ     ÿÿ   ÇÇǎ  ǎ  ǎ ";
8100 PRINT "ÇÇÇÇǎ ǎ     ÿÿ"SPC(30)" *** 14.Juli 1990 *** <ENTER> "SPC(30)A$;
8110 PRINT ""SPC(30)"  Andreas Ziermann,Aken 4372  "SPC(30)A$;:GOSUB 2:CLS
8115 OUT 20,0
8120 CLEAR 500:PRINT:PRINT "  Etwas Geduld bitte !!!":GOSUB 4:DIM PG$(100),PG(100),HA(100)
8130 DIM P(100),P1(100),P2(100),IN(100),GV(100),G1(100),G2(100),SS(561)
8140 RESTORE:FOR T=2 TO 10:READ F$(T):NEXT:FOR T=1 TO 100:READ PG$(T),PG(T):IN(T)=1
8150 NEXT:CLS:PRINT "Welchen Schwierigkeitsgrad (1-8)wuenschen Sie ?: ";
8160 GOSUB 2:IF A<49 OR A>56 THEN 8160:ELSE PRINT A$:GOSUB 4:UG=20-1.5*(A-48):OG=UG+10
8170 CLS:LX=0:LY=6:GOSUB 5:PRINT "Bitte geben Sie den  Namen Ihrer":PRINT "      Softwa";
8180 PRINT "refirma an !:":BEEP:PRINT:PRINT:INPUT "         ";F$(1)
8190 IF F$(1)=""THEN F$(1)="No name   ":ELSE F$(1)=LEFT$(F$(1)+"          ",10)
8200 CLS:LX=0:LY=6:GOSUB 5:PRINT "Nun werden die Programme auf die":PRINT "verschiedene";
8210 PRINT "n Firmen verteilt !":GOSUB 4:FOR T1=1 TO 10:FOR T=1 TO 10
8220 PG=INT(RND(1)*100)+1:IF HA(PG)=1 THEN 8220 
8230 IF T1=1 THEN IF PG(PG)>OG OR PG(PG)<UG THEN 8220 ELSE F(T1,T)=PG:HA(PG)=1:NEXT:NEXT
8240 FOR T=1 TO 10:FOR T1=1 TO 10:PR(T,T1)=49:NEXT:NEXT:CLS:PRINT:PRINT "Firma :";F$(1)
8250 PRINT:PRINT "Sie besitzen Rechte an folgendenProgrammen:":LX=0:LY=6:GOSUB 5
8260 FOR T=1 TO 9:PRINT PG$(F(1,T))TAB(24)PG(F(1,T)):PRINT STRING$(32,"*");CHR$(11):NEXT
8270 PRINT PG$(F(1,10))TAB(24)PG(F(1,10)):GOSUB 6
9000 GOTO 530