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

    5 POKE 862,1:LINES 0
   10 DIM A$(10,20):DIM P(20)
   11 IF RND(2)<0.4 THEN W=1:ELSE W=5
   12 IF RND(2)>0.6 THEN W=9
   16 INK 5:PAPER 4:BORDER 4:WINDOW:CLS
   20 INK 5:PAPER 4:BORDER 4:CLS:PRINT AT(10,5);"K   DER COMPUTERKLUB"
   30 PRINT AT(11,5);"   DER BERTOLT-BRECHT-OS "
   40 PRINT AT(12,5);"   BB   STELLT VOR..."
   60 FOR Z=3 TO 35
   70 PRINT AT(7,Z);"":PRINT AT(16,Z);""
   80 IF Z>10 THEN 100
   90 PRINT AT(Z+5,2);"":PRINT AT(Z+5,36);""
  100 NEXT Z
  101 PAUSE 40:CLS
  104 PRINT "                     " 
  112 PRINT "                       "  
  120 PRINT "                       "
  128 PRINT "                        " 
  130 PRINT
  136 PRINT "       "
  144 PRINT "       "
  152 PRINT "                "
  160 PRINT "                "
  168 PRINT "                 "
  176 PRINT "                  "
  184 PRINT "                   "
  192 PRINT "                     "
  200 PRINT "                       "  
  208 PRINT "                       "
  216 PRINT "                      "
  224 PRINT "                  "
  232 PRINT "                   "
  240 PRINT "                   "
  248 PRINT "                  "
  256 PRINT "                 "
  264 PRINT "                "
  272 PRINT "von Sylvio Sell"
  288 WINDOW 4,12,24,39
  296 PRINT "Sie sind einer  der wenigen     Forscher denen  es gelungen ist" 
  304 PRINT ",den Eingang    dieser Pyramide zu finden." 
  312 PAUSE 10:PRINT AT(20,5);""
  320 PAUSE 30    
  328 CLS
  336 PRINT "Vielleicht wer- den sie als Er- ster das        Geheimnis der"
  344 PRINT "Grabkammer an   den Tag legen."
  352 PAUSE 10:PRINT AT(12,3);"GRAB-"
  360 PRINT AT(13,3);"KAMMER"
  370 INK 1:PAUSE 30:WINDOW:CLS
  380 L=5:R=22:P=0
  390 I=1:J=0:Q=500:X=1:Y=-1
  400 FOR Z=0 TO 39
  410 PRINT AT(0,Z);""
  420 PRINT AT(23,Z);""
  430 IF Z>23 THEN 480
  440 PRINT AT(Z,0);""
  450 PRINT AT(Z,31);""
  460 PRINT AT(Z,39);""
  470 GOTO 540
  480 IF Z<32 THEN 540
  490 PRINT AT(5,Z);""
  500 PRINT AT(11,Z);""
  510 PRINT AT(Z-20,36);""
  520 PRINT AT(Z-19,36);"" 
  530 PRINT AT(Z-18,36);""
  535 PRINT AT(Z-17,36);""
  540 NEXT Z
  545 OUT 136,128
  550 FOR Z=13 TO 21 STEP 2
  560 PRINT AT(Z,33);"":OUT 128,7:OUT 128,INT(RND(1)*4+11):PAUSE 1:OUT 128,3
  570 NEXT Z
  580 PRINT AT(1,33);"RUNDE"
  590 PRINT AT(2,33);""
  600 PRINT AT(7,33);"PUNKTE"
  610 PRINT AT(8,33);""
  620 PRINT AT(0,15);" "
  680 H=H+1:T=Q
  690 PRINT AT(3,35);H
  700 P=P+100*(H-1)
  710 PRINT AT(9,33);P
  720 ON H GOSUB 9000,8000,20000,10000,30000,10000,8000,30000,20000,9000,8000
  780 A=15:B=-4240:M=148:N=131
  790 C=10:D=-5080
  800 E=30:F=-5080 
  810 POKE(A+B),196
  820 POKE(C+D),M
  830 POKE(E+F),N
  840 PAUSE 30
  850 FOR Z=50 TO 20 STEP-3
  860 OUT 128,7:OUT 128,INT(RND(1)*5+Z):OUT 128,3
  870 NEXT Z
  875 OUT 128,7:OUT 128,60:PAUSE 3:OUT 128,3
  880 REM SPIELBEGINN
  890 POKE(A+B),32
  900 ON JOYST$(1) GOSUB 4600,4700,910,4100,4400,4500,910,4000,4300,4200
  905 IF JOYST$(1)=16 THEN 4800
  910 IF PEEK(A+B+40)>145 OR PEEK(A+B+41)=186 OR RND(2)<0.2 THEN 960
  920 B=B+40
  930 IF PEEK(A+B)<33 THEN 960
  940 IF PEEK(A+B)=145 THEN A=A+1:GOTO 960
  950 IF PEEK(A+B)=144 THEN A=A-1:ELSE B=B-40
  960 POKE(A+B),196
  970 POKE(C+D),32
  980 ON I GOSUB 3160,3200,3240,3280
  990 POKE(C+D),N
 1000 POKE(E+F),32
 1010 ON J GOSUB 3000,3040,3080,3120
 1020 POKE(E+F),M
 1025 P=P+H:PRINT AT(9,33);P:T=T-1:PRINT AT(23,36);T 
 1026 IF T=0 THEN POKE(A+B),32:T=Q:GOTO 1050
 1030 IF(A+B)=-5065 THEN 1400
 1040 IF PEEK(A+B)=196 THEN 890
 1045 OUT 136,128
 1050 FOR Z=170 TO 220 STEP 5
 1060 OUT 128,7:OUT 128,Z
 1070 PAUSE 2:OUT 128,3
 1080 NEXT Z
 1085 OUT 128,7:OUT 128,160:PAUSE 2:OUT 128,3
 1090 IF L<1 THEN 1210
 1100 POKE(C+D),32
 1110 POKE(E+F),32
 1120 L=L-1
 1130 PRINT AT(21-2*L,33);" "
 1140 GOTO 780
 1210 PRINT AT(11,14);"           "
 1220 PRINT AT(12,14);" GAME OVER "
 1230 PRINT AT(13,14);"           "
 1240 PAUSE 30
 1250 CLS
 1255 S=S+1:P(S)=P
 1260 INPUT " NAME:";A$(10,S)
 1270 CLS
 1280 FOR Z=1 TO S
 1290 VW=S
 1300 FOR U=1 TO S
 1310 IF P(Z)=P(U)THEN 1330
 1320 IF P(Z)>P(U)THEN VW=VW-1
 1330 NEXT U
 1340 IF VW>23 THEN 1360
 1350 PRINT AT(VW,2);VW,A$(10,Z),P(Z)
 1360 NEXT Z
 1370 INPUT Z 
 1380 H=0:CLS:GOTO 20
 1400 FOR Z=220 TO 170 STEP-5
 1410 OUT 128,7:OUT 128,Z
 1420 PAUSE 2:OUT 128,3
 1430 NEXT Z
 1440 IF H=11 THEN 1630
 1560 ON H GOSUB 1590,1600,1610,1620,1621,1622,1623,1624,1590,1620,1621,1560
 1580 GOTO 680
 1590 I=0:J=1:Q=500:RETURN 
 1600 I=1:J=0:Q=700:RETURN
 1610 I=1:J=1:Q=400:RETURN
 1620 I=0:J=1:Q=600:RETURN
 1621 I=1:J=1:Q=600:RETURN
 1622 I=1:J=1:Q=400:RETURN
 1623 I=1:J=1:Q=900:RETURN
 1624 I=1:J=1:Q=500:RETURN
 1630 CLS
 1640 PRINT AT(10,10);"Hinter einem"
 1650 PRINT AT(11,10);"dieser Eingaenge"
 1660 PRINT AT(12,10);"befindet sich"
 1670 PRINT AT(13,10);"die Grabkammer"
 1680 PRINT AT(14,10);"mit den Schaetzen."
 1690 PRINT AT(15,10);"der falsche Gang"
 1700 PRINT AT(16,10);"kann das Ende"
 1710 PRINT AT(17,10);"bedeuten."
 1720 PRINT AT(18,10);""
 1730 PRINT AT(19,10);""
 1740 PRINT AT(20,10);"  "
 1750 PRINT AT(21,10);"     "
 1760 PRINT AT(22,10);"     "
 1770 PRINT AT(23,10);"    "
 1780 A=14:B=-4200
 1790 POKE(A+B),32
 1800 ON JOYST$(1)GOSUB 4600,4700,1810,4100,4400,4500,1810,4000,4300,4200
 1810 POKE(A+B),196
 1820 IF(A+B)=-4228 THEN Z=0:GOTO 2020
 1830 IF(A+B)=-4263 THEN Z=1:GOTO 2020
 1840 IF(A+B)=-4307 THEN Z=2:GOTO 2020
 1850 IF(A+B)=-4305 THEN Z=3:GOTO 2020
 1860 GOTO 1790
 2020 ON Z+W GOTO 2250,2340,2390,2030,2340,2250,2030,2390,2250,2340,2390,2340 
 2030 FOR Z=220 TO 160 STEP-5
 2040 OUT 128,7:OUT 128,Z
 2050 POKE(A+B),196
 2060 PAUSE 5:OUT 128,3
 2070 POKE(A+B),32:PAUSE 2
 2080 NEXT Z
 2090 CLS
 2100 PRINT "Sie sind der erste Mensch,der es"
 2105 PRINT "geschafft hat bis hierher vorzudringen."
 2110 PRINT "Sie haben einen Schatz im Werte von","3Millionen Mark entdeckt.
 2120 PRINT "Das entspricht ungefaer 50mal ein","Fuenfer im Telelotto"
 2130 PRINT "Sie erhalten dafuer 5000 Punkte."
 2140 INPUT Z
 2150 P=P*2:H=0:CLS:GOTO 400
 2250 CLS
 2260 PRINT "Das war leider daneben."
 2270 PRINT "Sie stuerzen mit gleichmaessig","beschleunigter Bewegung durch"
 2280 PRINT "einen Schacht zum Eingang der Pyramiede."
 2290 PRINT "Ihre Ueberlebungschanzen stehen 1:99."
 2300 PAUSE 30
 2310 PRINT "Schwein gehabt."
 2320 PAUSE 20
 2330 H=0:GOTO 400
 2340 CLS
 2350 PRINT "Sie haben eine Havarie ausgeloest und wurden verschuettet."
 2360 INPUT Z
 2370 CLS
 2380 GOTO 1210
 2390 CLS
 2400 PRINT "Sie sind durch einen Schacht in die 3.Etage gefallen."
 2410 INPUT Z
 2420 H=2:CLS
 2430 GOTO 400
 3000 IF PEEK(E+F+40)>90 THEN 3010
 3002 IF F<B THEN J=2:M=131:F=F+40:Y=40:RETURN
 3004 IF PEEK(E+F-40)>90 AND RND(2)>0.5 AND F<>B THEN J=2:M=131:F=F+40:Y=40:RETURN   
 3010 IF PEEK(E+F-40)>90 THEN 3020
 3012 IF F>B THEN J=2:M=130:F=F-40:Y=-40:RETURN
 3014 IF RND(2)<0.5 AND F<>B THEN J=2:M=130:F=F-40:Y=-40:RETURN
 3020 IF PEEK(E+F+Y)>90 AND PEEK(E+F+Y)<>196  THEN Y=-Y
 3030 E=E+Y:RETURN
 3040 IF PEEK(E+F+1)>90 THEN 3050
 3042 IF E<A THEN J=1:E=E+1:Y=1:RETURN
 3044 IF PEEK(E+F-1)>90 AND RND(2)<0.5 AND E<>A THEN J=1:E=E+1:Y=1:RETURN 
 3050 IF PEEK(E+F-1)>90 THEN 3060
 3052 IF E>A THEN J=1:E=E-1:Y=-1:RETURN
 3054 IF RND(2)<0.5 AND E<>A THEN J=1:E=E-1:Y=-1:RETURN
 3060 IF PEEK(E+F+Y)>90 AND PEEK(E+F+Y)<>196 THEN Y=-Y
 3070 F=F+Y:RETURN
 3160 IF PEEK(C+D+40)>90 THEN 3170
 3162 IF D<B THEN I=2:N=157:D=D+40:X=40:RETURN
 3164 IF PEEK(C+D-40)>90 AND RND(2)>0.5 AND D>B THEN I=2:N=157:D=D+40:X=40:RETURN
 3170 IF PEEK(C+D-40)>90 THEN 3180
 3172 IF D>B THEN I=2:N=154:D=D-40:X=-40:RETURN
 3174 IF RND(2)<0.5 AND D<>B THEN I=2:N=154:D=D-40:X=-40:RETURN
 3180 IF PEEK(C+D+X)>90 AND PEEK(C+D+X)<>196 THEN X=-X  
 3190 C=C+X:RETURN
 3200 IF PEEK(C+D+1)>90 THEN 3210
 3202 IF C<A THEN I=1:N=151:C=C+1:X=1:RETURN
 3204 IF PEEK(C+D-1)>90 AND RND(2)>0.5 AND C>A THEN I=1:N=151:C=C+1:X=1:RETURN
 3210 IF PEEK(C+D-1)>90 THEN 3220
 3212 IF C>A THEN I=1:N=148:C=C-1:X=-1:RETURN
 3214 IF RND(2)<0.5 AND C<>A THEN I=1:N=148:C=C-1:X=-1:RETURN
 3220 IF PEEK(C+D+X)>90 AND PEEK(C+D+X)<>196 THEN X=-X
 3230 D=D+X:RETURN
 4000 IF PEEK(A+B-39)<>186 THEN RETURN
 4005 OUT 128,7:OUT 128,(RND(2)*20+200)
 4010 IF PEEK(A+B-79)<90 THEN B=B-80:A=A+1:ELSE B=B-80
 4020 OUT 128,3:RETURN
 4100 IF PEEK(A+B+40)>32 THEN RETURN:ELSE B=B+40:RETURN
 4200 IF PEEK(A+B-1)=1 THEN POKE(A+B+41),1:RETURN
 4210 IF PEEK(A+B-39)>90 THEN RETURN
 4220 A=A+1:B=B-40:RETURN
 4300 IF PEEK(A+B+1)=1 THEN POKE(A+B+39),1:RETURN
 4310 IF PEEK(A+B-41)>90 THEN RETURN
 4320 A=A-1:B=B-40:RETURN
 4400 IF PEEK(A+B+39)>90 THEN RETURN
 4410 A=A-1:RETURN
 4500 IF PEEK(A+B+41)>90 THEN RETURN
 4510 A=A+1:RETURN
 4600 IF PEEK(A+B-1)=175 THEN R=R+1:GOTO 4621
 4610 IF PEEK(A+B-1)>90 THEN RETURN
 4620 A=A-1:RETURN
 4621 IF R=0 THEN RETURN
 4622 IF R>11 THEN 4626
 4623 PRINT AT(11+R,37);"":GOTO 4620
 4626 PRINT AT(R,38);"":GOTO 4620
 4700 IF PEEK(A+B+1)=175 THEN R=R+1:GOTO 4721
 4710 IF PEEK(A+B+1)>90 THEN RETURN
 4720 A=A+1:RETURN
 4721 IF R=0 THEN RETURN
 4722 IF R>11 THEN 4726
 4723 PRINT AT(11+R,37);"":GOTO 4720
 4726 PRINT AT(R,38);"":GOTO 4720
 4800 IF R<1 THEN 910
 4810 IF PEEK(A+B-1)<33 THEN POKE(A+B-1),175:GOSUB 4840
 4820 IF PEEK(A+B+1)<33 THEN POKE(A+B+1),175:GOSUB 4840
 4830 GOTO 910
 4840 IF R>11 THEN 4870
 4850 PRINT AT(11+R,37);" "
 4860 R=R-1:RETURN
 4870 PRINT AT(R,38);" "
 4880 R=R-1:RETURN
 8000 PAPER 8:INK 5:PRINT AT(1,1);"                           " 
 8010 PRINT AT(2,1);"    "  
 8020 PRINT AT(3,1);"                         "
 8030 PRINT AT(4,1);"         "
 8040 PRINT AT(5,1);"                   "
 8050 PRINT AT(6,1);"               "
 8060 PRINT AT(7,1);"                 "
 8070 PRINT AT(8,1);"                   "
 8080 PRINT AT(9,1);"             "
 8090 PRINT AT(10,1);"                      "
 8100 PRINT AT(11,1);"            "
 8110 PRINT AT(12,1);"                       "
 8120 PRINT AT(13,1);"           " 
 8130 PRINT AT(14,1);"                  "
 8140 PRINT AT(15,1);"               "
 8150 PRINT AT(16,1);"                  "
 8160 PRINT AT(17,1);"               "
 8170 PRINT AT(18,1);"                    "
 8180 PRINT AT(19,1);"            "
 8190 PRINT AT(20,1);"                       "
 8200 PRINT AT(21,1);"       " 
 8210 PRINT AT(22,1);"                            "
 8220 RETURN
 9000 PAPER 4:INK 2:PRINT AT(1,1);"                            " 
 9010 PRINT AT(2,1);"         "
 9020 PRINT AT(3,1);"                      "
 9030 PRINT AT(4,1);"             "
 9040 PRINT AT(5,1);"                   "
 9050 PRINT AT(6,1);"             "
 9060 PRINT AT(7,1);"                       "
 9070 PRINT AT(8,1);"        "
 9080 PRINT AT(9,1);"                         "
 9090 PRINT AT(10,1);"          "
 9100 PRINT AT(11,1);"                        "
 9110 PRINT AT(12,1);"           "
 9120 PRINT AT(13,1);"                    "
 9130 PRINT AT(14,1);"            "
 9140 PRINT AT(15,1);"                    "
 9150 PRINT AT(16,1);"                "
 9160 PRINT AT(17,1);"                 "
 9170 PRINT AT(18,1);"                   "
 9180 PRINT AT(19,1);"         "
 9190 PRINT AT(20,1);"                              "
 9200 PRINT AT(21,1);"    "
 9210 PRINT AT(22,1);"                              "
 9220 RETURN
10000 PAPER 3:INK 2:PRINT AT(1,1);"                          "         
10010 PRINT AT(2,1);"                 "  
10020 PRINT AT(3,1);"             "
10030 PRINT AT(4,1);"                            "
10040 PRINT AT(5,1);"    "
10050 PRINT AT(6,1);"                             "
10060 PRINT AT(7,1);"       "
10070 PRINT AT(8,1);"                            "
10080 PRINT AT(9,1);"          "
10090 PRINT AT(10,1);"                         "
10100 PRINT AT(11,1);"          "   
10110 PRINT AT(12,1);"                         "
10120 PRINT AT(13,1);"            "
10130 PRINT AT(14,1);"                   "
10140 PRINT AT(15,1);"                "
10150 PRINT AT(16,1);"                "
10160 PRINT AT(17,1);"                 "
10170 PRINT AT(18,1);"              "
10180 PRINT AT(19,1);"              "
10190 PRINT AT(20,1);"                         "
10200 PRINT AT(21,1);"    "
10210 PRINT AT(22,1);"                              "
10220 RETURN
20000 PRINT AT(1,1);"                            "
20010 PRINT AT(2,1);"          "
20020 PRINT AT(3,1);"                "
20030 PRINT AT(4,1);"                      "
20040 PRINT AT(5,1);"           "
20050 PRINT AT(6,1);"                        "
20060 PRINT AT(7,1);"           "
20070 PRINT AT(8,1);"                         "
20080 PRINT AT(9,1);"           "
20090 PRINT AT(10,1);"                     "
20100 PRINT AT(11,1);"        "      
20110 PRINT AT(12,1);"                         "
20120 PRINT AT(13,1);"            "
20130 PRINT AT(14,1);"                     "
20140 PRINT AT(15,1);"                 "
20150 PRINT AT(16,1);"                  " 
20160 PRINT AT(17,1);"              "
20170 PRINT AT(18,1);"                    "
20180 PRINT AT(19,1);"           "
20190 PRINT AT(20,1);"                          "
20200 PRINT AT(21,1);"         "
20210 PRINT AT(22,1);"                           "
20220 RETURN
30000 PRINT AT(1,1);"                             "
30010 PRINT AT(2,1);"    "
30020 PRINT AT(3,1);"                          "
30030 PRINT AT(4,1);"      "
30040 PRINT AT(5,1);"                        "
30050 PRINT AT(6,1);"            "
30060 PRINT AT(7,1);"                "
30070 PRINT AT(8,1);"                "
30080 PRINT AT(9,1);"                "
30090 PRINT AT(10,1);"                 "
30100 PRINT AT(11,1);"                 "
30110 PRINT AT(12,1);"                "
30120 PRINT AT(13,1);"                      "
30130 PRINT AT(14,1);"            "
30140 PRINT AT(15,1);"                        "
30150 PRINT AT(16,1);"            "
30160 PRINT AT(17,1);"                          "
30170 PRINT AT(18,1);"            "
30180 PRINT AT(19,1);"                   "
30190 PRINT AT(20,1);"                 "
30200 PRINT AT(21,1);"          "
30210 PRINT AT(22,1);"                            ":RETURN
40000 CLS:GOSUB 30000:PAUSE 1000