Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 10!PROGRAMM VON N.BRENNICKE 20 REM Feur Z 1013 bearbeiet 30 REM R.Knecht FER 9 Bad Suelze 35 REM fuer KC 85/1 Zeilen 50, 270, 870 und 880 aendern 40 FOR I=1 TO 6:Z$(I)=STR$(I):NEXT 50 WINDOW 0,31,0,31:CLS 60 PRINT AT(3,3);"" 70 PRINT AT(4,3);" " 80 PRINT AT(5,3);" " 90 PRINT AT(6,3);" " 100 PRINT AT(7,3);" " 110 PRINT AT(8,3);" " 120 PRINT AT(9,3);" " 130 PRINT AT(10,3);" " 140 PRINT AT(11,3);" " 150 PRINT AT(12,3);" " 160 PRINT AT(13,3);" " 170 PRINT AT(14,3);" " 180 PRINT AT(15,3);" " 190 PRINT AT(16,3);" " 200 PRINT AT(17,3);" " 210 PRINT AT(18,3);" " 220 PRINT AT(19,3);" " 230 PRINT AT(20,3);" " 240 PRINT AT(21,3);" " 250 PRINT AT(22,3);" " 260 PRINT AT(23,3);" " 270 PRINT AT(24,3);" " 280 DIM T(6,5):DIM M(6,5) 290 FOR A=1 TO 5 300 FOR B=1 TO 4 310 M(A,B)=33 320 NEXT 330 NEXT 340 FOR X=0 TO 6 350 T(X,0)=20 360 T(X,5)=20 370 NEXT 380 FOR X=0 TO 5 390 T(0,X)=20 400 T(6,X)=20 410 NEXT 420 T(6,2)=22:T(6,3)=22:ERF=0 430 FOR X=1 TO 5 440 FOR Y=1 TO 4 450 READ A 460 T(X,Y)=A 470 NEXT 480 NEXT 490 DATA 2,1,1,3,2,1,1,3,4,6,6,5,4,7,8,5,9,0,0,10 500 PRINT AT(14,22);"STEIN" 510 PRINT AT(17,22);"CURS:" 520 PRINT AT(08,22);"VERSUCH" 530 PRINT AT(10,23);"Nr.0" 540 GOTO 1420 550!EINGABE 560 WINDOW 14,16,27,29:CLS 570 INPUT "";S 580 IF S<1 OR S>10 THEN:CLS:GOTO 570 590 WINDOW 17,19,28,31:CLS 600 WINDOW 17,19,28,31:PRINT AT(17,29);"??" 610 R$=INKEY$ 620 IF R$=CHR$(8)OR R$=CHR$(9)OR R$=CHR$(10)OR R$=CHR$(11)THEN GOTO 630 ELSE GOTO 610 630 IF R$=CHR$(8)THEN PRINT AT(19,22);"LINKS ":GOTO 670 640 IF R$=CHR$(9)THEN PRINT AT(19,22);"RECHTS":GOTO 670 650 IF R$=CHR$(10)THEN PRINT AT(19,22);"RUNTER":GOTO 670 660 PRINT AT(19,22);"HOCH " 670!ZAEHLER 680 V=V+1 690 PRINT AT(10,26);V:PRINT AT(17,29);" " 700!TEST 710 FOR X=1 TO 5 720 FOR Y=1 TO 4 730 IF T(X,Y)=S THEN GOTO 760 740 NEXT 750 NEXT 760 IF R$=CHR$(9)THEN GOTO 1140 770 IF R$=CHR$(8)THEN GOTO 1320 780 IF R$=CHR$(11)THEN GOTO 1020 790!RUNTER 800 IF S=1 THEN GOTO 820 810 GOTO 910 820 IF T(X+2,Y)=0 AND T(X+2,Y+1)=0 THEN T(X+2,Y)=1:T(X+2,Y+1)=1:GOTO 840 830 GOTO 850 840 T(X,Y)=0:T(X,Y+1)=0:GOTO 1420 850 IF T(X+2,Y)=22 AND T(X+2,Y+1)=22 THEN ERF=1:GOTO 1420 860 FOR X=1 TO 7 870 PRINT AT(28,5);"ZUG NICHT MOEGLICH !":PAUSE 6 880 PRINT AT(28,5);" ":PAUSE 1 890 NEXT X 900 GOTO 550 910 IF S=6 THEN GOTO 930 920 GOTO 960 930 IF T(X+1,Y)=0 AND T(X+1,Y+1)=0 THEN T(X+1,Y)=6:T(X+1,Y+1)=6:GOTO 950 940 GOTO 860 950 T(X,Y)=0:T(X,Y+1)=0:GOTO 1420 960 IF S=2 OR S=3 OR S=4 OR S=5 THEN GOTO 980 970 GOTO 1000 980 IF T(X+2,Y)=0 THEN T(X+2,Y)=S:T(X,Y)=0:GOTO 1420 990 GOTO 860 1000 IF T(X+1,Y)=0 THEN T(X+1,Y)=S:T(X,Y)=0:GOTO 1420 1010 GOTO 860 1020!TESTHOCH 1030 IF S=1 OR S=6 THEN GOTO 1050 1040 GOTO 1090 1050 IF T(X-1,Y)=0 AND T(X-1,Y+1)=0 THEN T(X-1,Y)=S:T(X-1,Y+1)=S:GOTO 1070 1060 GOTO 860 1070 IF S=1 THEN T(X+1,Y)=0:T(X+1,Y+1)=0:GOTO 1420 1080 T(X,Y)=0:T(X,Y+1)=0:GOTO 1420 1090 IF T(X-1,Y)=0 THEN GOTO 1110 1100 GOTO 860 1110 IF S=2 OR S=3 OR S=4 OR S=5 THEN GOTO 1130 1120 T(X-1,Y)=S:T(X,Y)=0:GOTO 1420 1130 T(X-1,Y)=S:T(X+1,Y)=0:GOTO 1420 1140!TESTRECHTS 1150 IF S=1 THEN GOTO 1170 1160 GOTO 1200 1170 IF T(X,Y+2)=0 AND T(X+1,Y+2)=0 THEN T(X,Y+2)=1:T(X+1,Y+2)=1:GOTO 1190 1180 GOTO 860 1190 T(X,Y)=0:T(X+1,Y)=0:GOTO 1420 1200 IF S=6 THEN GOTO 1220 1210 GOTO 1240 1220 IF T(X,Y+2)=0 THEN T(X,Y+2)=6:T(X,Y)=0:GOTO 1420 1230 GOTO 860 1240 IF S=2 OR S=3 OR S=4 OR S=5 THEN GOTO 1260 1250 GOTO 1290 1260 IF T(X,Y+1)=0 AND T(X+1,Y+1)=0 THEN T(X,Y+1)=S:T(X+1,Y+1)=S:GOTO 1280 1270 GOTO 860 1280 T(X,Y)=0:T(X+1,Y)=0:GOTO 1420 1290 IF T(X,Y+1)=0 THEN T(X,Y)=0:T(X,Y+1)=S:GOTO 1420 1300 GOTO 860 1310!TESTLINKS 1320 IF S=1 OR S=2 OR S=3 OR S=4 OR S=5 THEN GOTO 1340 1330 GOTO 1380 1340 IF T(X,Y-1)=0 AND T(X+1,Y-1)=0 THEN T(X,Y-1)=S:T(X+1,Y-1)=S:GOTO 1360 1350 GOTO 860 1360 IF S=1 THEN T(X,Y+1)=0:T(X+1,Y+1)=0:GOTO 1420 1370 T(X,Y)=0:T(X+1,Y)=0:GOTO 1420 1380 IF T(X,Y-1)=0 THEN T(X,Y-1)=S:GOTO 1400 1390 GOTO 860 1400 IF S=6 THEN T(X,Y+1)=0:GOTO 1420 1410 T(X,Y)=0:GOTO 1420 1420 FOR AB=1 TO 10 1430 FOR AX=1 TO 5 1440 FOR AY=1 TO 4 1450 IF T(AX,AY)=AB THEN GOTO 1490 1460 NEXT 1470 NEXT 1480 NEXT AB 1490 IF AB<>1 THEN GOTO 1660 1500 IF M(AX,AY)=1 AND M(AX+1,AY+1)=1 THEN GOTO 1480 1510 WINDOW 4*AX,4*AX+7,4*AY,4*AY+7:CLS:PRINT:FOR Z=1 TO 7 1520 PRINT " ";:NEXT:PRINT CHR$(11); 1530 I=1 1540 G=AX*4:H=AY*4 1550 PRINT AT(G,H);CHR$(193) 1560 PRINT AT(G,H+7);CHR$(137) 1570 PRINT AT(G+7,H);CHR$(136) 1580 PRINT AT(G+7,H+7);CHR$(200) 1590 PRINT AT(G+3,H+3);Z$(I) 1600 PRINT AT(G+4,H+3);"*" 1610 PRINT AT(G+3,H+3);"*" 1620 PRINT AT(G+4,H+4);"*" 1630 PRINT AT(G,H+1);"" 1640 PRINT AT(G+7,H+1);"" 1650 GOTO 2510 1660 IF AB<>2 THEN GOTO 1830 1670 IF M(AX,AY)=2 AND M(AX+1,AY)=2 THEN GOTO 1480 1680 G=AX*4:H=AY*4 1690 WINDOW G,G+7,H,H+3:CLS:PRINT:FOR Z=1 TO 7 1700 PRINT " ";:NEXT:PRINT CHR$(11); 1710 I=2 1720 PRINT AT(G,H);CHR$(193) 1730 PRINT AT(G,H+3);CHR$(137) 1740 PRINT AT(G+7,H);CHR$(136) 1750 PRINT AT(G+7,H+3);CHR$(200) 1760 PRINT AT(G+3,H+1);Z$(I) 1770 PRINT AT(G+3,H+1);"*" 1780 PRINT AT(G+4,H+1);"*" 1790 PRINT AT(G+4,H+2);"*" 1800 PRINT AT(G,H+1);"" 1810 PRINT AT(G+7,H+1);"" 1820 GOTO 2510 1830 IF AB<>3 THEN GOTO 1890 1840 IF M(AX,AY)=3 AND M(AX+1,AY)=3 THEN GOTO 1480 1850 G=AX*4:H=AY*4 1860 WINDOW G,G+7,H,H+3:CLS:PRINT:FOR Z=1 TO 7 1870 PRINT " ";:NEXT:PRINT CHR$(11); 1880 I=3:GOTO 1720 1890 IF AB<>4 GOTO 1950 1900 IF M(AX,AY)=4 AND M(AX+1,AY)=4 THEN GOTO 1480 1910 G=AX*4:H=AY*4 1920 WINDOW G,G+7,H,H+3:CLS:PRINT:FOR I=1 TO 7 1930 PRINT " ";:NEXT:PRINT CHR$(11); 1940 I=4:GOTO 1720 1950 IF AB<>5 THEN GOTO 2010 1960 IF M(AX,AY)=5 AND M(AX+1,AY)=5 THEN GOTO 1480 1970 G=AX*4:H=AY*4 1980 WINDOW G,G+7,H,H+3:CLS:PRINT:FOR Z=1 TO 7 1990 PRINT " ";:NEXT:PRINT CHR$(11); 2000 I=5:GOTO 1720 2010 IF AB<>6 THEN GOTO 2180 2020 IF M(AX,AY)=6 AND M(AX,AY+1)=6 THEN GOTO 1480 2030 G=AX*4:H=AY*4 2040 WINDOW G,G+3,H,H+7:CLS:PRINT:FOR Z=1 TO 2 2050 PRINT " ";:NEXT:PRINT CHR$(11); 2060 I=6 2070 PRINT AT(G,H);CHR$(193) 2080 PRINT AT(G,H+7);CHR$(137) 2090 PRINT AT(G+3,H);CHR$(136) 2100 PRINT AT(G+3,H+7);CHR$(200) 2110 PRINT AT(G+1,H+3);Z$(I) 2120 PRINT AT(G+1,H+3);"*" 2130 PRINT AT(G+2,H+3);"*" 2140 PRINT AT(G+2,H+4);"*" 2150 PRINT AT(G,H+1);"" 2160 PRINT AT(G+3,H+1);"" 2170 GOTO 2510 2180 G=AX*4:H=AY*4 2190 IF AB<>7 THEN GOTO 2340 2200 IF M(AX,AY)=7 THEN GOTO 1480 2210 WINDOW G,G+3,H,H+3:CLS:PRINT:FOR Z=1 TO 2 2220 PRINT " ";:NEXT:PRINT CHR$(11); 2230 Y$="*7" 2240 PRINT AT(G,H);CHR$(193) 2250 PRINT AT(G,H+3);CHR$(137) 2260 PRINT AT(G+3,H);CHR$(136) 2270 PRINT AT(G+3,H+3);CHR$(200) 2280 PRINT AT(G+1,H+1);Y$ 2290 PRINT AT(G+2,H+1);"*" 2300 PRINT AT(G+2,H+2);"*" 2310 PRINT AT(G,H+1);"" 2320 PRINT AT(G+3,H+1);"" 2330 GOTO 2510 2340 IF AB<>8 THEN GOTO 2400 2350 IF M(AX,AY)=8 THEN GOTO 1480 2360 WINDOW G,G+3,H,H+3:CLS:PRINT:FOR Z=1 TO 2 2370 PRINT " ";:NEXT:PRINT CHR$(11); 2380 Y$="*8" 2390 GOTO 2240 2400 IF AB<>9 THEN GOTO 2460 2410 IF M(AX,AY)=9 THEN GOTO 1480 2420 WINDOW G,G+3,H,H+3:CLS:PRINT:FOR Z=1 TO 2 2430 PRINT " ";:NEXT:PRINT CHR$(11); 2440 Y$="*9" 2450 GOTO 2240 2460 IF M(AX,AY)=10 THEN GOTO 1480 2470 WINDOW G,G+3,H,H+3:CLS:PRINT:FOR Z=1 TO 2 2480 PRINT " ";:NEXT:PRINT CHR$(11); 2490 Y$="10" 2500 GOTO 2240 2510 FOR X=1 TO 5 2520 FOR Y=1 TO 4 2530 IF T(X,Y)=0 THEN GOTO 2560 2540 NEXT 2550 NEXT 2560 WINDOW 4*X,4*X+3,4*Y,4*Y+3:CLS 2570 FOR X=5 TO 1 STEP-1 2580 FOR Y=4 TO 1 STEP-1 2590 IF T(X,Y)=0 THEN GOTO 2620 2600 NEXT 2610 NEXT 2620 WINDOW 4*X,X*4+3,4*Y,Y*4+3:CLS 2630 IF V<>0 OR AB=10 THEN GOTO 2650 2640 GOTO 1480 2650 FOR X=1 TO 5 2660 FOR Y=1 TO 4 2670 M(X,Y)=T(X,Y) 2680 NEXT 2690 NEXT 2700 IF ERF=1 THEN PRINT AT(13,22);"GEWONNEN!":END 2710 GOTO 550