📄 seko.bas
字号:
' UFO Ver 2' ufo.bas' Shigeyuki Seko' 15/02/2001hi=0label topclsrandomize ticksrect 10,115,150,150rect 150,40,155,95at 148,100:print chr$(143)for pp=0 to 30 xx=int(rnd*150) yy=int(rnd*100) pset xx,yynext ppx=37:y=11sc=0:sca=0posi=70:lastt=0:gg=0last=30:alast=0:acount=0:aposi=0x=10:dirx=1wt=70stage=1hitcount=0at posi,100:print " ='= "at 130,y:print " "gosub dataoutgosub stageupwhile 1 x=x+dirx lastt=lastt+1 gg=int(lastt/10) line 150,40+gg,155,40+gg if acount=0 rd=int(rnd*500) if rd=0 acount=88 aposi=int(rnd*120)+20 fi else:gosub addlist fi if stage>=2 if stage=2 rd=int(rnd*50) else rd=int(rnd*10) fi if rd=0 dirx=dirx*-1 fi fi if x<10 :dirx=1 elseif x>130 :dirx=-1 fi at x,y:print " -o- " in$=inkey$ if len(in$)>1 n= asc(right(in$,1)) if (n=4)&(posi>10) posi=posi-2 elseif (n=5)&(posi<130) posi=posi+2 elseif n=2 gosub beem fi at posi,101:print " ='= " fi if (last<=0) or (gg>=54) goto endmess fiwend'--- sub routine --label ggclslastt=0gg=0rect 150,40,155,95for n=151 to 154 line n,41,n,94 color 15next nreturnlabel addlistacount=acount-1alast=int(acount/20)+1if acount=0 at aposi,40 print " " aposi =0 else at aposi,40 print alastfireturnlabel beemline posi+8,98,posi+8,5 color 7last=last-1gosub dataoutline posi+8,98,posi+8,5 color 15if (x<posi+3) & (x>posi-3) gosub hitani gosub dataoutfiif (aposi<posi+9) & (aposi>posi+4) gosub hitadd gosub dataoutfireturnlabel hitanisound 1000,10wt=50gosub waitat x,y:print " -*- "sound 900,10gosub waitat x-5,y:print " -***-"sound 700,10gosub waitat x-5,y:print " "sound 300,10sca=((int(rnd*10))*10)+10at x-5,y:print "<";sca;">"wt=300gosub waitat x-5,y:print " "sc=sc+scahitcount=hitcount+1if hitcount >= 10 stage=stage+1 gosub stageup hitcount=0fix=0gosub ggclsreturnlabel hitaddsound 300,10wt=50gosub waitat aposi,40:print "-*-"sound 500,10gosub waitat aposi-1,40:print " "sound 900,10last=last+alastacount=0aposi=0returnlabel stageupwt=5for i=1 to 60 step 2 at i,70:print " STAGE-";stage sound 5000,1next iwt=800if stage>=2 at 55,80:print "BONUS=300" sc=sc+300 last=last+5figosub waitgosub dataoutat 60,70:print " "at 55,80:print " "returnlabel waitfor w=0 to wt:next nreturnlabel dataoutat 20,130:print "High Score = ";hiat 20,140:print "Last = "at 50,140:print lastat 80,140:print "Score = ";screturnlabel endmessrestore messdatafor i=0 to 8 read m at 20+(i*10),50 sound 1000,30 print chr$(m) wt=70 gosub waitnext iif sc>hi : hi=sc : fiat 20,70print "Schedule button --- Replay"at 20,80print "Address button --- End"while 1 c$=inkey$ if c$<>"" cc= asc(right(c$,1)) if cc=3 :goto top elseif cc=4: end fi fiwendendlabel messdatadata 71,65,77,69,95,79,86,69,82