10 border 0:fx=128:ink 0,0:mode 1:pen 2:n$="ViRuS":while a<15:a=a+1:locate a+2,a+5:?n$:locate a+16,21-a:?n$:wend:while inkey(47)=-1:ink 2,int(rnd*25)+1:wend:cls:ink 3,26:pen 3:locate 2,24:?"SCORE":locate 28,24:?"HISCORE":xi=1:yi=1:if x=0 then q=20:w=18
20 ink 1,24:ink 2,6:a=1:b=1:x=20:y=13:s$=chr$(143):d$=chr$(149):pen 1:while a<38:a=a+1:b=abs(22-a)+3:locate 38,b:?s$:locate 2,b:?s$:locate a,3:?s$:locate a,22:?s$:locate a,2:?d$:locate a,23:?d$:locate 3,12:?s$:wend:pen 3:v=1:s=2:sy=249:if u>k then k=u
30 MY=(INKEY(0)=0 AND y>1)-(INKEY(2)=0 AND y<25):IF MY<>0 THEN LOCATE x,y:PRINT " ":if BT2=1 and My>0 then My=0 else if BT1=1 and My<0 then My=0 else y=y+My:SOUND 3,10+y,1,10:randomize time
40 M =(INKEY(8)=0 AND x>1)-(INKEY(1)=0 AND x<40): IF M<>0 THEN LOCATE x,y:PRINT" ":if BT=1 and M>0 then M=0 else if BT3=1 and M<0 then M=0 else x=x+M:SOUND 3,10+x,1,10
50 locate Q,W:pen s:?chr$(238):pen 3:locate xi,yi:?chr$(fx):if x<=Q and y=w then G=-1 else if x>Q and y=w then G=1 else if y<W then H=-1 else if y>W then H=1
60 if BT=3 or BT1=3 or BT2=3 or BT3=3 then fx=128:bb=0:BO=0:SC=SC+5:v=1+int(sc/25):po=0:Sound 2,50+xi,3:j=1:locate xi,yi:?chr$(fx) else if BO=0 and bb>0 then xi=int(rnd*33)+4:yi=int(rnd*17)+4:pen 3:sound 3,200-yi,3:fx=239:locate xi,yi:?chr$(fx):BO=1:j=0
70 BT=TEST(x*16,400-y*16):BT1=TEST((x-1)*16,400-(y-1)*16):BT2=TEST((x-1)*16,400-(y+1)*16):BT3=TEST((x-2)*16,400-y*16):po=po+1:P=P+v:if p>10 then P=P+1:SOUND 2,800,1,15:Q=Q+G:W=W+H:p=0
80 if po=20 then s=2:j=0 else if q>36 and G>0 then G=-1 else if q<5 and G<0 then G=1 else if w>20 and H>0 then H=-1 else if w<5 and H<0 then h=1 else if po>55 and BO=1 then fx=128:BO=0:po=0:s=2 else if j=1 and po<10 then s=0
90 t=t+1:if t=1 then sy=249:sx=231 else if t=2 then sy=251 else if t=3 then sy=249:sx=230 else if t=4 then sy=250 else t=0:locate 7,24:pen 1:?SC:locate 35,24:?k:if c>26 then c=1:bb=bb+1
100 sound 1,sc+int(400*rnd),2,8:locate Q,W:pen s:?chr$(sx):pen 3:locate x,y:?chr$(sy):c=c+1:ink 2,c:if BT=2 or BT1=2 or BT2=2 or BT3=2 then SOUND 1,0,50,15,,,31:BO=0:e=0:r=0:t=0:j=0:po=0:u=sc:sc=0:q=x:w=y:a=1:goto 10 else goto 30