10 'WORMY 11 'Public Domain 12 'Modified by Raimon Hennecke 9/11/90 CompuServe: 76266,2326 14 'NEC Adaptation by Gary Weber 1/7/99 15 SCREEN,0 20 SEC=VAL(RIGHT$(TIME$,2)) 30 FORI=1TOSEC 40 DUMMY=RND(1) 50 NEXTI 95 DIMS%(1279) 100 GOSUB1000 150 IFFS%>0THEN200 170 GOSUB1500 200 FF%=FF%-1:IFFF%<0THEN4500 210 R$=INKEY$:IFR$<>""THEN K%=ASC(R$) 260 IFK%=28ORK%=49THENIFHX%=79THENGOTO2000ELSENH%=SH%+1:HX%=HX%+1:GOTO300 270 IFK%=29ORK%=27THENIFHX%=0THENGOTO2000ELSENH%=SH%-1:HX%=HX%-1:GOTO300 280 IFK%=30ORK%=61THENIFHY%=0THENGOTO2000ELSENH%=SH%-80:HY%=HY%-1:GOTO300 290 IFK%=31ORK%=8THENIFHY%=15THENGOTO2000ELSENH%=SH%+80:HY%=HY%+1:GOTO300 295 GOTO210 300 SOUNDFF%*10,1 305 IFS%(NH%)>0GOTO2500 310 PB%=SH%:GOSUB3000 320 S%(SH%)=NH%:S%(NH%)=32767 330 PB%=NH%:GOSUB3500 340 SH%=NH% 400 IFF%>0THENF%=F%-1:L%=L%+1:IFL%>=1280GOTO4000ELSEGOTO450 420 PB%=ST%:GOSUB3800 430 T%=S%(ST%):S%(ST%)=-1:ST%=T% 450 IFSH%<>FL%THEN150 465 FF%=FF%+(FS%*10) 467 IFFF%>1638THENFF%=1638 470 F%=F%+FS%:FS%=0 480 GOTO150 1000 FF%=200 1007 K%=32 1010 PRINT:PRINT"Wait a minute ... " 1020 FORI%=0TO1279:S%(I%)=-1:NEXTI% 1025 CLS 1030 FORI%=648TO655 1050 PB%=I%:GOSUB3000 1060 S%(I%)=I%+1 1070 NEXTI% 1080 PB%=656:GOSUB3500 1090 S%(656)=32767 1100 ST%=648:SH%=656 1110 HX%=16:HY%=8 1115 L%=9 1120 FS%=0 1130 F%=0 1399 RETURN 1500 I%=0 1540 FL%=RND(1)*1280 1550 IFS%(FL%)<0THEN1600 1560 I%=I%+1:IFI%<10THEN1540 1580 FL%=FL%+1:IFFL%>1279THENFL%=0 1590 DU=RND(1):IFS%(FL%)>-1THEN1580 1600 FS%=RND(1)*12+1 1630 F2%=FS%:I%=3:PX%=(FL%MOD80)*3:PY%=(FL%\80)*4 1640 PSET(PX%,PY%):F2%=F2%-1:IFF2%=0THEN1700 1650 PX%=PX%+1:I%=I%-1:IFI%>0THEN1640 1660 PX%=PX%-3:PY%=PY%+1:I%=3:GOTO1640 1700 RETURN 2000 FORI=1TO5:SOUND12538,1:SOUND0,1:NEXTI:PRINT:PRINT"You ran into the wall so hard" 2010 PRINT"you broke your head." 2020 PRINT"You are dead." 2040 GOTO4050 2500 FORI=1TO15:SOUND12538,1:NEXTI:PRINT:PRINT"You ran into yourself and" 2520 PRINT"injured yourself mortally." 2530 GOTO2020 3000 PX%=(PB%MOD80)*3:PY%=(PB%\80)*4 3020 LINE(PX%,PY%)-(PX%+2,PY%+3),1,BF 3499 RETURN 3500 PX%=(PB%MOD80)*3:PY%=(PB%\80)*4 3520 LINE(PX%,PY%)-(PX%+2,PY%+3),1,B 3799 RETURN 3800 PX%=(PB%MOD80)*3:PY%=(PB%\80)*4 3820 LINE(PX%,PY%)-(PX%+2,PY%+3),0,BF 3999 RETURN 4000 CLS:PRINT"I can't believe you ate the whole thing." 4030 PRINT"You have won!" 4050 PRINT"Your score: ";L%;:PRINT"Play again?";:R$=INPUT$(1):IFR$="y"ORR$="Y"THEN100 4060 MENU 4500 FORI=1TO15:SOUND12538,1:SOUND0,1:NEXTI:PRINT:PRINT"Death from starvation":GOTO4050 4998 'end of WORMY