100 lines
2.2 KiB
QBasic
100 lines
2.2 KiB
QBasic
|
10 CROFF
|
||
|
15 PLAYER k(2,3,4,5,32)
|
||
|
20 COL 255,0,255:CLS
|
||
|
30 TLOAD 1,"fontkc.dat",16,11
|
||
|
40 STILE 1
|
||
|
50 WAVE 1,1
|
||
|
60 ADSR 1,0,10,30,10
|
||
|
100 MAP w
|
||
|
110 k=8:s=1
|
||
|
200 #a=STRING$ (32,"-")
|
||
|
210 #a(1)=STRING$ (31,"-")
|
||
|
220 #a(2)=STRING$ (17,"-")
|
||
|
230 #a(3)=STRING$ (5,"-")
|
||
|
240 FONT #a(3),0,250,0,32,24
|
||
|
250 FONT #a,0,250,0,1,24
|
||
|
260 FONT #a(1),0,250,0,1,16
|
||
|
270 FONT #a(1),0,250,0,1,8
|
||
|
280 FONT #a(2),0,250,0,8,20
|
||
|
290 FONT #a(2),0,250,0,8,12
|
||
|
300 FOR i=15 TO 25
|
||
|
310 FONT "-",0,250,0,2,i
|
||
|
320 FONT "-",0,250,0,30,i
|
||
|
330 NEXT i
|
||
|
340 FOR i=7 TO 25
|
||
|
350 FONT "-",0,250,0,10,i
|
||
|
360 FONT "-",0,250,0,22,i
|
||
|
370 NEXT i
|
||
|
380 #a(4)="$-$"
|
||
|
390 #a(5)="$$$"
|
||
|
400 FONT "$",0,$e6,0,15,12:FONT "$",0,$e6,0,17,12
|
||
|
410 FONT #a(5),0,$e6,0,15,20
|
||
|
420 FONT "$",0,$e6,0,6,16
|
||
|
430 FONT "$",0,$e6,0,26,16
|
||
|
440 FONT "$",0,$e6,0,2,20
|
||
|
450 FONT "$",0,$e6,0,30,20
|
||
|
460 FOR i=0 TO 8
|
||
|
470 TILE 31,0,$80,0,16,i
|
||
|
480 NEXT i
|
||
|
490 FONT ">",0,$33,0,15,3
|
||
|
500 FONT "<",0,$33,0,17,3
|
||
|
510 PLAYER p(165,0,44,0,35,24)
|
||
|
520 PLAYER c(32,31,128,13,175,0)
|
||
|
530 PLAYER b(32,60,62,32,32,32,32,32,32,32)
|
||
|
535 PLAYER i(36,36,36,36,36,36)
|
||
|
540 SPRITE p(1,128,13,0,55,0,3,8,24,10,24)
|
||
|
550 SPRITE p(2,128,13,0,55,0,4,8,24,22,8)
|
||
|
551 FOR i=1 TO 6
|
||
|
552 PLAYER e(i,45,0,250,0)
|
||
|
553 NEXT i
|
||
|
560 SPRITE s(s)
|
||
|
570 SPRITE m(1)
|
||
|
580 FONT "SPEED +/-:",0,44,0,1,1
|
||
|
600 a=INKEY
|
||
|
601 x=GETX (2):y=GETY (2)
|
||
|
602 IF x=16 AND y=1 THEN GOTO 1300
|
||
|
604 PLAYXY a
|
||
|
605 b=PLAYER (1)
|
||
|
610 IF a=45 THEN s=s-1
|
||
|
611 IF s<1 THEN s=1
|
||
|
612 IF a=43 THEN s=s+1
|
||
|
613 IF s>255 THEN s=255
|
||
|
614 SPRITE s(s):#d=s:#d=#d+"-"
|
||
|
615 #s=#d+" "
|
||
|
619 IF a=43 OR a=45 THEN FONT #s,0,44,0,11,1
|
||
|
622 c=PLAYER (2)
|
||
|
623 IF c>0 THEN GOSUB 1000
|
||
|
630 IF b>0 THEN GOTO 800
|
||
|
640 GOTO 600
|
||
|
800 REM Kollision mit Sprite
|
||
|
801 SPRITE m(0)
|
||
|
805 x=GETX (2):y=GETY (2)
|
||
|
810 FOR i=99 TO 10 STEP -5
|
||
|
811 TILE 165,255,0,255,x,y
|
||
|
820 BEEP i
|
||
|
821 TILE 165,0,44,0,x,y
|
||
|
830 NEXT i
|
||
|
840 SPRITE m(0)
|
||
|
845 CLS
|
||
|
850 POS 8,15:PRINT "Du hast verloren!!!"
|
||
|
860 PAUSE 2000
|
||
|
870 SPRITE m(2)
|
||
|
880 MAP c
|
||
|
885 CLS
|
||
|
886 a=INKEY :a=0
|
||
|
890 GOTO 100
|
||
|
1000 REM item einsammeln
|
||
|
1010 NOTE 1,85:NTOFF 1
|
||
|
1015 PAUSE 80
|
||
|
1020 NOTE 1,95:NTOFF 1
|
||
|
1030 TILE 45,0,250,0,16,k
|
||
|
1040 k=k-1
|
||
|
1200 RETURN
|
||
|
1300 REM Level fertig
|
||
|
1310 NOTE 1,95:NTOFF 1:PAUSE 100
|
||
|
1320 NOTE 1,85:NTOFF 1:PAUSE 100
|
||
|
1330 NOTE 1,75:NTOFF 1:PAUSE 1000
|
||
|
1340 SPRITE m(0):CLS
|
||
|
1350 GOTO 100
|
||
|
|