wie [226aabc62a2f4cf7f00adc88eb8ba95e], aber neuer
Steuerung: ⇦ ⇨ ⇧ ⇩
Steuerung mit Cursortasten oder Joystick
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
10 WINDOW
20 DIM R(4),HI(3),SP(8,5),U(4),UM(4)
30 DATA-1,-32,1,32
40 RESTORE
50 FOR I=1 TO 4:READ R(I):NEXT I
60 GOSUB 1240
70 CLS
80 PRINT AT(8,4);"Stufe Nr. 1, 2 or 3 ?"
90 PRINT AT(0,0);" ":Q$=INKEY$
100 IF Q$<"1"OR Q$>"3"THEN 90 ELSE ST=ASC(Q$)-48
110 H=INT(ST)*10
120 E=-4367:ER=-1:C=-1:KR=0:SC=0:T=0:A=-4368:TH=-50
130 PRINT AT(8,27);Q$
140 PRINT AT(12,4);"Steuerung mit Cursortasten oder Joystick (C/J)?"
150 C$=INKEY$:IF C$="C"OR C$="J"THEN 160 ELSE 150
160 CLS
170 GOSUB 550
180 POKE A,195
190 POKE A+1,207
200 PRINT AT(30,0);"HP : ",HI(ST)
210 PRINT AT(30,10);"Punkte: ",SC
220 PRINT AT(30,22);"Stufe : ",ST
230 GOSUB 250
240 END
250!SPIELSCHLEIFE
260 IF C$="C"THEN A$=INKEY$:GOTO 290
270 IF C$="J"THEN OUT 1,207:OUT 1,63
280 CA=INP(0)
290 IF CA=32 OR A$=CHR$(11)THEN C=-32:GOTO 340
300 IF CA=2 OR A$=CHR$(9)THEN C=1:GOTO 340
310 IF CA=16 OR A$=CHR$(10)THEN C=32 :GOTO 340
320 IF CA=1 OR A$=CHR$(8)THEN C=-1 :GOTO 340
330 LV=NOT LV:IF ST=1 OR(ST=2 AND LV)THEN 260
340 IF E<-5120 OR E>-4192 THEN 820
350 IF(PEEK(A+C)=255)OR(PEEK(A+C)=207)THEN 820
360 IF(PEEK(A+C)>48)AND(PEEK(A+C)<58)THEN T=Z+1:GOSUB 1160
370 POKE A,207:A=A+C:T=T-1
380 POKE A,195
390 IF PEEK(E)=32 OR PEEK(E)=255 THEN 410
400 POKE E,32
410 IF T>0 THEN 260
420 IF PEEK(E+ER)=207 THEN 460
430 FOR I=1 TO 4
440 IF PEEK(E+R(I))=207 THEN ER=R(I):GOTO 460
450 NEXT I
460 E=E+ER
470 IF T=TH THEN GOSUB 490
480 GOTO 260
490!ZAHL GENERIEREN
500 Z=INT(9*RND(1))+1
510 P=INT(880*RND(1))+(-5161)
520 IF PEEK(P)<>32 THEN 500
530 POKE P,Z+48:BEEP:BEEP
540 RETURN
550 INK 2:FOR I=0 TO 31
560 PRINT AT(0,I);CHR$(255)
570 PRINT AT(28,I);CHR$(255)
580 NEXT I
590 FOR I=0 TO 28
600 PRINT AT(I,0);CHR$(255)
610 PRINT AT(I,31);CHR$(255)
620 NEXT I
630 FOR I=4 TO 1 STEP-1
640 SP(2,I)=-4792+I*32
650 SP(4,I)=-4472-I*32
660 SP(6,I)=-4777+I*32
670 SP(8,I)=-4457-I*32
680 NEXT I
690 FOR I=4 TO 1 STEP-1
700 SP(1,I)=-4637+I*1
710 SP(3,I)=-4627-I*1
720 SP(5,I)=-4622+I*1
730 SP(7,I)=-4612-I*1
740 NEXT I
750 FOR I=1 TO 9
760 PRINT AT(10+I,8);CHR$(255)
770 PRINT AT(10+I,23);CHR$(255)
780 PRINT AT(15,3+I);CHR$(255)
790 PRINT AT(15,18+I);CHR$(255)
800 NEXT I
810 RETURN
820 U(1)=A+1:U(2)=A+32:U(3)=A-1:U(4)=A-32
830 FOR I=1 TO 4:UM(I)=PEEK(U(I)):NEXT I
840 Z=42
850 FOR I=1 TO 15:BEEP
860 FOR K=1 TO 4
870 POKE U(K),Z:NEXT K
880 FOR K=1 TO 4
890 POKE U(K),32:NEXT K:NEXT I
900 FOR I=1 TO 4
910 POKE U(I),UM(I):NEXT I
920 T=SC+1
930 POKE A,42:Z=208
940 IF PEEK(A+ER)=207 THEN 980
950 ER=0:FOR I=1 TO 4
960 IF PEEK(A+R(I))=207 THEN ER=R(I)
970 NEXT I:IF ER=0 THEN T=0:GOTO 1040
980 A=A+ER
990 IF Z>223 THEN Z=208
1000 IF PEEK(A+ER)=255 THEN 1020
1010 POKE A,Z:BEEP
1020 T=T-1:Z=Z+1
1030 IF T>0 THEN 940
1040 FOR I=1 TO 1000:NEXT I
1050 CLS:PRINT AT(0,0);" "
1060 PRINT AT(3,10);"Stufe ",ST
1070 PRINT AT(4,10);"========"
1080 PRINT AT(7,10);"Punkte",SC
1090 IF SC>HI(ST)THEN HI(ST)=SC
1100 PRINT AT(11,10);"Hoechst-Punkte :",HI(ST)
1110 PAUSE 10:IF SC=HI(ST)THEN PRINT AT(18,0);"Sie haben die meisten Punkte!"
1120 PRINT AT(22,0);"Neues Spiel (J)/N ?"
1130 IF INKEY$=""THEN 1130
1140 IF INKEY$="N"THEN 240
1150 GOTO 40
1160 SC=SC+Z
1170 PRINT AT(30,10);"Punkte: ",SC
1180 IF(KR<4)AND(SC>=H)THEN KR=KR+1:GOSUB 1200:H=H+H/KR
1190 RETURN
1200 FOR I=1 TO 8
1210 POKE SP(I,KR),32:POKE SP(I,KR)-1024,52
1220 NEXT I:GOSUB 2010:TH=-50+INT(HI(ST)/4)
1230 RETURN
1240!TITELBILD
1250 CLS:RESTORE 1880:PRINT AT(0,0);" "
1260 FOR I=1 TO 5
1270 READ Z
1280 FOR K=1 TO Z
1290 READ Y,X
1300 PRINT AT(X,Y);""
1310 NEXT K
1320 NEXT I
1330 PRINT AT(24,3);"Fertig? Dann Taste druecken!"
1340 GOSUB 1970:Z=128
1350 POKE-4286,Z+1
1360 POKE-4253,Z+2
1370 POKE-4222,Z+3
1380 POKE-4255,Z+4:Z=Z+4
1390 A=-4107:POKE A,195
1400 E=A:ER=-1
1410 FOR I=1 TO 5
1420 E=E+1:POKE E,207
1430 GOSUB 1970
1440 NEXT I
1450 GOSUB 1780
1460 FOR K=1 TO 4
1470 S=R(K)
1480 IF K=1 THEN X=2:Y=19:P=-4255:Z=Z+1
1490 IF K=2 THEN X=3:Y=18:P=-4286:Z=Z+1
1500 IF K=3 THEN X=4:Y=19:P=-4253:Z=Z+1
1510 IF K=4 THEN X=3:Y=20:P=-4222:Z=Z+1
1520 IF Z>255 THEN Z=128
1530 POKE P,Z
1540 IF ABS(S)=32 THEN RZ=9:GOTO 1560
1550 RZ=21
1560 FOR I=1 TO RZ
1570 GOSUB 1970
1580 POKE A,207:A=A+S
1590 POKE A,195:POKE E,32
1600 IF PEEK(E+ER)=103 THEN 1640
1610 FOR J=1 TO 4
1620 IF PEEK(E+R(J))=207 THEN ER=R(J):GOTO 1640
1630 NEXT J
1640 E=E+ER
1650 GOSUB 1700
1660 NEXT I
1670 POKE P,Z
1680 NEXT K
1690 GOTO 1460
1700 IF B=-4760 THEN GOSUB 1780
1710 IF(PEEK(B-1)>52)AND(PEEK(B-1)<57)THEN T=N+1
1720 POKE B,207:B=B-1:T=T-1
1730 POKE B,195
1740 POKE F,32
1750 IF T>0 THEN 1770
1760 F=F-1
1770 RETURN
1780 FOR J=0 TO 18
1790 POKE-4760+J,32
1800 NEXT J
1810 B=-4602:F=B+1
1820 POKE B,195:POKE F,207
1830 N=INT(4*RND(1))+5
1840 L=INT(11*RND(1))+(-4618)
1850 POKE L,48+N:BEEP:POKE L-60,48+N
1860 RETURN
1870!
1880 DATA 12,3,0,2,0,1,0,0,1,0,2,1,3,2,3,3,4,3,5,2,6,1,6,0,6
1890 DATA 19,6,6,6,5,6,4,6,3,6,2,6,1,6,0,7,1,7,2,8,3
1900 DATA 9,4,9,5,10,6,10,5,10,4,10,3,10,2,10,1,10,0
1910 DATA 16,13,6,13,5,14,4,14,3,15,2,15,1,16,0,17,1,17
1920 DATA 2,18,3,18,4,19,5,19,6,15,3,16,3,17,3
1930 DATA 14,22,6,22,5,22,4,22,3,22,2,22,1,22,0,26
1940 DATA 0,25,1,24,2,23,3,24,4,25,5,26,6,12,31,6,30,6,29,6
1950 DATA 29,5,29,4,29,3,29,2,29,1,29,0,30,0,31,0,30,3
1960 DATA-1,-32,1,40
1970 B$=""
1980 B$=INKEY$
1990 IF B$=""THEN RETURN
2000 GOTO 70
2010 Y$=" GRATULATION "
2020 X$=""
2030 FOR K=1 TO 20
2040 PRINT INK 4;AT(0,10);Y$:PRINT INK 4;AT(28,10);Y$:BEEP:PAUSE 1
2050 PRINT INK 2;AT(28,10);X$:PRINT INK 2;AT(0,10);X$:PAUSE 1
2060 NEXT K:RETURN