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

    0 A1$="HEIMCOMPUTER robotron Z9001"
    2 A2$="SPIEL":A9=2
    4 A3$="S+MAULAB"
    6 A4$="MAEUSELABYRINTH"
    8 A5$="EIN BOSS-PUZZLE SPIEL"
   10 REM VERFASSER:SCHROETER"
   12 REM ANSCHRIFT:MKD,DTW
   14 REM DATUM 28.02.1985 VERSION 2.0
   16 REM INITIALWERTE =================IN
   18 BORDER A9:INK 8:PAPER 1:WINDOW:CLS:PRINT AT(0,0);" "
   20 DATA 1,-1,40,-40
   21 DATA 201,176,177,178,179,213,214,218,217
   90 GOSUB 100:GOSUB 160:GOTO 2000
   96 REM UNTERPROGRAMME ===============UP
   98 REM TITELBILD --------------------UP
  100 PRINT AT(2,2);A1$:PRINT AT(4,2);"",STRING$(34,""),""
  102 PRINT AT(5,2);"":PRINT AT(5,37);""
  104 PRINT AT(6,2);"",STRING$(34,""),""
  106 PRINT AT(5,3);A2$:PRINT INK 3;AT(5,29);A3$
  108 INK A9:PRINT AT(8,2);STRING$(36,"")
  110 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I
  112 PRINT AT(14,2);STRING$(36,"")
  114 INK 8:PRINT AT(10,36-LEN(A4$));A4$:PRINT AT(12,36-LEN(A5$));A5$
  116 INK 3:PRINT AT(18,2);"VEB ROBOTRON-MESSELEKTRONIK"
  118 PRINT AT(20,2);">OTTO SCHOEN< DRESDEN":INK 8:GOTO 10000
  119 REM >ENTER< ---------------------UP
  120 PRINT INK 4;AT(22,31);">ENTER<"
  122 T$=INKEY$:IF T$=""THEN 122
  124 IF T$=CHR$(13)THEN PRINT AT(20,27);STRING$(11," "):RETURN
  126 GOSUB 130:GOTO 122
  129 REM WIE BITTE ? -----------------UP
  130 PRINT INK 2;AT(20,27);"WIE BITTE ?":RETURN
  149 REM J/N ABFRAGE -----------------UP
  150 PRINT INK 4;AT(22,(34-LEN(KY$)));KY$," ? J"
  152 T$=INKEY$:IF T$=""THEN 152
  153 PRINT INK 2;AT(22,37);T$
  154 IF ASC(T$)=74 OR ASC(T$)=13 THEN T=1:PRINT AT(20,27);STRING$(11," "):RETURN
  156 IF ASC(T$)=78 THEN T=2:PRINT AT(20,27);STRING$(11," "):RETURN
  158 GOSUB 130:PAUSE 10:GOTO 150
  159 REM GERAETEKONFIGURATION -------- UP
  160 PAPER 3:INK 3:CLS:PRINT AT(10,5);"BITTE EINE '1' EINGEBEN":PRINT AT(0,0);" "
  161 PRINT AT(22,30);">ENTER<":A$=INKEY$:IF A$=""THEN 161
  162 IF A$="1"THEN SW=1:ELSE SW=0
  163 RETURN
  199 REM SPIELFELD ------------------- UP
  200 PAPER 3:INK 2:WINDOW 0,23,9,22:CLS
  201 WINDOW 9,18,5,26:CLS:WINDOW 5,14,1,30:CLS
  202 PAPER 7:INK 1:FOR I=0 TO 23:PRINT AT(I,8);"":PRINT AT(I,11);""
  203 PRINT AT(I,20);"":PRINT AT(I,23);"":NEXT I
  204 FOR I=1 TO 22:PRINT AT(I,12);"":PRINT AT(I,19);"":NEXT I
  205 PRINT AT(0,12);"":PRINT AT(23,12);""
  206 PRINT AT(3,15);"":PRINT AT(20,15);""
  207 FOR I=5 TO 14:PRINT AT(I,0);"":PRINT AT(I,31);""
  208 PRINT AT(4,I-4);"":PRINT AT(4,I+16);"":NEXT I
  209 FOR I=8 TO 11:PRINT AT(I,3);"":PRINT AT(I,28);"":PRINT AT(7,I-4);""
  210 PRINT AT(7,I+16);"":NEXT I
  211 FOR I=1 TO 3:PRINT AT(8,I+4);"":PRINT AT(8,I+23);"":PRINT AT(19,I+4);""
  212 PRINT AT(19,I+23);"":PRINT AT(15,I);"":PRINT AT(15,I+27);""
  213 PRINT AT(I+8,4);"":PRINT AT(I+15,4);"":PRINT AT(I+8,27);""
  214 PRINT AT(I+15,27);"":NEXT I
  215 PRINT AT(4,0);"":PRINT AT(4,31);"":PRINT AT(15,0);"":PRINT AT(15,31);""
  216 PRINT AT(7,3);"":PRINT AT(7,28);"":PRINT AT(15,4);"":PRINT AT(15,27);""
  217 PRINT AT(8,4);"":PRINT AT(8,27);"":PRINT AT(19,4);"":PRINT AT(19,27);""
  218 PRINT AT(12,3);"":PRINT AT(12,27);"":PRINT AT(11,7);"":PRINT AT(11,24);"
  219 PRINT AT(12,7);"":PRINT AT(12,24);"":PRINT AT(15,7);""
  220 PRINT AT(15,24);"":PRINT AT(16,7);"":PRINT AT(16,24);"":IF SW=0 THEN RETURN
  221 PRINT AT(3,7);"":PRINT AT(3,11);"":PRINT AT(3,19);""
  222 PRINT AT(3,23);"":PRINT AT(4,7);"":PRINT AT(4,24);""
  223 PRINT AT(7,7);"":PRINT AT(7,24);"":PRINT AT(8,7);"":PRINT AT(8,24);""
  224 PRINT AT(19,7);"":PRINT AT(19,24);"":PRINT AT(20,7);""
  225 PRINT AT(20,11);"":PRINT AT(20,19);"":PRINT AT(20,23);""
  228 RETURN
  229 REM MAUSZUG ----------------------UP
  230 A=DEEK(529):IF A<>0 THEN SM=A
  231 TI=TI+1:IF TI<>T THEN RETURN
  232 TI=0:RESTORE 20
  235 NM=SM+RM
  236 IF NM>-4161 THEN NM=NM-960:GOTO 252
  237 IF NM<-5120 THEN NM=NM+960:GOTO 252
  238 A=PEEK(NM):B=PEEK(NM-1024)
  239 IF RM=-40 THEN X=1:Y1=182:Y2=180:Y3=248:Y4=192
  240 IF RM=40 THEN X=-1:Y1=251:Y2=181:Y3=158:Y4=159
  241 IF RM=1 THEN X=40:Y1=181:Y2=182:Y3=159:Y4=248
  242 IF RM=-1 THEN X=-40:Y1=180:Y2=251:Y3=192:Y4=158
  243 C=PEEK(SM+X):D=PEEK(SM+2*X):E1=PEEK(NM-41):F1=PEEK(NM-39):E2=PEEK(NM+39)
  244 F2=PEEK(NM+41):IF A=32 AND E1=32 AND F1=32 AND E2=32 AND F2=32 THEN LM=1:RETURN
  245 IF A=32 OR A=SY THEN 252
  246 IF A=185 THEN RM=-SGN(ABS(X)-2)*X:NM=NM+RM:GOTO 252
  247 IF A=184 THEN RM=SGN(ABS(X)-2)*X:NM=NM+RM:GOTO 252
  248 IF A=Y1 OR A=Y3 THEN LM=2:RETURN
  249 IF C=Y4 OR D=Y4 OR C=Y2 OR D=Y2 THEN RM=-X:NM=SM+RM:GOTO 252
  250 RM=X:NM=SM+RM
  252 POKE SM,32:FOR I=1 TO 4:READ D:FP=SM+D:IF PEEK(FP)=SY THEN GOSUB 290
  253 NEXT I:SM=NM:POKE SM,207:POKE SM-1024,18
  254 RETURN
  259 REM RUNDENENDE -------------------UP
  260 R=R+1:MA=MA+1:PRINT INK 4;AT(21,32+MA);"":IF R=7 THEN R=2
  261 RETURN
  269 REM MAUSSTURZ --------------------UP
  270 POKE NM,207:POKE NM-1024,16:BEEP:PAUSE 3:SM=NM
  271 POKE SM,32:POKE SM-1024,0:NM=SM+RM:POKE NM,207:POKE NM-1024,16
  272 BEEP:PAUSE 3:SM=NM:RESTORE 21
  273 FOR I=1 TO 9:READ A:POKE SM,A:BEEP:PAUSE 2:NEXT I
  274 POKE SM,32:POKE SM-1024,0:RETURN
  279 REM MAUSANPRALL ------------------UP
  280 FOR I=1 TO 5:POKE SM,207
  281 BEEP:PAUSE 2:POKE SM,32:PAUSE 2:NEXT I
  282 RETURN
  289 REM FRESSEN ----------------------UP
  290 NM=FP:FOR I=1 TO 5:POKE NM,207:POKE NM-1024,18:BEEP:PAUSE 2:CALL*214
  291 POKE NM,SY:POKE NM-1024,16*(V-1)+2:PAUSE 2:CALL*214:NEXT I
  293 GP=GP+PU:PRINT AT(8,32);GP:ZA=ZA-1
  294 BEEP:RETURN
 2000 WINDOW:PAPER 7:CLS:BORDER 1
 2010 R=1:MA=4:GP=0
 2020 GOSUB 200
 2030 ZA=8
 2040 IF R=1 THEN T=6:V=6:PU=100:SY=201
 2050 IF R=2 THEN T=5:V=1:PU=200:SY=202
 2060 IF R=3 THEN T=4:V=5:PU=500:SY=204
 2070 IF R=4 THEN T=3:V=2:PU=500:SY=203
 2080 IF R=5 THEN T=2:V=6:PU=500:SY=166
 2090 IF R=6 THEN T=1:V=5:PU=1000:SY=205
 2100 INK V:PAPER 3:PRINT AT(2,9);CHR$(SY):PRINT AT(2,22);CHR$(SY)
 2110 PRINT AT(1,16);CHR$(SY):PRINT AT(10,1);CHR$(SY):PRINT AT(10,30);CHR$(SY)
 2120 PRINT AT(16,5);CHR$(SY):PRINT AT(16,26);CHR$(SY):PRINT AT(22,15);CHR$(SY)
 2130 WINDOW 4,19,8,23:PAPER 1:INK 1:CLS
 2140 WINDOW 0,23,32,39:PAPER 2:INK 8:CLS
 2145 POKE-5976,0
 2150 PRINT CHR$(10);CHR$(10);CHR$(9);
 2160 PRINT AT(2,33);"RUNDE",CHR$(R+48)
 2170 PRINT AT(6,33);"PUNKTE":PRINT AT(8,32);GP
 2180 PRINT AT(19,33);"MAEUSE":PRINT INK 4;AT(21,33);STRING$(MA,"")
 2190 I1=INT(RND(1)*2):J1=INT(RND(1)*2)
 2200 FOR I=0 TO 3:FOR J=0 TO 3:IF I=I1 AND J=J1 THEN 2370
 2210 A=INT(RND(1)*9+1)
 2220 ON A GOTO 2230,2240,2250,2260,2270,2280,2290,2300,2310
 2230 IF SW=0 THEN RESTORE 2521:GOTO 2320:ELSE RESTORE 2530:GOTO 2320
 2240 IF SW=0 THEN RESTORE 2522:GOTO 2320:ELSE RESTORE 2531:GOTO 2320
 2250 IF SW=0 THEN RESTORE 2523:GOTO 2320:ELSE RESTORE 2532:GOTO 2320
 2260 IF SW=0 THEN RESTORE 2524:GOTO 2320:ELSE RESTORE 2533:GOTO 2320
 2270 IF SW=0 THEN RESTORE 2525:GOTO 2320:ELSE RESTORE 2534:GOTO 2320
 2280 IF SW=0 THEN RESTORE 2526:GOTO 2320:ELSE RESTORE 2535:GOTO 2320
 2290 IF SW=0 THEN RESTORE 2527:GOTO 2320:ELSE RESTORE 2536:GOTO 2320
 2300 IF SW=0 THEN RESTORE 2528:GOTO 2320:ELSE RESTORE 2537:GOTO 2320
 2310 IF SW=0 THEN RESTORE 2529:ELSE RESTORE 2538
 2320 FOR I2=0 TO 3:FOR J2=0 TO 3:READ A:B=96
 2330 A1=-4952+I*160+J*4+I2*40+J2
 2340 POKE A1,A:IF A=32 THEN B=18
 2350 IF A=184 OR A=185 THEN B=2
 2360 POKE A1-1024,B:NEXT J2:NEXT I2
 2370 NEXT J:NEXT I
 2380 RM=-40:SM=-4191:POKE SM,207:TI=0
 2390 LM=0:CALL*214:FOR I=1 TO 12:NEXT I:GOSUB 230:IF PEEK(36)=PEEK(531)THEN POKE 531,0
 2400 IF ZA=0 THEN GOSUB 260:GOTO 2030
 2410 IF LM=1 THEN POKE SM,32:GOSUB 270:GOTO 2440
 2420 IF LM=2 THEN GOSUB 280:GOTO 2440
 2430 GOTO 2390
 2440 MA=MA-1:PRINT AT(21,33+MA);" ":IF MA>=0 THEN 2380
 2450 FOR I=1 TO 5:PRINT AT(19,33);"      ":PAUSE 2:PRINT AT(19,33);"MAEUSE":BEEP
 2460 PAUSE 2:NEXT I
 2470 PAUSE 20:WINDOW:PAPER 5:INK 8:CLS
 2480 PRINT AT(10,3);"SIE HABEN ALLE MAEUSE VERSPIELT!":PRINT AT(0,0);" ":BEEP:PAUSE 50
 2490 CLS:PRINT AT(10,1);"VERSUCHEN SIE ES NOCH EINMAL ?":PRINT AT(0,0);" "
 2495 A$=INKEY$
 2500 A$=INKEY$:IF A$=""THEN 2500
 2510 IF A$="N"THEN CLS:PRINT AT(8,5);"AUF WIEDERSEHEN!":PRINT AT(0,0);" ":PAUSE 50:CLS:END
 2520 GOTO 2000
 2521 DATA 193,32,32,137,159,32,32,192,159,32,32,192,136,32,32,200
 2522 DATA 193,158,158,137,32,32,32,32,32,32,32,32,136,248,248,200
 2523 DATA 193,32,32,137,32,32,32,32,32,32,32,32,136,32,32,200
 2524 DATA 193,32,32,137,159,32,32,32,159,32,32,32,136,248,248,200
 2525 DATA 193,32,32,137,32,32,32,192,32,32,32,192,136,248,248,200
 2526 DATA 193,158,158,137,32,32,32,192,32,32,32,192,136,32,32,200
 2527 DATA 193,158,158,137,159,32,32,32,159,32,32,32,136,32,32,200
 2528 DATA 193,32,32,137,32,184,32,32,32,32,184,32,136,32,32,200
 2529 DATA 193,32,32,137,32,32,185,32,32,185,32,32,136,32,32,200
 2530 DATA 186,32,32,187,181,32,32,180,181,32,32,180,189,32,32,188
 2531 DATA 186,251,251,187,32,32,32,32,32,32,32,32,189,182,182,188
 2532 DATA 186,32,32,187,32,32,32,32,32,32,32,32,189,32,32,188
 2533 DATA 186,32,32,187,181,32,32,32,181,32,32,32,189,182,182,188
 2534 DATA 186,32,32,187,32,32,32,180,32,32,32,180,189,182,182,188
 2535 DATA 186,251,251,187,32,32,32,180,32,32,32,180,189,32,32,188
 2536 DATA 186,251,251,187,181,32,32,32,181,32,32,32,189,32,32,188
 2537 DATA 186,32,32,187,32,184,32,32,32,32,184,32,189,32,32,188
 2538 DATA 186,32,32,187,32,32,185,32,32,185,32,32,189,32,32,188
10000 REM BALA50
10010 DATA 0,0,0,33,0,0,34,17,2,58,36,0,71,167,40,4,254,127,32,10,58,19,2
10020 DATA 167,200,175,50,19,2,201,58,19,2,167,192,120,50,19,2,254,8,216
10030 DATA 254,12,208,245,33,168,236,14,4,6,4,17,4,0,126,254,32,40,10,25
10040 DATA 16,248,17,144,0,25,13,32,236,241,214,8,40,13,61,40,17,61,40,23
10050 DATA 13,200,17,160,0,24,23,5,200,17,4,0,24,16,62,4,184,200,17,252,255
10060 DATA 24,7,62,4,185,200,17,96,255,229,213,229,25,209,235,14,4,6,4,26
10070 DATA 119,254,207,32,3,34,17,2,62,32,18,35,19,16,240,197,1,36,0,235,9
10080 DATA 235,9,193,13,32,226,209,225,1,0,4,167,237,66,229,25,209,235,14,4
10090 DATA 6,4,26,119,175,18,35,19,16,248,197,1,36,0,235,9,235,9,193,13,32,234
10091 DATA 201
10095 RESTORE 10010
10100 S=0:FOR I=529 TO 715:READ A:POKE I,A:S=S+A:NEXT I
10110 IF S<>15749 THEN PRINT "LADEFEHLER!!";S:END
10130 GOTO 120