alzan_sss.tap
alzan_sss.z80
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

    1 REM ALZAN ADVENTURE
    5 CLEAR 3072
   10 DIM C(5),O(11),S(10),A$(47),M$(19),O$(11),P$(2),V$(43):GOSUB 10000
   30 R=1
   40 A=47:O=11:V=43
   45 DATA 0,0,3,3,0,0,0,15,16,0,4
   50 RESTORE 45
   60 FOR X=1 TO O
   70 READ O(X)
   80 NEXT X
   90 X=RND(-ABS(DEEK(30))/3600)
  100 IF S(2)=0 THEN 200
  110 IF C(2)<>0 THEN C(2)=C(2)-1
  120 IF S(3)<>0 THEN 200
  130 PRINT "ES IST DUNKEL. SIE SOLLTEN BES-","SER FUER ETWAS LICHT SORGEN,"
  135 PRINT "SONST KOENNTE ES SCHWIERIGKEITEN","GEBEN."
  140 IF C(3)<>0 THEN C(3)=C(3)-1
  150 GOTO 1000
  200 REM RAUMBESCHREIBUNG
  210 PRINT
  220 ON R GOSUB 8010,8020,8030,8040,8050,8060,8070,8080,8090,8100,8110,8120
  222 IF R>12 THEN ON R-12 GOSUB 8130,8140,8150,8160,8170,8180,8190
  300 F=0
  310 FOR X=1 TO O
  320 IF O(X)<>R THEN 500
  330 IF F<>0 THEN 400
  340 PRINT:PRINT "FERNER GIBT ES HIER:"
  350 F=1
  400 PRINT "   ";O$(X)
  500 NEXT X
 1000 REM BEFEHLSVERARBEITUNG
 1010 T=1
 1020 GOTO 2000
 1100 IF C(1)<>0 THEN C(1)=C(1)-1
 1110 IF C(4)<>0 THEN C(4)=C(4)-1
 1120 PRINT
 1130 INPUT ">";Y$
 1150 Y=0
 1170 P$(2)="00"
 1200 FOR W=1 TO 2
 1210 GOSUB 6000
 1220 IF Y>=LEN(Y$)THEN 1300
 1230 IF P$(W)="00"THEN 1210
 1240 NEXT W
 1250 W=W-1
 1300 IF P$(W)<>"00"THEN 1600
 1310 PRINT "PARDON ?"
 1320 GOTO 100
 1600 REM FESTSTELLEN OB STANDORTS-
 1610 Z=1:IF P$(2)<>"00"AND P$(1)>P$(2)THEN N$=P$(1):P$(1)=P$(2):P$(2)=N$
 1620 T$=MID$(M$(R),Z,2)
 1630 IF T$="00"THEN 1900
 1640 IF T$<>P$(1)THEN 1700
 1650 R=VAL(MID$(M$(R),Z+2,2))
 1660 GOTO 100
 1700 Z=Z+4
 1710 GOTO 1620
 1900 T=0
 1910 M=0
 2000 REM FESTSTELLEN OB BEDINGUNGEN              ERFUELLT WERDEN MUESSEN
 2010 C=0
 2100 C=C+1
 2110 IF T=0 THEN 2300
 2120 E$=C$(C)
 2130 GOTO 2600
 2300 IF A>=C THEN 2400
 2310 IF M<>0 THEN 1000
 2320 PRINT "SIE KOENNEN NICHT";
 2330 IF VAL(P$(1))<13 THEN PRINT " DIESEN WEG","GEHEN";
 2340 PRINT "."
 2350 GOTO 100
 2400 IF LEFT$(A$(C),2)<>P$(1)THEN 2100
 2410 Y$=MID$(A$(C),3,2)
 2420 IF Y$<>"00"AND Y$<>P$(2)THEN 2100
 2430 E$=MID$(A$(C),5)
 2600 REM ABFRAGEN DER BEDINGUNGSTABELLE
 2610 E=1
 2700 IF MID$(E$,E,1)="."THEN 3000
 2710 P=ASC(MID$(E$,E,1))-64
 2720 N=VAL(MID$(E$,E+1,2))
 2800 ON P GOSUB 2900,2910,2920,2930,2940,2950,2960,2970
 2810 IF K=0 THEN 2100
 2820 E=E+3
 2830 GOTO 2700
 2900 K=-(N=R):RETURN
 2910 K=-(O(N)=R OR O(N)<0):RETURN
 2920 K=-(O(N)<>R AND O(N)>=0):RETURN
 2930 K=-(O(N)<0):RETURN
 2940 K=S(N):RETURN
 2950 K=-(S(N)=0):RETURN
 2960 K=-(C(N)=1):RETURN
 2970 K=-(INT(RND(1)*100+1<=N)):RETURN
 3000 REM DURCHFUEHREN DER AKTIONEN
 3010 M=1
 3020 E=E+1
 3100 IF MID$(E$,E,1)="."THEN 2100
 3110 P=ASC(MID$(E$,E,1))-64
 3120 IF MID$(E$,E+1,1)<>"."THEN N=VAL(MID$(E$,E+1,2))
 3200 B=0
 3210 ON P GOSUB 4000,4100,4200,4300,4400,4500,4600,4700,4800,4900,5000,5100
 3215 IF P>12 THEN ON P-12 GOSUB 5200,5300,5400,5500,5600
 3220 ON B GOTO 100,1000,1100
 3230 E=E+3
 3240 GOTO 3100
 4000 PRINT
 4010 PRINT "SIE TRAGEN:"
 4020 F=1
 4030 FOR X=1 TO O
 4040 IF O(X)>=0 THEN 4070
 4050 PRINT "   ";O$(X)
 4060 F=0
 4070 NEXT X
 4080 IF F=1 THEN PRINT "   NICHTS."
 4090 B=1:RETURN
 4100 IF S(1)<4 THEN 4140
 4110 PRINT "SO VIEL KOENNEN SIE NICHT TRAGEN"
 4120 B=1
 4130 RETURN
 4140 IF O(N)=-1 THEN 4180
 4150 O(N)=-1
 4160 S(1)=S(1)+1
 4170 RETURN
 4180 PRINT "SIE HABEN ES BEREITS."
 4190 GOTO 4120
 4200 IF O(N)=-1 THEN 4240
 4210 PRINT "SIE HABEN ES NICHT."
 4220 B=1
 4230 RETURN
 4240 O(N)=R
 4250 S(1)=S(1)-1
 4260 RETURN
 4300 PRINT
 4310 ON N GOSUB 7010,7020,7030,7040,7050,7060,7070,7080,7090,7100,7110,7120
 4320 IF N>12 THEN ON N-12 GOSUB 7130,7140,7150,7160
 4330 RETURN
 4400 S(N)=1
 4410 RETURN
 4500 S(N)=0
 4510 RETURN
 4600 C(N)=VAL(MID$(E$,E+3,2))
 4610 E=E+2
 4620 RETURN
 4700 X=O(N)
 4710 O(N)=O(N+1)
 4720 O(N+1)=X
 4730 RETURN
 4800 O(N)=R
 4810 RETURN
 4900 IF O(N)<0 THEN S(1)=S(1)-1
 4910 O(N)=0
 4920 RETURN
 5000 R=N
 5010 RETURN
 5100 PRINT " OKEY."
 5200 B=2
 5210 RETURN
 5300 B=3
 5310 RETURN
 5400 B=1
 5410 RETURN
 5500 PRINT "SIE WOLLEN AUFGEBEN ?"
 5510 INPUT W$
 5520 IF LEFT$(W$,1)<>"J"THEN 5400
 5600 GOTO 9999
 6000 REM SCHLUESSELWORT ABTRENNEN
 6010 W$=""
 6015 P$(W)="00"
 6020 GOSUB 6600
 6025 IF D=1 THEN RETURN
 6030 FOR Q=1 TO 4
 6040 W$=W$+MID$(Y$,Y,1)
 6050 GOSUB 6500
 6060 IF D=1 THEN 6100
 6070 NEXT Q
 6080 GOSUB 6500
 6090 IF D=0 THEN 6080
 6100 W$=W$+STRING$(4-LEN(W$)," "):IF W$="    "THEN RETURN
 6110 FOR Q=1 TO V
 6120 IF W$=MID$(V$(Q),3)THEN 6200
 6130 NEXT Q
 6140 RETURN
 6200 P$(W)=LEFT$(V$(Q),2)
 6210 RETURN
 6500 Y=Y+1
 6510 D=-(Y>LEN(Y$))
 6520 IF D=1 THEN RETURN
 6530 D=-(MID$(Y$,Y,1)=" ")
 6540 RETURN
 6600 Y=Y+1
 6610 D=-(Y>LEN(Y$))
 6620 IF D=1 THEN RETURN
 6630 IF MID$(Y$,Y,1)=" "THEN 6600
 6640 RETURN
 6700 CLS
 6710 FOR N=1 TO 50
 6720 PRINT N;V$(N)
 6730 NEXT N
 6740 END
 7000 REM AKTIONSMELDUNGEN
 7001 REM MELDUNG 1 BEWIRKT
 7002 REM SPRUNG ZUR ZEILE 7010
 7010 PRINT "ACH DU LIEBE GUETE, SCHON TOT!"
 7015 RETURN
 7020 PRINT TAB(8);"---HOPPLA---"
 7022 PRINT "EL GRABBO, DER DIEB DER STADT,","SCHNAPPT SICH IHR GELD UND"
 7024 PRINT "VERSCHWINDET IM DICHTEN NEBEL."
 7025 RETURN
 7030 PRINT "HALTET DEN DIEB, RUFT DER PLATZ-","ANWEISER, ABER SIE ENTKOMMEN."
 7035 RETURN
 7040 PRINT "DER DECKEL IST BEREITS OFFEN."
 7045 RETURN
 7050 PRINT "ES KOSTET MEHR, ALS SIE AUF-","BRINGEN KOENNEN."
 7055 RETURN
 7060 PRINT "SEHR WOHL, MEIN HERR!"
 7065 RETURN
 7070 PRINT "DER KANALDECKEL IST OFFEN."
 7075 RETURN
 7080 PRINT "DER KANALDECKEL IST VERSCHLOSSEN."
 7085 RETURN
 7090 PRINT "DER LADENBESITZER IST GROESSER","ALS SIE..."
 7095 RETURN
 7100 PRINT "SIE BRAUCHEN EINE LEITER, UM","UEBER DIESE MAUER ZU KOMMEN."
 7105 RETURN
 7110 PRINT "ES IST BEREITS AN!"
 7115 RETURN
 7120 PRINT "WAS FUER EIN GEISTESBLITZ!"
 7125 RETURN
 7130 PRINT "SIE UEBERWAELTIGEN HEIMLICH","DIE WACHEN UND KOENNEN SICH"
 7132 PRINT "NOCH EIN BUENDEL BANKNOTEN  ","SCHNAPPEN. KEINER HAT ETWAS"
 7134 PRINT "GEMERKT (LUSTIGES VOELKCHEN","DIESE ALZANER)."
 7135 RETURN
 7140 PRINT "SIE HABEN ALLES GENOMMEN, WAS","HIER WAR."
 7145 RETURN
 7150 PRINT "ICH SEHE KEINE LAMPE...?"
 7155 RETURN
 7160 PRINT "DAS KINO IST FUER EINEN PRIVA-","TEN ZWECK GEMIETET."
 7165 RETURN
 7999 RETURN
 8000 REM STANDORT BESCHREIBUNGEN
 8001 REM STANDORT 1 BEWIRKT
 8002 REM SPRUNG ZUR ZEILE 8010
 8010 PRINT "   +++ WILLKOMMEN IN ALZAN +++":PRINT
 8012 PRINT "SIE MUESSEN DIE MAUERN UEBERWIN-","DEN, UM AUS DIESER STADT VON"
 8014 PRINT "DIEBEN UND HALSABSCHNEIDERN ZU","ENTKOMMEN."
 8016 RETURN
 8020 PRINT "SIE SIND IN DER HAUPTSTRASSE","VOR EINEM KURZWARENLADEN. DIE"
 8022 PRINT "HAUPTSTRASSE VERLAEUFT IN OST-","WEST-RICHTUNG. EINE KLEINE"
 8024 PRINT "GASSE FUEHRT NEBEN DEM LADEN","NACH NORDEN."
 8026 RETURN
 8030 PRINT "SIE SIND IM LADEN. DER LADEN-","BESITZER SIEHT VERSCHLAGEN AUS,"
 8032 PRINT "ABER ER HAT VIELE SCHOENE WAREN","IM SCHAUFENSTER."
 8034 RETURN
 8040 PRINT "SIE SIND IN EINER SCHMALEN GAS-","SE HINTER GROSSEN HAEUSERN."
 8042 PRINT "UNTER EINER FEUERLEITER STEHEN","VIELE VOLLE MUELLTONNEN."
 8044 RETURN
 8050 PRINT "SIE SIND AUF DER FEUERLEITER.","SIE FUEHRT ZU EINER TUER IN DEN"
 8052 PRINT "HAEUSERN."
 8054 RETURN
 8060 PRINT "SIE SIND UEBER EINE VERSTECKTE","TREPPE IN DEN LADEN GELANGT."
 8062 RETURN
 8070 PRINT "SIE BEFINDEN SICH AUF SCHLEICH-","WEGEN ZWISCHEN DEN HAEUSERN."
 8072 RETURN
 8080 PRINT "JETZT SIND SIE AN DER STADT-","MAUER. HIER BEFINDET SICH EINE"
 8082 PRINT "UNBENUTZTE TUER IN DER MAUER."
 8084 RETURN
 8090 PRINT "SIE SIND AN EINER KREUZUNG."
 8092 RETURN
 8100 PRINT "SIE SIND AN DER STADTMAUER. DER","NEBEL IST SO DICK, DASS SIE"
 8102 PRINT "NICHT WEIT SEHEN KOENNEN."
 8104 RETURN
 8110 PRINT "SIE STUERZEN VON DER MAUER -","GENAU AUF DIE SEE-KLIPPEN 100"
 8112 PRINT "METER TIEF UNTEN. MACHT NICHTS.","VIELLEICHT HABEN SIE NAECHSTES"
 8114 PRINT "MAL MEHR GLUECK!"
 8116 RETURN
 8120 PRINT "SIE SIND VOR DER STADTBANK."
 8122 RETURN
 8130 PRINT "IN DER BANK BEFINDEN SICH VIELE","WAECHTER DIE ZIEMLICH GELANG-"
 8132 PRINT "WEILT DREINSCHAUEN."
 8134 RETURN
 8140 PRINT "SIE SIND IN EINER SACKGASSE","ANGELANGT, DOCH DA BEFINDET"
 8142 PRINT "SICH EIN KANALDECKEL IN DER","STRASSE..."
 8144 RETURN
 8150 PRINT "SIE SIND IN EINER KLEINEN   ","NISCHE UNTERHALB DER EINSTIEGS-"
 8152 PRINT "OEFFNUNG. EIN GANG FUEHRT NACH","SUEDEN."
 8154 RETURN
 8160 PRINT "DER GANG FUEHRT ZU EINER ALTEN","GRABSTAETTE, IN DER VIELE SKE-"
 8162 PRINT "LETTE VERSTREUT HERUMLIEGEN."
 8164 RETURN
 8170 PRINT "DER PLATZANWEISER WILL SIE  ","NICHT HINEINLASSEN, DA DAS PRO-"
 8172 PRINT "GRAMM BEREITS ANGEFANGEN HAT.","ER VERSPERRT IHNEN DEN WEG MIT"
 8174 PRINT "SEINER TASCHENLAMPE."
 8176 RETURN
 8180 PRINT "SIE SIND VOR DEM KINO. DER  ","LAERM VON SCHUESSEN DRINGT AUS"
 8182 PRINT "DEM INNEREN."
 8184 RETURN
 8190 PRINT "**** HERZLICHEN GLUECKWUNSCH ****":PRINT
 8192 PRINT "SIE KONNTEN AUS DER STADT","FLIEHEN. DAS IST WIRKLICH EIN"
 8194 PRINT "SELTENER FALL. GUT GEMACHT."
 8196 RETURN
 8999 RETURN
 9999 END
10000 OUT 136,4:PAPER 1:INK 3:CLS:WINDOW 0,19,4,39
10010 RESTORE 10020
10020 DATA "EIN BRENNENDE LAMPE"
10030 DATA "EINE LAMPE"
10040 DATA "EINE LEITER"
10050 DATA "EINEN HAMMER"
10060 DATA "EINEN HAMMER"
10070 DATA "EIN BUENDEL BANKNOTEN"
10080 DATA "KANALDECKEL"
10090 DATA "EIN SACK NAEGEL"
10100 DATA "EINE EINTRITTSKARTE"
10110 DATA "EINE UNGEHOBELTE LEITER"
10120 DATA "ETWAS HOLZ"
10130 DATA "01N   ","01NORD","02O   ","02OSTE","03S   ","03SUED"
10140 DATA "04W   ","04WEST","05H   ","05HINA","06T   ","06HINU"
10150 DATA "13NEHM","14STEL","14WERF","15HINE","14LEGE","16RAUS"
10160 DATA "32TASC","16VERL","32LAMP","18LEIT","19HAMM","34BANK"
10170 DATA "20GELD","22SACK","22NAEG","23KART","05DURC","15REIN"
10180 DATA "29OEFF","05HOCH","30BAST","30BAUE","31ZUEN","35HABE"
10190 DATA "17KAUF","33HOLZ","34KLAU","34RAUB","35TRAG","36AUFH","37SCHA"
10200 DATA "00"
10210 DATA "01040209041800"
10220 DATA "00"
10230 DATA "0302050500"
10240 DATA "0604050700"
10250 DATA "00"
10260 DATA "0108031000"
10270 DATA "030700"
10280 DATA "011202100314040200"
10290 DATA "040900"
10300 DATA "00"
10310 DATA "0209041800"
10320 DATA "00"
10330 DATA "010900"
10340 DATA "031600"
10350 DATA "011500"
10360 DATA "00"
10370 DATA "0112020200"
10380 DATA "00"
10390 DATA "A01.K02O."
10400 DATA "A16H30.G0121."
10410 DATA "G01.D01Q."
10420 DATA "B06H10.D02J06."
10430 DATA "A14E07.D07N."
10440 DATA "A14F07.D08N."
10450 DATA "A11.Q."
10460 DATA "A19.Q."
10470 DATA "A06.K03O."
10480 DATA ".N."
10500 DATA "1332B01.B01E03L."
10510 DATA "1332A17C01C02.I02B02D03K18E10O."
10520 DATA "1718B03.D05N."
10530 DATA "1319B05.B05L."
10540 DATA "1320B06.B06L."
10550 DATA "2900A14E07.D04N."
10560 DATA "2900A14.E07M."
10570 DATA "1322B08.B08L."
10580 DATA "1323B09.B09L."
10590 DATA "1432B01.C01F03L."
10600 DATA "1432B02.C02L."
10610 DATA "1419B05.C05L."
10620 DATA "1420B06.C06L."
10630 DATA "1422B08.C08L."
10640 DATA "1423B09.C09L."
10650 DATA "0500A10C10.D10M."
10660 DATA "0500A08C10.D10M."
10670 DATA "0500A10.K11O."
10680 DATA "0500A08.K19O."
10690 DATA "0500A15.F02K14O."
10700 DATA "0600A14.E02K15O."
10710 DATA "3100D02.H01E03L."
10720 DATA "3100B01.D11N."
10730 DATA "1719B04B06.H04J06B05L."
10740 DATA "1719B04B09.H04D06B05M."
10750 DATA "3000B05B11B08.D06I10J08J11M."
10760 DATA "1333B11.B11L."
10770 DATA "1433B11.C11L."
10780 DATA "1500A02.K03O."
10790 DATA "1500A12.K13O."
10800 DATA "1500A18F10.K17O."
10810 DATA "1600A03.K02O."
10820 DATA "1600A13.K12O."
10830 DATA "1600A17.K18O."
10840 DATA "1500A05.K06O."
10850 DATA "3400A03.D09M."
10860 DATA "3400A13E08.D14M."
10870 DATA "3400A13.E08D13I06B06M."
10880 DATA "1500A18E10.D16M."
10890 DATA "1318B10.B10L."
10900 DATA "1418B10.C10L."
10910 DATA "1300B03.D09M."
10920 DATA "1332B02.B02L."
10930 DATA "3500.A."
10940 DATA "3600.P."
10950 DATA "3700.O."
10960 DATA "5000.N."
11000 FOR N=1 TO 11:READ O$(N):NEXT N
11010 FOR N=1 TO 43:READ V$(N):NEXT N
11020 FOR N=1 TO 19:READ M$(N):NEXT N
11030 FOR N=1 TO 10:READ C$(N):NEXT N
11040 FOR N=1 TO 47:READ A$(N):NEXT N
11050 RETURN