10 REM DAM EATERS.
20 REM à PAUL STANLEY 30 REM AMSTRAD CONVERSION 40 REM BY MITRI YAZBEK 45 REM PAN BOOKS 1984 50 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,20:INK 3,6:WINDOW #1,1,40,1,25:PAPER #1,0:CLS #1 60 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 70 GOSUB 960 80 HS=0:DIM Y(3),X(3) 90 GOSUB 800 100 GOSUB 630 110 GOSUB 900 120 GOSUB 750 130 FOR I=1 TO N 140 X(I)=X(I)-1:IF x(i)=0 THEN 480:IF RND >0.8 THEN GOSUB 290 150 LOCATE X(I)+1,Y(I)+1:PEN 2:PRINT CHR$(234);CHR$(235);" "; 160 LOCATE X(I),Y(I)+1:CALL 360:K=PEEK(367):IF K>230 AND K<234 THEN GOSUB 340:IF FL=1 THEN FL=0:GOTO 480 170 NEXT I 180 Q$=INKEY$ 190 IF B=0 THEN IF Q$<>"" THEN G=(VAL(Q$)*6+2):S1=VAL(Q$):F=0:B=1:SOUND 1,180,3:IF G<>8 AND G<>14 AND G<>20 THEN B=0 200 IF B=0 THEN 130 210 FOR I=1 TO 2 220 LOCATE G+1,F+1:PRINT" " 230 F=F+1:IF F=21 THEN 610 240 LOCATE G+1,F+1:CALL 360:K=PEEK(367):IF K<>32 THEN 390 250 PEN 1:LOCATE G+1,F+1:PRINT CHR$(252); 260 NEXT I 270 IF N<3 THEN C=C+1:IF C=130 THEN N=N+1:C=0:LOCATE 9,18:PEN 3:PRINT"ENEMY REINFORCEMENT";:PEN 1:FOR I=1 TO 30:SOUND 1,(I+100),3:NEXT:LOCATE 9,18:PRINT CHR$(18); 280 GOTO 130 290 LOCATE X(I)+1,Y(I)+1:PRINT" " 300 Y(I)=Y(I)+1-(2 AND RND>0.5) 310 IF Y(I)=0 THEN Y(I)=20 320 IF Y(I)=21 THEN Y(I)=1 330 RETURN 340 LOCATE X(I),Y(I)+1:PEN 3:PRINT CHR$(236);CHR$(237);:SOUND 1,190,3:LOCATE X(I),Y(I)+1:PRINT CHR$(237);CHR$(236);:SOUND 1,230,5:PEN 1 350 LOCATE X(I),Y(I)+1:PRINT" " 360 LOCATE X(I)-1,Y(I)+1:CALL 360:K=PEEK(367):IF K=143 THEN FL=1:RETURN 370 Y(I)=INT(RND*20)+1:X(I)=29 380 RETURN 390 LOCATE G,F+1:PEN 3:PRINT CHR$(236);CHR$(237);CHR$(236); 400 LOCATE G,F+1:PRINT CHR$(237);CHR$(236);CHR$(237);:SOUND 1,120,3:PEN 1:LOCATE G,F+1:PRINT" "; 410 SC=INT(SC+S1*2+F/3):LOCATE 28,1:PRINT MID$(STR$(SC),2); 420 B=0 430 FOR I=1 TO N 440 IF F=Y(I) THEN IF G=X(I) OR G=X(I)+1 THEN 460 450 NEXT I 460 Y(I)=INT(RND*20)+1:X(I)=29 470 GOTO 130 480 PEN 2: FOR O=2 TO 5:LOCATE O+1,Y(I)+1:PRINT CHR$(143):SOUND 1,90,3:NEXT 490 FOR O=Y(I) TO 20:LOCATE 6,O+1:PRINT CHR$(143);:SOUND 1,120,3:NEXT 500 FOR O=20 TO 0 STEP -1:LOCATE 6,O+1:PRINT STRING$(27,143); 510 SOUND 1,180,3 520 LOCATE 5,O+1:CALL 360:K=PEEK(367):IF K=32 THEN LOCATE 5,O+1:PRINT CHR$(143) 530 LOCATE 4,O+1:CALL 360:K=PEEK(367):IF K=32 THEN LOCATE 4,O+1:PRINT CHR$(143) 540 NEXT O 550 LOCATE 7,5:PEN 2:PRINT"You scored";SC;"Points.":PEN 1 560 IF SC>HS THEN LOCATE 7,7:PEN 3:PRINT"Well done! That's a new";:LOCATE 7,8:PRINT"High score!!":PEN 1:hs=sc 570 LOCATE 7,10:PRINT"The high-score is";HS 580 LOCATE 7,12:PRINT CHR$(24);"PRESS A KEY TO PLAY AGAIN";CHR$(24); 590 IF INKEY$<>"" THEN 590 600 IF INKEY$="" THEN 600 ELSE CLS:GOTO 110 610 LOCATE G+1,21:PEN 3:PRINT CHR$(239);:PEN 1:SOUND 1,90,3:LOCATE G+1,21:PRINT" " 620 B=0:GOTO 130 630 LOCATE 7,1:PRINT"D A M E A T E R S " 640 FOR F=29 TO 4 STEP -1:LOCATE F+1,3:PEN 2:PRINT CHR$(234);CHR$(235);" ";:SOUND 1,(F*2+50),3:NEXT:PEN 1 650 LOCATE 4,3:PEN 3:PRINT CHR$(236);CHR$(237):SOUND 1,120,3:LOCATE 4,3:PRINT CHR$(237);CHR$(236):SOUND 1, 90,3: FOR P=1 TO 400:NEXT:PEN 1:LOCATE 1,3:PRINT" " 660 CLS:LOCATE 7,1:PEN 2:PRINT"D A M E A T E R S ":PEN 1 670 LOCATE 1,6:PEN 3:PRINT"Can you prevent the dam from being broken by the dam eaters? ":PEN 1 680 PRINT:PRINT"Release bombs from any of the 3 cannons above the dam with the keys 1 to 3." 690 PEN 3:PRINT:PRINT"There are several more features which you will have to wait to find out !!":PEN 1 700 PRINT:PRINT 710 LOCATE 6,22:PRINT CHR$(24);"PRESS ANY KEY TO START";CHR$(24) 720 IF INKEY$ <>"" THEN 720 730 IF INKEY$=""THEN 730 ELSE CLS 740 RETURN 750 REM 760 SC=0:B=0 770 N=1:C=0 780 FOR I=1 TO 3:Y(I)=INT(RND*20)+1:X(I)=29:NEXT 790 RETURN 800 SYMBOL AFTER 230 810 SYMBOL 231,119,119,0,221,221,0,119,119 820 SYMBOL 232,0,221,221,0,119,119,0,221 830 SYMBOL 233,221,0,119,119,0,221,221,0 840 SYMBOL 234,0,255,171,0,0,171,255,0 850 SYMBOL 235,28,39,255,255,255,255,0,0 860 SYMBOL 236,96,10,193,20,101,128,51,140 870 SYMBOL 237,194,40,67,24,130,40,67,16 880 SYMBOL 238,63,31,15,7,3,3,1,1 890 SYMBOL 239,2,196,40,23,232,16,231,24 900 FOR F=0 TO 20 STEP 3:LOCATE 3,F+1:PRINT CHR$(231);CHR$(231);CHR$(231):LOCATE 3,(F+2):PRINT CHR$(232);CHR$(232);CHR$(232):LOCATE 3,(F+3):PRINT CHR$(233);CHR$(233);CHR$(233):NEXT 910 PEN 2: FOR F=0 TO 20:LOCATE 1,F+1:PRINT"":NEXT:PEN 1 920 FOR F=0 TO 31:LOCATE F+1,22:PRINT"" :NEXT 930 LOCATE 8,1:PRINT CHR$(238);" ";CHR$(238);" ";CHR$(238) 940 LOCATE 22,1:PRINT"Score:0" 950 RETURN 960 RESTORE 970:FOR X=360 TO 366:READ A:POKE X,A:NEXT:RESTORE:RETURN 970 DATA 205,96,187,50,111,1,201 |