10 GOSUB 1950:GOSUB 1660 20 ' 30 DEFINT a-z 40 cls$=CHR$(27)+"H"+CHR$(27)+"E" 50 DEF FNloc$(x,y)=CHR$(27)+"Y"+CHR$(31+y)+CHR$(31+x) 60 DEF FNwin$(o,l,h,b)=CHR$(27)+"X"+CHR$(31+o)+CHR$(31+l)+CHR$(31+h)+CHR$(31+b) 70 ' 80 ' 90 PRINT cls$ 100 PRINT CHR$(27)+"b"+CHR$(63)+CHR$(27)+"c"+CHR$(0) 110 PRINT FNwin$(5,5,24,80) 120 PRINT TAB(30);CHR$(27)+"p"+" S C H L A N G E "+CHR$(27)+"q" 130 PRINT:PRINT:PRINT 140 PRINT"Spielidee: Familie Lipka" 150 PRINT"]berarbeitung f}r den Joyce: Martin Nicolaus" 160 PRINT:PRINT 170 PRINT CHR$(27)+"p"+"Anleitung"+CHR$(27)+"q" 180 PRINT"Bei diesem Spiel kommt es darauf an, m|glichst viele Felder zu durchqueren." 190 PRINT"Jedes Feld kann dabei nur einmal betreten werden. Gesteuert wird die Schlan-" 200 PRINT"ge mit den Cursortasten. Die eingegebenen Felder werden mit der Leertaste" 210 PRINT"zur}ck genommen." 220 PRINT"Je mehr Felder durchquert werden und je h|her die Schwierigkeitsstufe ist," 230 PRINT"desto gr|~er wird auch die Punktzahl. Wenn man alle Felder besetzt hat, wird" 240 PRINT"man mit Bonuspunkten belohnt, die sich nach der Schwierigkeitsstufe richten." 245 PRINT"Wenn man aber zu wenig Felder durchquert, werden Punkte wieder abgezogen." 250 PRINT"Hat man }ber 100 Punkte erreicht, so hat man gewonnen." 260 PRINT"Dr}cken Sie jetzt eine beliebige Taste (au~er ALT-C)!" 270 WHILE INKEY$="" 280 z=z+1:IF z=60 THEN z=1 290 WEND 300 RANDOMIZE z 310 ' 320 DIM merk(25,25) 330 DIM hinder(20,2) 340 ' 350 ' 360 ' 370 ' 380 IF d=1 THEN 480 390 ' 400 PRINT cls$;"Welche Schwierigkeitsstufe" 410 PRINT"( 5=leicht bis 20=schwer ) ÐRETURNÔ" 420 INPUT;s$ 430 ah=VAL(s$) 440 IF ah>20 OR ah<5 THEN GOTO 400 ELSE GOTO 480 450 ' 460 ' 470 ' 480 PRINT cls$ 490 PRINT CHR$(27)+"f"+CHR$(27)+"0" 500 PRINT FNwin$(6,13,24,80) 510 ' 520 x=1 530 FOR y=2 TO 23 540 PRINT FNloc$(x,y);CHR$(233):merk(x,y)=233 550 NEXT y 560 IF x=1 THEN x=22:GOTO 530 570 y=2 580 FOR x=2 TO 21 590 PRINT FNloc$(x,y);CHR$(233):merk(x,y)=233 600 NEXT x 610 IF y=2 THEN y=23: GOTO 580 620 ' 630 ' 640 ' 650 IF d=1 THEN 750 660 ' 670 FOR a= 1 TO ah 680 LET x=INT(20*RND(1))+2:LET y=INT(20*RND(1))+3 690 IF merk(x,y)=233 THEN 680 700 PRINT FNloc$(x,y);CHR$(233) 710 merk(x,y)=233:hinder(a,1)=x:hinder(a,2)=y 720 NEXT a 730 GOTO 820 740 ' 750 FOR a=1 TO ah 760 x=hinder(a,1):y=hinder(a,2) 770 PRINT FNloc$(x,y);CHR$(233):merk(x,y)=233 780 NEXT a 790 ' 800 ' 810 ' 820 x=2:y=3:p=0 830 PRINT FNloc$(x,y);CHR$(224):merk(x,y)=5 840 PRINT FNloc$(30,7);"F e l d e r :" 850 PRINT FNloc$(31,10);"0" 860 PRINT FNloc$(30,13);"P u n k t e :" 870 PRINT FNloc$(30,16);pu 880 PRINT FNloc$(30,1);"Schwierigkeitsstufe: ",s$ 890 PRINT FNloc$(30,20);"ÐEÔ=ENDE Ð Ô=ZUR]CK ÐCursort.Ô=Steuerung" 900 ' 910 ' 920 ' 930 a$=UPPER$(INKEY$):IF a$="" THEN 930 940 IF a$=CHR$(31) THEN h=1:GOTO 1030 950 IF a$=CHR$(30) THEN h=2:GOTO 1030 960 IF a$=CHR$(1) THEN h=3:GOTO 1030 970 IF a$=CHR$(6) THEN h=4:GOTO 1030 980 IF a$="E" THEN GOTO 1420 990 IF a$=" " THEN GOTO 1230 ELSE 930 1000 ' 1010 ' 1020 ' 1030 PRINT FNloc$(x,y);CHR$(207) 1040 IF h=1 THEN y=y-1 1050 IF h=2 THEN y=y+1 1060 IF h=3 THEN x=x-1 1070 IF h=4 THEN x=x+1 1080 IF merk(x,y)<>0 THEN 1140 1090 PRINT FNloc$(x,y);CHR$(224):merk(x,y)=h 1100 p=p+1:PRINT FNloc$(30,10);p 1110 IF p+ah=399 THEN GOTO 1390 1120 GOTO 930 1130 ' 1140 IF h=1 THEN y=y+1 1150 IF h=2 THEN y=y-1 1160 IF h=3 THEN x=x+1 1170 IF h=4 THEN x=x-1 1180 PRINT FNloc$(x,y);CHR$(225) 1190 GOTO 930 1200 ' 1210 ' 1220 ' 1230 h=merk(x,y) 1240 IF h=5 THEN 930 1250 merk(x,y)=0 1260 ' 1270 PRINT FNloc$(x,y);CHR$(32) 1280 IF h=1 THEN y=y+1 1290 IF h=2 THEN y=y-1 1300 IF h=3 THEN x=x+1 1310 IF h=4 THEN x=x-1 1320 ' 1330 PRINT FNloc$(x,y);CHR$(224) 1340 p=p-1 1350 PRINT FNloc$(30,10);p 1360 GOTO 930 1370 ' 1380 ' 1390 PRINT FNloc$(30,30);"Sehr gut! Du bekommst einen Bonus. Bitte warten!":FOR w=1 TO 2000:NEXT:pu=pu+ah 1400 PRINT FNloc$(30,30);SPACE$(50) 1410 ' 1420 PRINT FNloc$(30,20);"Anderes Bild, dasselbe Bild oder Ende ? " 1430 PRINT FNloc$(30,21);"ÐAÔ, ÐDÔ, ÐEÔ" 1440 pu=pu+(ah-(399-(p+ah))):PRINT FNloc$(30,16);pu 1450 IF pu>100 THEN PRINT cls$;"DU HAST GEWONNEN! HERZLICHEN GL]CKWUNSCH!" ELSE GOTO 1520 1460 PRINT "M|chtest Du ein weiteres Spiel? So warte einen Augenblick, sonst dr}cke jetzt eine Taste!" 1470 WHILE INKEY$<>"":WEND 1480 j=0:WHILE INKEY$="" 1490 j=j+1:IF j=1000 THEN RUN 1500 WEND 1510 GOTO 1580 1520 a$=UPPER$(INKEY$) 1530 IF a$="" THEN 1520 1540 IF a$="A" THEN d=0:GOTO 1590 1550 IF a$="D" THEN d=1:GOTO 1590 1560 IF a$<>"E" THEN 1520 1570 PRINT CHR$(27)+"b"+CHR$(0)+CHR$(27)+"c"+CHR$(63) 1580 PRINT cls$;CHR$(27)+"e"+CHR$(27)+"1":END 1590 ERASE merk:DIM merk(25,25):GOTO 370 1600 ' 1610 ' 1620 ' 1630 ' 1640 ' 1650 ' 1660 RESTORE 1850 1670 READ Zeichencode 1680 IF Zeichencode<0 OR Zeichencode>255 THEN RETURN 1690 FOR i=0 TO 7 1700 READ x : POKE Tabstart+i,x 1710 NEXT i 1720 Charstart=Zeichencode*8+&HB800+2^16 1730 Highaddr=INT(Charstart/256) 1740 Lowaddr=Charstart-Highaddr*256 1750 POKE &HF510,Lowaddr 1760 POKE &HF511,Highaddr 1770 CALL Codestart 1780 GOTO 1670 1790 ' 1800 ' 1810 ' 1820 ' 1830 ' 1840 ' 1850 DATA 225,&H7E,&HFF,&H99,&H99,&HFF,&HC3,&H99,&H7E 1860 DATA 224,&H7E,&HFF,&H99,&H99,&HFF,&H99,&HC3,&H7E 1870 DATA 233,&HFF,&H81,&H81,&H81,&H81,&H81,&H81,&HFF 1880 DATA 207,&HAA,&H55,&HAA,&H55,&HAA,&H55,&HAA,&H55 1890 DATA -1 1900 ' 1910 ' 1920 ' 1930 ' 1940 ' 1950 MEMORY &HF4FF 1960 RESTORE 2060 1970 Codestart=&HF500 1980 Tabstart=&HF515 1990 FOR i=0 TO 20 2000 READ x : POKE Codestart+i,x 2010 NEXT i 2020 RETURN 2030 ' 2040 ' 2050 ' 2060 DATA &H01,&H09,&HF5 2070 DATA &HCD,&H5A,&HFC 2080 DATA &HE9,&H00 2090 DATA &HC9 2100 DATA &H21,&H15,&HF5 2110 DATA &H01,&H08,&H00 2120 DATA &H11,&H00,&H00 2130 DATA &HED,&HB0 2140 DATA &HC9 2150 ' 2160 ' 2170 ' 2180 '