Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 0 A1$="HEIMCOMPUTER robotron Z9001" 2 A2$="SPIELE":A9=2 4 A3$="X+CATLAB" 6 A4$="KATZENLABYRINTH" 8 A5$="EIN REAKTIONS-SPIEL" 10 REM VERFASSER:SCHROETER 12 REM ANSCHRIFT:MKD,DTW 14 REM DATUM 07.09.1984 VERSION 2.0 16 REM INITIALWERTE =================IN 18 BORDER A9:INK 8:PAPER 1:WINDOW:CLS 20 L=500:DIM M(4),N(4),R(4),X(14),Y(14):GOTO 10000 90 GOSUB 100:GOTO 1000 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 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 199 REM MIN-STEPS PRINTEN -----------UP 200 PRINT INK 3;AT(12,36);"MIN":PRINT INK 3;AT(13,35);"STEPS" 202 PRINT INK 2;AT(15,35);L:RETURN 1000 WINDOW:BORDER 1:PAPER 1:CLS:INK 7 1010 PRINT INK 4;AT(0,2);STRING$(32,"") 1020 PRINT AT(1,3);" " 1030 PRINT AT(2,3);" " 1040 PRINT AT(3,3);" " 1050 PRINT AT(4,3);" " 1060 PRINT AT(5,3);" " 1070 PRINT AT(6,3);" " 1080 PRINT AT(7,3);" " 1090 PRINT AT(8,3);" " 1100 PRINT AT(9,3);" " 1110 PRINT AT(10,3);" " 1120 PRINT AT(11,3);" " 1130 PRINT AT(12,3);" " 1140 PRINT AT(13,3);" " 1150 PRINT AT(14,3);" " 1160 PRINT AT(15,3);" " 1170 PRINT AT(16,3);" " 1180 PRINT AT(17,3);" " 1190 PRINT AT(18,3);" " 1200 PRINT AT(19,3);" " 1210 PRINT AT(20,3);" " 1220 PRINT AT(21,3);" " 1230 PRINT AT(22,3);" " 1240 PRINT INK 4;AT(23,2);STRING$(30,"")," " 1244 WINDOW 1,23,2,2:PRINT INK 4;STRING$(22,"");:PRINT INK 3;AT(4,35);"STEPS" 1246 WINDOW 1,23,33,33:PRINT INK 4;STRING$(22,"");:WINDOW:PRINT AT(0,0);" " 1248 RM=5:PRINT INK 2;AT(22,35);"*****":GOSUB 200 1265 X=25:RESTORE 1800:FOR I=1 TO 14:READ X(I):READ Y(I):NEXT I:K=0 1280 FOR I=1 TO 4:R(I)=I-1 1290 J=INT(14*RND(1)+1):M(I)=X(J):N(I)=Y(J) 1310 IF PEEK(-5120+M(I)*40+N(I))<>255 THEN 1290 1320 IF X<24 THEN 1480 1330 NEXT I 1370 X=1:Y=3:PRINT INK 2;AT(X,Y);"*" 1380 FOR I=1 TO 4 1390 POKE-5120+40*M(I)+N(I),255 1400 O=M(I)+(R(I)=1)-(R(I)=3) 1410 P=N(I)+(R(I)=2)-(R(I)=0) 1420 XX=-5120+40*M(I)+N(I):IF PEEK(-5120+40*O+P)=255 THEN 1460 1422 J=1:IF PEEK(XX-40)=255 THEN P(J)=1:J=J+1 1423 IF PEEK(XX+40)=255 THEN P(J)=3:J=J+1 1424 IF PEEK(XX-1)=255 THEN P(J)=2:J=J+1 1425 IF PEEK(XX+1)=255 THEN P(J)=0:J=J+1 1440 IF RND(1)<.05 OR J=1 THEN 1290 1445 R(I)=P((J-1)*RND(1)+1) 1450 GOTO 1400 1460 M(I)=O 1470 N(I)=P 1480 PRINT PAPER 5;AT(M(I),N(I));"" 1490 NEXT I 1500 POKE 16383,0 1510 CALL*4000 1520 B=PEEK(36) 1530 O=X-(B=10)+(B=11) 1540 P=Y-(B=9)+(B=8) 1550 POKE(-5120+40*X+Y),32 1560 K=K+1:PRINT INK 2;AT(6,35);K 1570 IF PEEK(16383)<>1 AND PEEK(-5120+40*O+P)=32 THEN 1580 1572 RM=RM-1:PRINT AT(22,35+RM);" ":IF RM<>0 THEN BEEP:GOTO 1370 1574 FOR I=1 TO 3:BEEP:PAUSE 8:NEXT I:GOTO 1672 1580 X=O:Y=P 1590 PRINT INK 2;AT(O,P);"*" 1600 IF X<>23 THEN 1380 1610 IF K<L THEN L=K 1670 GOSUB 200 1672 IF INKEY$<>CHR$(13)THEN 1672 1740 GOTO 1000 1800 DATA 8,12,9,8,4,16,6,17,4,22,11,12,10,20,14,21,16,21,15,25,11,24,12,29 1802 DATA 18,25,21,29 10000 REM BASIC-LADER 01 10010 DATA 0,33,0,236,62,42,35,190,32,252,17,40,0,62,139,25,190,40,19,167 10020 DATA 237,82,237,82,190,40,11,25,35,190,40,6,43,43,190,40,1,201,33 10030 DATA 255,63,54,1,201 10040 RESTORE 10010:S=0:FOR I=16383 TO 16426:READ J:POKE I,J:S=S+J:NEXT I 10042 CLS 10050 IF S<>3881 THEN PRINT AT(3,2);"DATENFEHLER!":PRINT AT(5,2);"BITTE NEU LADEN !":END 10055 PRINT:PRINT:PRINT " BITTE MIT >RUN< STARTEN !":PRINT:PRINT 10060 DELETE 10010,10060 10070 GOTO 90 20000 RESTORE 1800:FOR I=1 TO 14:READ A:READ B 20010 PRINT INK 2;AT(A,B);"" 20020 NEXT I