Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 10 A1$="GESCHICKLICHKEITSSPIEL":A9=2:A2$="BOALAB" 20 A3$="DAS SCHLANGEN - LABYRINTH" 30 REM INITIALWERTE =================IN 40 BORDER A9:INK 8:PAPER 1:WINDOW:CLS 50 GOSUB 80:GOTO 610 60 REM UNTERPROGRAMME ===============UP 70 REM TITELBILD --------------------UP 80 PRINT AT(0,0);" ":PRINT AT(4,2);"",STRING$(34,""),"" 90 PRINT AT(5,2);"":PRINT AT(5,37);"" 100 PRINT AT(6,2);"",STRING$(34,""),"" 110 PRINT AT(5,3);A1$ 120 INK A9:PRINT AT(8,2);STRING$(36,"") 130 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I 140 PRINT AT(14,2);STRING$(36,"") 150 INK 8:PRINT AT(10,4);A2$:PRINT AT(12,36-LEN(A3$));A3$ 160 REM >ENTER< ---------------------UP 170 PRINT INK 4;AT(22,31);">ENTER<" 180 T$=INKEY$:IF T$=""THEN 180 190 IF T$=CHR$(13)THEN PRINT AT(20,27);STRING$(11," "):RETURN 200 GOSUB 220:GOTO 180 210 REM WIE BITTE ? -----------------UP 220 PRINT INK 2;AT(20,27);"WIE BITTE ?":RETURN 230 REM J/N ABFRAGE -----------------UP 240 PRINT INK 4;AT(22,(34-LEN(KY$)));KY$," ? J" 250 T$=INKEY$:IF T$=""THEN 250 260 PRINT INK 2;AT(22,37);T$ 270 IF ASC(T$)=74 OR ASC(T$)=13 THEN T=1:PRINT AT(20,27);STRING$(11," "):RETURN 280 IF ASC(T$)=78 THEN T=2:PRINT AT(20,27);STRING$(11," "):RETURN 290 GOSUB 220:PAUSE 10:GOTO 240 300 REM RICHTUNG SCHLANGE -----------UP 310 IF C=-1 THEN C=40:RETURN 320 IF C=40 THEN C=1 :RETURN 330 IF C=1 THEN C=-40:RETURN 340 IF C=-40 THEN C=-1 :RETURN 350 RETURN 360 REM RICHTUNG MONSTER ------------UP 370 IF D=40 THEN D=-1:RETURN 380 IF D=-1 THEN D=-40:RETURN 390 IF D=-40 THEN D=1 :RETURN 400 IF D=1 THEN D=40:RETURN 410 RETURN 420 REM SPRUNG SCHLANGE -------------UP 430 A3=A 440 A=A-(((X=8)-(X=9))*(ABS(C)=40)+((X=11)-(X=10))*40*(ABS(C)=1))*2 450 IF A>A1+880 OR A<A1 OR PEEK(A)<>32 THEN A=A3 460 IF A=A3 THEN RETURN 470 LS=LA+(C=1)*(X=11)+(C=-1)*(X=10)+(C=40)*(X=9)+(C=-40)*(X=8) 480 IF LS=LA THEN LS=LA-1 490 LA=LS : RETURN 500 REM SPRUNG MONSTER --------------UP 510 Q=1 : D1=D : GOSUB 370: D2=D : D=D1 520 W=LA-LB : IF W>1 THEN W=1 530 IF W<-1 THEN W=-1 540 B4=B : LB=LB+W : B=B+W*D2*2 : IF PEEK(B)=255 THEN B=B4:LB=LB-W 550 RETURN 560 REM RUNDENENDE ------------------UP 570 S1=S1+S : S=0 : G=H : H=201 580 IF G=201 THEN H=58 590 V1=V : RETURN 600 REM HAUPTPROGRAMM ===============HP 610 PAPER 1:WINDOW:CLS 620 BORDER 1 630 H1=0 640 S=0 : S1=0 : INK 2 : Q=0 650 A$="" 660 B$=" " 670 FOR I=0 TO 6 STEP 2 680 PRINT AT(I,0);A$ 690 PRINT AT(I+1,0);B$ 700 PRINT AT(20-I,0);B$ 710 PRINT AT(21-I,0);A$ 720 PRINT AT(I/2+9,0);" " 730 A$=LEFT$(A$,15)+" "+RIGHT$(A$,15) 740 A$=LEFT$(A$,I+2)+""+MID$(A$,I+4) 750 A$=LEFT$(A$,31-I)+""+MID$(A$,33-I) 760 B$=LEFT$(B$,I+3)+""+MID$(B$,I+5) 770 B$=LEFT$(B$,30-I)+""+MID$(B$,32-I) 780 NEXT I 790 B$=LEFT$(B$,9)+""+RIGHT$(B$,9) 800 PRINT AT(8,0);B$ 810 PRINT AT(13,0);B$ 820 V=224 : G=58 : H=201 : V1=V : A1=-5121 830 FOR A=A1 TO A1+880 840 IF PEEK(A)=201 THEN POKE A-1024,48 860 B1=32 : LA=1 : A=A1+819 870 LB=1 : B=A1+363 : A2=0 : C=40 880 O=A1+INT(RND(1)*800) 890 IF PEEK(O)<>201 AND PEEK(O)<>58 THEN 880 900 IF PEEK(O)=H THEN V1=V1-1 910 POKE O,207 : POKE O-1024,80 : V=V-1 920 IF S>1 THEN RETURN 930 D=-1 940 IF A2=H THEN S=S+1 950 IF PEEK(A+C)=255 THEN GOSUB 310 960 IF A2<>H AND A2<>G THEN 1010 970 POKE A,G 980 IF G=201 THEN POKE A-1024,48 990 IF G=58 THEN POKE A-1024,64 1000 GOTO 1020 1010 POKE A,32 1020 IF S=V1 THEN GOSUB 570 1030 X=PEEK(36) 1040 IF X<>0 AND PEEK(A+C)=32 THEN GOSUB 430 1050 A=A+C 1060 IF A=O THEN S1=S1+5 : GOSUB 880 1070 A2=PEEK(A) 1080 IF A2=38 THEN 1190 1090 POKE A,47 : POKE A-1024,16 1100 IF PEEK(B+D)=255 THEN GOSUB 370 1110 POKE B,B1 1120 IF B1=201 THEN POKE B-1024,48 1130 IF B1=207 THEN POKE B-1024,80 1140 IF B1=58 THEN POKE B-1024,64 1150 IF B1=32 AND Q=0 AND LA<>LB AND PEEK(B+D)<>255 THEN GOSUB 510 1160 IF B1<>32 THEN Q=0 1170 B=B+D : IF PEEK(B)=47 THEN 1190 1180 B1=PEEK(B) : POKE B,38 : POKE B-1024,16 : GOTO 940 1190 POKE A,42 : POKE A-1024,144 : BEEP 1200 S=S+S1 : INK 8 1210 PRINT AT(9,12);"SCORE" 1220 PRINT AT(9,18);S 1230 IF H1<S THEN H1=S 1240 PRINT AT(12,10);"HI-SCORE" 1250 PRINT AT(12,19);H1 1260 KY$=INKEY$:GOSUB 170 1270 KY$="FORTSETZEN":GOSUB 240:CLS 1280 IF T=1 THEN 640 1290 CLS:END