10 REM GIANT RATS
20 REM @ PAUL STANLEY. 30 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:PEN #1,0:CLS #1 40 GOSUB 880 50 DIM A(4),B(4) 60 GOSUB 690 70 HS=0 80 GOSUB 780 90 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 100 SC=0 110 LI=5 120 PEN 2:FOR F=0 TO 30:LOCATE F+1,1:PRINT CHR$(237);:LOCATE F+1,21:PRINT CHR$(237);:NEXT:FOR F=1 TO 19:LOCATE 1,F+1:PRINT CHR$(237);:LOCATE 31,F+1:PRINT CHR$(237);:NEXT:PEN 1 130 GOSUB 510 140 FOR I=1 TO 30:LOCATE INT(RND*22)+8,INT(RND*14)+6:PRINT CHR$(237);:NEXT I 150 SC=SC-1:Y=1:X=1:F=19:G=29:A$=CHR$(233) 160 LOCATE 6,22:PRINT CHR$(24);"HI-SC:";CHR$(24);HS;:PEN 2:LOCATE 17,22:PRINT"LI:";LI;:PEN 3:LOCATE 24,22:PRINT CHR$(24);"SCORE:0";CHR$(24);:PEN 1 170 B$=CHR$(231)+CHR$(232):C=1 180 GOSUB 420 190 FOR I=1 TO 2 200 C=C-1:LOCATE 1,22:PRINT C;" ";:IF C=O THEN 590 210 IF RND>0.97 THEN GOSUB 470 220 LOCATE X+1,Y+1:PRINT" " 230 IF INKEY(1)=0 THEN LOCATE X+2,Y+1:CALL 360:Z=PEEK(367):IF Z<>237 THEN X=X+1 240 IF INKEY(8)=0 THEN LOCATE X,Y+1:CALL 360:Z=PEEK(367):IF Z<>237 THEN X=X-1 250 IF INKEY(0)=0 THEN LOCATE X+1,Y:CALL 360:Z=PEEK(367):IF Z<>237 THEN Y=Y-1 260 IF INKEY(2)=0 THEN LOCATE X+1,Y+2:CALL 360:Z=PEEK(367):IF Z<>237 THEN Y=Y+1 270 LOCATE X+1,Y+1:CALL 360:Z=PEEK(367):IF Z=238 THEN GOSUB 420 280 IF (X=B(1) AND Y=A(1)) OR (X=B(2) AND Y=A(2)) OR (X=B(3) AND Y=A(3)) OR (X=B(4) AND Y=A(4)) THEN GOTO 550 290 LOCATE X+1,Y+1:PRINT MID$(B$,I,1)::GOSUB 330 300 IF ZX=1 THEN ZX=0:GOTO 570 310 NEXT I 320 GOTO 190 330 F1=F:G1=G 340 IF F<Y THEN A$=CHR$(236):F=F+0.5 350 IF F>Y THEN A$=CHR$(235):F=F-0.5 360 IF G<X THEN A$=CHR$(234):G=G+0.5 370 IF G>X THEN A$=CHR$(233):G=G-0.5 380 LOCATE G1+1,F1+1:PRINT" ";:LOCATE G+1,F+1:PEN 3:PRINT A$;:PEN 1 390 ZX=0:LOCATE X+1,Y+1:CALL 360:Z=PEEK(367):IF Z>=233 AND Z<=236 THEN ZX=1:RETURN 400 LOCATE INT(RND*15)*2+2,INT(RND*10)*2+2:PRINT CHR$(237) 410 RETURN 420 SC=SC+1:LOCATE 30,22:PEN 2:PRINT MID$(STR$(SC),2);:PEN 1 430 FOR L=1 TO 5:SOUND 1,(L*5*5),3:NEXT 440 C=100 450 Q=INT(RND*10)*2+1:W=INT(RND*15)*2+1:LOCATE W+1,Q+1:PRINT CHR$(238); 460 RETURN 470 LOCATE W+1,Q+1:PRINT" ":L=0:M=W:L1=F:M1=G:F=L:G=M:Q=L1:W=M1 480 LOCATE W+1,Q+1:PRINT CHR$(238); 490 T=1 500 RETURN 510 REM 520 FOR I=1 TO 4:A(I)=INT(RND*10)*2+1:B(I)=INT(RND*15)*2+1:NEXT 530 FOR I=7 TO 0 STEP -1:FOR L=1 TO 4:LOCATE B(L)+1,A(L)+1:PEN 3:PRINT CHR$(143):PEN 1:SOUND 1,(5*L*2),3:NEXT L,I 540 RETURN 550 FOR L=1 TO 3:LOCATE X+1,Y+1:PRINT CHR$(231);:SOUND 1,(L*10),3:NEXT L 560 GOTO 600 570 FOR L=1 TO 3:LOCATE X+1,Y+1:PRINT CHR$(236);:SOUND 1,(L*10*L),3:NEXT L 580 GOTO 600 590 FOR L=1 TO 15:FOR I=1 TO 3:SOUND 1,(L*10+I*20),3:LOCATE W+1,Q+1:PRINT CHR$(238):NEXT I,L 600 LOCATE X+1,Y+1:PRINT" ";:LOCATE G+1,F+I:PRINT" ";:LOCATE W+1,Q+1:PRINT" "; 610 LI=LI-1:IF LI>0 THEN SOUND 1,(100*2),3:GOTO 150 620 CLS:FOR F=1 TO 21:SOUND 1,(F*5+30),3:NEXT 630 PEN 2: PRINT:PRINT"You scored";SC;" POINTS":PEN 1 640 IF SC>HS THEN HS=SC:PRINT:PRINT:PEN 3:PRINT"WELL DONE! A NEW HIGH SCORE!":PEN 1:FOR XX=5 TO 8:FOR SS=10 TO 30:SOUND I,(XX*3+SS*3),3:NEXT SS,XX 650 PRINT:PRINT"The high-score is";HS 660 PRINT:PRINT"PRESS ANY KEY TO PLAY AGAIN" 670 IF INKEY$<>"" THEN 670 680 IF INKEY$="" THEN 680 ELSE CLS:GOTO 80 690 REM 700 PEN 3:PRINT CHR$(24);" G I A N T R A T S ";CHR$(24);:PEN 1 710 PEN 2:LOCATE 1,4:PRINT"The giant rat is out to get you! You must try to reach the girl before she mutates [a timer at the bottom of the screen countsthis down]. ":PEN 1 720 LOCATE 1,9:PRINT"However she might be a mutant herself and change places with the rat unpredictably. Also she might disappear totally [if she meets the rat]" 730 PEN 3:LOCATE 1,14:PRINT"And that's not all! When you start,up toFOUR mines will be shown randomly. The mines'positions must be noted,For if youland on one, you will be destroyed!!!":PEN 1 740 PEN 2:LOCATE 1,20:PRINT CHR$(24);" USE THE ARROW KEYS TO MOVE AROUND. "CHR$(24);:PEN 1 750 LOCATE 1,24:PEN 3:PRINT CHR$(24);" PRESS ANY KEY TO START "CHR$(24);:PEN 1 760 IF INKEY$<>"" THEN 760 770 IF INKEY$="" THEN 760 ELSE CLS:RETURN 780 SYMBOL AFTER 230 790 SYMBOL 231,28,93,73,62,8,28,34,65 800 SYMBOL 232,28,28,8,127,8,28,20,20 810 SYMBOL 233,7,1,33,57,93,255,36,108 820 SYMBOL 234,240,128,132,156,186,255,36,54 830 SYMBOL 235,8,28,62,28,28,63,61,7 840 SYMBOL 236,15,57,255,124,254,84,56,16 850 SYMBOL 237,255,129,189,165,165,189,129,255 860 SYMBOL 238,28,28,73,62,28,62,20,54 870 RETURN 880 RESTORE 890:FOR XX=360 TO 366:READ ZZ:POKE XX,ZZ:NEXT:RESTORE:RETURN 890 DATA 205,96,187,50,111,1,201 |