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