60 MODE 1:INK 2,24,17
70 INK 1,15:INK 0,0:BORDER 0:PAPER 0:PEN 1 80 DIM X(250):DIM Y(250) 90 LENGTH=4:SCORE=0 100 GOSUB 400 110 MODE 0 120 FOR T=0 TO 26:INK 1,T:LOCATE 6,10:PRINT "MEGAWORM":NEXT T 130 FOR T=0 TO 1000 STEP 2:SOUND 1,T,1,7,0,0,1:INK 1,(T/50):NEXT T 140 MODE 1 150 HEAD=1:XHEAD=20:YHEAD=10 160 PEN 3:FOR T=1 TO 40:LOCATE T,1:PRINT CHR$(206):LOCATE T,25:PRINT CHR$(206);:NEXT T 170 FOR T=2 TO 24:LOCATE 1,T:PRINT CHR$(206);+SPACE$(38)+CHR$(206):NEXT T 180 OBJX=5:OBJY=6:XDIR=1:YDIR=0:FOR T=1 TO 4:X(T)=20:Y(T)=10:NEXT T:COUNT=1 190 : 220 X(HEAD)=XHEAD+XDIR:Y(HEAD)=YHEAD+YDIR:PEN 1:LOCATE X(HEAD),Y(HEAD):PRINT CHR$(232):XHEAD=XHEAD+XDIR:YHEAD=YHEAD+YDIR 230 HEAD=HEAD+1:IF HEAD > LENGTH THEN HEAD=1 240 LOCATE X(HEAD),Y(HEAD):PRINT " " 250 A$=INKEY$ 260 IF A$= "." THEN XDIR=1:YDIR=0 270 IF A$= "," THEN XDIR=-1:YDIR=0 280 IF A$= "Z" OR A$= "z" THEN YDIR=1:XDIR=0 290 IF A$= "A" OR A$= "a" THEN YDIR=-1:XDIR=0 300 COUNT=COUNT-1:SPEED INK COUNT+1,COUNT+1:IF COUNT=0 THEN LOCATE OBJX,OBJY:PRINT " " ELSE 330 310 OBJX=RND(1)*37+2:OBJY=RND(1)*22+2:IF TEST (OBJX*16-4,(26-OBJY)*16-4) > 0 THEN GOTO 310 ELSE LOCATE OBJX,OBJY:PEN 2:PRINT CHR$(233):ENV 1,7,-1,9,8,-1,40:SOUND 1,300,10,15,1,1,1:PEN 3 320 COUNT=50 330 IF XHEAD=CINT(OBJX) AND YHEAD=CINT(OBJY) THEN COUNT=1:SCORE=SCORE+20:LENGTH=LENGTH+4:IF LENGTH > 250 THEN GOTO 730 ELSE SOUND 1,478,20,15:FOR T=LENGTH-4 TO LENGTH:X(T)=2:Y(T)=2:NEXT T 340 IF XHEAD < 2 OR XHEAD > 39 OR YHEAD < 2 OR YHEAD > 24 THEN GOTO 650 350 IF TEST ((XHEAD+XDIR)*16-4,(26-(YHEAD+YDIR))*16-4) > 0 AND XHEAD <> CINT (OBJX) AND YHEAD <> CINT (OBJY) THEN GOTO 650 360 GOTO 220 370 : 400 PRINT " DO YOU WANT INSTRUCTIONS ?" 410 A$=INKEY$:IF A$="" THEN GOTO 410 420 IF A$= "Y" OR A$= "y" THEN GOTO 430 ELSE RETURN 430 CLS:PRINT " INSTRUCTIONS" 440 LOCATE 1,8:PRINT " MOVE THE WORM AROUND THE SCREEN" 450 INK 1,RND(1)*26 460 PRINT " AND COLLECT THE OBJECTS . IF" 470 INK 1,RND(1)*26 480 PRINT " YOU CRASH INTO YOURSELF OR THE" 490 INK 1,RND(1)*26 500 PRINT " WALL , THE GAME IS OVER" 510 PRINT " WHEN YOU COLLECT AN OBJECT" 520 PRINT " YOU MAY SHED SOME SKIN." 530 INK 1,RND(1)*26 540 PRINT " 'A' = UP 'Z' = DOWN" 550 INK 1,18 560 PRINT " ',' = LEFT '.' = RIGHT" 570 LOCATE 1,22:PRINT " PRESS ANY KEY TO CONTINUE" 580 A$=INKEY$:IF A$="" THEN GOTO 580 590 INK 1,11 600 RETURN 610 : 640 A$=INKEY$:IF A$="" THEN GOTO 640 650 ENT 1,127,2,2:SOUND 1,200,200,1,1,1 660 FOR T=1000 TO 500 STEP-5:LOCATE 40,25:PRINT " ":SOUND 1,T,5,15,2,1,1:NEXT T 670 MODE 0:LOCATE 6,10:INK 2,18,11:PEN 2:PRINT "GAME OVER" 680 FOR T=1 TO 1000:NEXT T:SPEED INK 10,10:PRINT " You scored ";SCORE; " points" 690 A$=INKEY$:IF A$="" THEN GOTO 690 ELSE RUN 700 : 730 PEN 2 740 MODE 0:LOCATE 3,7:PRINT "CONGRATULATIONS":LOCATE 1,10:PRINT " YOU HAVE GROWN TO":PRINT " YOUR FULL LENGTH ! ":FOR T=500 TO 600 STEP 5:SOUND 0,T,25,15,0,0,0:SOUND 1,T,25,15,1,1,1 750 SOUND 2,600-T+500,25,15,0,1,1:NEXT T 760 PRINT " SCORE = ";SCORE; " !" 770 A$=INKEY$:IF A$="" THEN GOTO 770 ELSE RUN |