ParameterCatcher by ShadowCentaur 224th Jul 2005 1:53
|
---|
Summary A simple game that uses no media. Description A little game that uses no media. uses text to create sprites. move the paddle around to catch the falling symbols of x's (integers), #'s (real), and $'s (string). a great way to waste a few minutes during a commercial break, and somebody might learn a bit from it. fully commented so it's easy to read Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com rem *********************************************************************** rem Parameter Catcher!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! rem *********************************************************************** sync rate 0 hide mouse gosub menu rem set up sprite position arrays dim spriteposx(100) dim spriteposy(100) rem set up highscore array dim highscore(1) rem load up cursor sprite ink rgb(255,255,255),rgb(0,0,0) text 0,0,"v" get image 1,0,0,10,15 sprite 1,mousex(),mousey(),1 size sprite 1,80,15 cls rem load up x,#,and $ sprites rem x ink rgb(0,255,0),rgb(0,0,0) text 0,0,"x" get image 2,0,0,10,15 cls for x=2 to 50 spriteposx(x)=rnd(640) spriteposy(x)=rnd(480) next x rem # ink rgb(0,0,255),rgb(0,0,0) text 0,0,"#" get image 3,0,0,10,15 cls for y=51 to 75 spriteposx(y)=rnd(640) spriteposy(y)=rnd(480) next y rem $ ink rgb(255,0,0),rgb(0,0,0) text 0,0,"$" get image 4,0,0,10,15 cls for z=76 to 78 spriteposx(z)=rnd(640) spriteposy(z)=rnd(480) next y rem load sprite for score meter ink rgb(255,255,0),rgb(0,0,0) text 0,0,"*" get image 5,0,0,10,15 cls rem main loop ************************************************************ do rem draw paddle if score<1000 then sprite 1,mousex(),400,1 rem manage x's for x=2 to 50 spriteposy(x)=spriteposy(x)+1+int(sqrt(x)/2) sprite x,spriteposx(x),spriteposy(x),2 if spriteposy(x)>480 spriteposy(x)=0 spriteposx(x)=rnd(640) endif if sprite collision(1,x)=1 score=score+1 spriteposy(x)=0 spriteposx(x)=rnd(640) endif next x rem rem manage #'s for y=51 to 75 spriteposy(y)=spriteposy(y)+1+int(sqrt(y)) sprite y,spriteposx(y),spriteposy(y),3 if spriteposy(y)>480 spriteposy(y)=0 spriteposx(y)=rnd(640) endif if sprite collision(1,y)=1 score=score+3 spriteposy(y)=0 spriteposx(y)=rnd(640) endif next y rem manage $'s for z=76 to 78 spriteposy(z)=spriteposy(z)+1+int(z/7) sprite z,spriteposx(z),spriteposy(z),4 if spriteposy(z)>480 spriteposy(z)=0 spriteposx(z)=rnd(640) endif if sprite collision(1,z)=1 score=score+10 spriteposy(z)=rnd(200)-1000 spriteposx(z)=rnd(640) endif next z rem score meter for s=1 to int(score/100) sprite s+80,10*s,465,5 next x if score=>1000 set text size 100 text 0,0,"you Win" text 0,100,"Press Esc to Quit" if escapekey()=1 then end endif sync loop rem Menu Subroutine!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! menu: set text size 10 ink rgb(255,255,0),rgb(0,0,0) rem instructions center text 320,50,"Press Enter to start and press Esc to quit." center text 320,70,"Use the Mouse to Guide the Paddle Horizontally" center text 320,100,"Get 1000 points to win!" center text 320,120,"You get a yellow star every 100 pts." rem print score values set text size 100 ink rgb(0,255,0),rgb(0,0,0) center text 320,150,"x : 1 point" ink rgb(0,0,255),rgb(0,0,0) center text 320,250,"# : 3 points" ink rgb(255,0,0),rgb(0,0,0) center text 320,350,"$ : 10 points" rem reset text size set text size 10 do rem check controlls if returnkey()=1 then return if escapekey()=1 then ink rgb(255,255,255),rgb(0,0,0) : end loop |