1 'Rocky 2
2 'By Mark Smith 3 'Amstrad Action August 1988 10 ON BREAK GOSUB 770 20 'Rocking CPC 30 'Karolas Seeger 40 'Amstrad Action June 88 50 ' 60 MODE 1:BORDER 0:INK 0,0:INK 2,2:RANDOMIZE TIME:k=2:l=22 70 DIM ml(14),lm(14):ENV 1,15,-1,4:ENT -2,15,-5,8:ENV 2,15,-1,15:RESTORE 540:FOR a=1 TO 14:READ b,c:ml(a)=b:lm(a)=c:NEXT a:ENT 3,2,-3,2,2,3,2 80 ENV 5,15,-1,2,15,1,2:ENV 4,15,-1,2,15,-1,2 90 ENV 6,15,-1,12:ENV 5,1,0,10,5,-1,2 100 LOCATE 1,22:PEN 3:PRINT CHR$(243);:LOCATE 40,22:PRINT CHR$(242); 110 GOSUB 630:a$="' ROCKING C P C '":b=4:c=1:e=3:GOSUB 120:a$=""+CHR$(164)+" by Metal Karo":b=16:c=3:e=2:GOSUB 120:a$="Greetings to all Rock Fans":b=18:c=3:e=1:GOSUB 120:PEN 2:GOTO 130 120 d=20-INT(LEN(a$)/2):TAG:PLOT d*17.2-28,416-b*16,c:PRINT a$;:TAGOFF:PEN e:LOCATE d,b:PRINT CHR$(22);CHR$(1);a$;CHR$(22);CHR$(0):RETURN 130 atuk=0:eff=0:fog=0:vader=0 140 ' 150 ' Main Program 160 ' 170 lan=5:man=20:FOR a=1 TO 32:vader=vader+1:GOSUB 370:SOUND 1,0,man:SOUND 4,0,man:NEXT a 180 EVERY 8,1 GOSUB 700 190 RESTORE 430:de=0:atuk=atuk+1:man=20:vader=0:rop=0 200 READ a:IF a=15 THEN GOSUB 580:GOTO 200 ELSE IF a=16 THEN GOSUB 590:GOTO 200 ELSE IF atuk=4 AND a=17 THEN 570 ELSE IF a=17 THEN 190 210 IF atuk=4 THEN man=man-0.05:IF man<=15 THEN man=15 220 IF a=18 THEN rop=1:GOTO 200 230 vader=vader+1:fog=fog+1:IF fog=9 THEN fog=1 240 IF fog<4 THEN ty=1:yt=4 ELSE IF fog>4 THEN ty=4:yt=1 250 IF atuk>=3 THEN 280 260 IF atuk>=2 AND eff=1 THEN 280 270 SOUND ty,ml(a),man,15,1,1:SOUND yt,lm(a),man,15,1,1:GOSUB 370:GOTO 200 280 SOUND ty,ml(a),man,15,1,1:SOUND yt,lm(a),man,15,1,1:de=de+1:IF de<=3 THEN be=ml(a) ELSE IF de>=4 THEN be=lm(a):IF de>=8 THEN de=0 290 IF atuk=2 AND rop=1 THEN 280 300 IF atuk>=3 AND rop =1 OR eff=0 OR eff=1 THEN 330 310 ON atuk-1 GOTO 320,330 320 SOUND 2,be+2,man,15,1GOTO 200 330 SOUND 2,be/4,man,15,5,5:GOTO 200 340 ' 350 ' Drums 360 ' 370 IF vader=2 THEN 380 ELSE SOUND 2,0,man,0,4,,lan:RETURN 380 vader=0:luke=luke+1:IF luke =1 THEN han=1:lan=5 ELSE IF luke=2 THEN han=9:lan=13 ELSE IF luke=3 THEN han=17:lan=1 ELSE IF luke=4 THEN han=25:lan=31:luke=0 390 SOUND 2,0,man,0,4,,han:RETURN 400 ' 410 ' Bass 420 ' 430 DATA 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,1,1,1,1,1,1,1,1,4,4,4,4,7,7,7,7,1,1,1,1,1,1,1,1,4,4,4,4,7,7,7,7,1,1,1,1,1,1,1,1,4,4,4,4,7,7,7,7,4,4,4,4,7,7,7,7 440 DATA 1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,4,4,5,4,6,4,5,4,7,7,8,7,9,7,8,7,1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,4,4,5,4,6,4,5,4,7,7,8,7,9,7,8,7,4,4,5,4,6,4,5,4,7,8,7,9,7,8,7 450 DATA 1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,10,10,10,10,10,10,10,10,10,10,10,10,15 460 DATA 1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,7,7,8,7,9,7,8,7,7,7,8,7,9,7,8,7,1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,10,10,11,10,12,10,11,10,10,10,11,10,12,10,11,10 470 DATA 7,7,8,7,9,7,8,7,7,7,8,7,9,7,8,7,10,10,11,10,12,10,11,10,10,10,11,10,12,10,11,10,7,7,8,7,9,7,8,7,7,7,8,7,9,7,8,7 480 DATA 1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,1,1,2,1,3,1,2,1,10,10,10,10,10,10,10,10,10,10,10,10,16,18 490 DATA 13,13,13,13,13,13,13,13,7,7,7,7,7,7,7,7,13,13,13,13,13,13,13,13,10,10,10,10,10,10,10,10,13,13,13,13,13,13,13,13,7,7,7,7,7,7,7,7 500 DATA 10,10,10,10,4,4,4,4,1,1,1,1,1,1,1,1,17 510 ' 520 'Sounddata 530 ' 540 DATA 159,213,90,213,119,127,142,159,142,213,119,127,142,213,106,95,106,119,127,142,159,142,127,142,159,169,159,213 550 ' 560 'Effects 570 DI:SOUND ty,758,150,15,6,6:SOUND yt,506,150,15,6,6:SOUND 2,126,150,15,6,6:EI:GOTO 130 580 DI:SOUND 1,379,80,15,2,2:SOUND 4,253,80,15,2,2:SOUND 2,255,80,15,2,3:eff=1:luke=0:EI:RETURN 590 DI:SOUND 1,379,80,15,2,3:SOUND 4,253,80,15,2,3:SOUND 2,255,80,15,2,3:eff=0:luke=0:vader=0:EI:RETURN 600 ' 610 'Synthesyther 620 ' 630 FOR a=175 TO 275:PLOT 126,a,1:DRAW 500,a:NEXT a:DRAWR 0,-100,2:DRAWR -374,0:DRAWR 0,100:DRAWR 374,0:PLOT 502,279,3:DRAWR 0,-106 640 FOR a=126 TO 500 STEP 16.3:PLOT a,275,2:DRAWR 0,-100:NEXT a 650 FOR a=142 TO 500 STEP 16.3:FOR b=-4 TO 4 STEP 1:PLOT a+b,266,3:DRAWR 0,-50:NEXT b,a 660 RETURN 670 ' 680 'Moving Note 690 ' 700 PEN 2:no=237:LOCATE k,l:PRINT CHR$(32);:mogwai=INT(RND*2):IF mogwai=1 THEN l=l+1 ELSE l=l-1 710 IF l>=25 THEN l=25 ELSE IF l<=19 THEN l=19 720 IF k=39 THEN pio=1:no=242:PEN 1 730 IF pio=1 THEN k=k-1 740 IF pio=0 THEN k=k+1 750 IF k=2 THEN pio=0:no=243:PEN 1 760 LOCATE k,l:PRINT CHR$(no);:CALL &BD19:RETURN 770 ' 780 'ON BREAK routine 790 ' 800 CLS 810 a$="I hope you have enjoyed this music":b=4:c=3:e=1:GOSUB 120:LOCATE 2,13:PRINT "Would you like to listen to it again" 830 a$=UPPER$(a$) 840 IF a$= "Y" THEN RUN ELSE END 920 a$=INKEY$:IF a$="" THEN 820 |