Try out this cool game i made with nice effects, the aim is to bounce 20 balls across the...thing, within the time limit, if you like it please tell me
edit:
oops, just noticed a mistake, open this instead
`-NukeBall-
`syncronise
sync on
sync rate 0
`Intro (reading this hurts your eyes =P )
cls 0
ink rgb(0,60,0),0
set text font "Broadway"
set text size 50
center text 317,37,"NukeBall"
center text 323,37,"NukeBall"
center text 317,43,"NukeBall"
center text 323,43,"NukeBall"
ink rgb(0,255,0),0
center text 320,40,"NukeBall"
set text size 20
ink rgb(255,0,0),0
center text 322,182,"Someone has made a fatal mistake in the Neuclear"
center text 322,202,"Power Plant and there is about to be a huge explosion..."
center text 322,222,"It is your job to get as many 'Nukeballs' into the Neuclear"
center text 322,242,"Reactor where they're safe, get in 20 and you're done. Good luck!"
ink rgb(0,255,0),0
center text 320,180,"Someone has made a fatal mistake in the Neuclear"
center text 320,200,"Power Plant and there is about to be a huge explosion..."
center text 320,220,"It is your job to get as many 'Nukeballs' into the Neuclear"
center text 320,240,"Reactor where they're safe, get in 20 and you're done. Good luck!"
set text size 14
center text 320,440,"Press any key to continue"
suspend for key
`setup environment
backdrop on
color backdrop 0
hide mouse
set ambient light 0
set normalization on
`arrays
dim score(1)
`create a bat
make object box 2,100,25,25
position object 2,0,100,0
color object 2,rgb(0,255,0)
`bat effects
make object box 3,98,23,23
position object 3,0,100,0
color object 3,rgb(0,255,0)
ghost object on 3
make object box 4,96,21,21
position object 4,0,100,0
color object 4,rgb(0,255,0)
ghost object on 4,100
make object box 5,100,25,25
position object 5,0,100,0
color object 5,rgb(0,255,0)
ghost object on 5
make object box 6,98,23,23
position object 6,0,100,0
color object 6,rgb(0,255,0)
ghost object on 6
make object box 7,96,22,22
position object 7,0,100,0
color object 7,rgb(0,255,0)
ghost object on 7
make light 1
color light 1,rgb(0,255,0)
bef1#=0
bef2#=0
batx#=0
`create a floor
for f=8 to 28
make object sphere f,120
position object f,-1000+(f*70),-310,0
color object f,rgb(0,128,0)
ghost object on f
next f
`make ball
make object sphere 29,20
color object 29,rgb(0,255,0)
make object sphere 30,23
color object 30,rgb(0,255,0)
ghost object on 30
grav#=10
ballx#=-500
bally#=100
way=1
spd#=rnd(7)
if spd#<5 then spd#=5
if spd#>8 then spd#=8
spdadd#=rnd(4)
bounce=0
`create 2 buildings(of course, with effects :) )
make object box 31,180,265,80
color object 31,rgb(0,255,0)
position object 31,-400,-142,0
make object box 32,180,265,80
color object 32,rgb(0,255,0)
position object 32,-400,-142,0
ghost object on 32
make object box 33,180,265,80
color object 33,rgb(0,255,0)
position object 33,450,-142,0
make object box 34,180,265,80
color object 34,rgb(0,255,0)
position object 34,450,-142,0
ghost object on 34
`create a sign
create bitmap 1,210,80
set current bitmap 1
set text font "comic sans ms"
set text size 28
set text to bold
cls rgb(0,0,0)
ink rgb(0,25,0),0
text 0,0,"To Neuclear Reactor"
text 2,0,"To Neuclear Reactor"
text 0,2,"To Neuclear Reactor"
text 2,2,"To Neuclear Reactor"
ink rgb(0,255,0),0
text 1,1,"To Neuclear Reactor"
get image 1,0,0,210,80
delete bitmap 1
set current bitmap 0
make object plain 35,300,70
position object 35,270,50,20
texture object 35,1
set object 35,1,0,0,1,0
zrotate object 35,5 : fix object pivot 35
make object plain 36,300,70
position object 36,270,50,20
texture object 36,1
set object 36,1,0,0,1,0
zrotate object 36,5 : fix object pivot 36
ghost object on 36
`create a light in the background
make object cube 37,20
color object 37,rgb(255,0,0)
position object 37,-300,120,50
set object 37,1,0,0,1,0
make object cube 38,20
color object 38,rgb(255,0,0)
position object 38,-300,120,50
set object 38,1,0,0,1,0
ghost object on 38
make object sphere 39,20
color object 39,rgb(255,0,0)
position object 39,-300,120,50
ghost object on 39
make light 2
color light 2,rgb(255,0,0)
position light 2,-300,120,50
`timer
timer=0
s=59
m=2
`main loop
do
`decrease timer
inc timer
if timer>100 then timer=0 : inc timer : s=s-1
if s<0 then s=59 : m=m-1
if m=0 and s=0 then gosub end
`position camera
position camera 0,100,-500
`control bat and effects
if leftkey()=1 then dec batx#,curvevalue(7,5,7)
if rightkey()=1 then inc batx#,curvevalue(7,5,7)
if batx#>bef1# then inc bef1#,4.8
if batx#<bef1# then dec bef1#,4.8
if bef1#>bef2# then inc bef2#,4.6
if bef1#<bef2# then dec bef2#,4.6
if bef1#<batx#-20 then inc bef1#,5
if bef1#>batx#+20 then dec bef1#,5
if bef2#<bef1#-20 then inc bef2#,4.8
if bef2#>bef1#+20 then dec bef2#,4.8
if batx#>310 then batx#=310
if batx#<-250 then batx#=-250
efs1#=wrapvalue(efs1#+4) : efs2#=110+(cos(efs1#)*20)
scale object 5,efs2#,efs2#,efs2#
scale object 6,efs2#-2,efs2#-2,efs2#-2
scale object 7,efs2#-4,efs2#-4,efs2#-4
position object 2,batx#,-200,0
position light 1,batx#,-310,0
position object 3,bef1#,-200,0
position object 4,bef2#,-200,0
position object 5,batx#,-200,0
position object 6,bef1#,-200,0
position object 7,bef2#,-200,0
`control ball
randomize spd#
if bally#<-179 and bally#>-200 and ballx#<batx#+50 and ballx#>batx#-50 then bounce=1 else bounce=0
if bounce=1
grav#=15
endif
grav#=grav#-0.3
bally#=bally#+grav#
if bally#<0 and ballx#<-300 then bally#=0 : grav#=0
if bally#<-800 then bally#=0 : ballx#=-500 : grav#=0 : spd#=rnd(7)
if ballx#<-320 then way=1
if ballx#>360 and bally#<0 then bally#=0
if ballx#>400 then ballx#=-500 : spd#=rnd(7) : score(1)=score(1)+1
ballx#=newxvalue(ballx#,90,spd#/2)
if way=1 and bounce=1 and leftkey()=1 then ballx#=newxvalue(ballx#,90,spd#*2)
if way=1 and bounce=1 and rightkey()=1 then ballx#=newxvalue(ballx#,90,spd#/6)
position object 29,ballx#,bally#,0
position object 30,ballx#,bally#,0
scale object 30,efs2#*-1,efs2#*-1,efs2#*-1
`building effects
befs1#=wrapvalue(befs1#+1) : befs2#=103+(cos(efs1#)*2)
for f=8 to 28
scale object f,16+befs2#,8+befs2#,8+befs2#
next f
scale object 32,befs2#,befs2#,befs2#
scale object 34,befs2#,befs2#,befs2#
`sign effects
sefs1#=wrapvalue(sefs1#+1) : sefs2#=103+(cos(sefs1#)*1)
scale object 36,sefs2#,sefs2#,sefs2#
`light effects
lefs1#=wrapvalue(lefs1#+1) : lefs2#=110+(cos(lefs1#)*1000)
scale object 38,lefs2#/10,lefs2#/10,lefs2#/10
scale object 39,lefs2#,lefs2#,lefs2#
`show score
set text font "comic sans ms"
set text size 28
set text to bold
ink rgb(255,255,255),0
text 9,9,"Nukeballs: "+str$(score(1))
text 11,9,"Nukeballs: "+str$(score(1))
text 9,11,"Nukeballs: "+str$(score(1))
text 11,11,"Nukeballs: "+str$(score(1))
ink rgb(0,255,0),0
text 10,10,"Nukeballs: "+str$(score(1))
if score>1 then gosub end
`show time
ink rgb(255,255,255),0
if s>9
text 479,9,"Time: "+str$(m)+":"+str$(s)
else
text 479,9,"Time: "+str$(m)+":0"+str$(s)
endif
if s>9
text 479,11,"Time: "+str$(m)+":"+str$(s)
else
text 479,11,"Time: "+str$(m)+":0"+str$(s)
endif
if s>9
text 481,9,"Time: "+str$(m)+":"+str$(s)
else
text 481,9,"Time: "+str$(m)+":0"+str$(s)
endif
if s>9
text 481,11,"Time: "+str$(m)+":"+str$(s)
else
text 481,11,"Time: "+str$(m)+":0"+str$(s)
endif
ink rgb(0,255,0),0
if s>9
text 480,10,"Time: "+str$(m)+":"+str$(s)
else
text 480,10,"Time: "+str$(m)+":0"+str$(s)
endif
`end loop
sync
loop
`win game
end:
end
return
update:
now there are obstacles, hit them and things happen, red: you slow down, purple: the ball speeds up
`-NukeBall-
`syncronise
sync on
sync rate 0
`Intro (reading this hurts your eyes =P )
cls 0
ink rgb(0,60,0),0
set text font "Broadway"
set text size 50
center text 317,37,"NukeBall"
center text 323,37,"NukeBall"
center text 317,43,"NukeBall"
center text 323,43,"NukeBall"
ink rgb(0,255,0),0
center text 320,40,"NukeBall"
set text size 20
ink rgb(0,255,0),0
center text 320,180,"Someone has made a fatal mistake in the Neuclear"
center text 320,200,"Power Plant and there is about to be a huge explosion..."
center text 320,220,"It is your job to get as many 'Nukeballs' into the Neuclear"
center text 320,240,"Reactor where they're safe, get in 20 and you're done."
center text 320,260,"Avoid any falling objects. Good luck!"
set text size 14
center text 320,440,"Press any key to continue"
suspend for key
`setup environment
backdrop on
color backdrop 0
hide mouse
set ambient light 0
set normalization on
`arrays
dim score(1)
`create a bat
make object box 2,100,25,25
position object 2,0,100,0
color object 2,rgb(0,255,0)
`bat effects
make object box 3,98,23,23
position object 3,0,100,0
color object 3,rgb(0,255,0)
ghost object on 3
make object box 4,96,21,21
position object 4,0,100,0
color object 4,rgb(0,255,0)
ghost object on 4,100
make object box 5,100,25,25
position object 5,0,100,0
color object 5,rgb(0,255,0)
ghost object on 5
make object box 6,98,23,23
position object 6,0,100,0
color object 6,rgb(0,255,0)
ghost object on 6
make object box 7,96,22,22
position object 7,0,100,0
color object 7,rgb(0,255,0)
ghost object on 7
make light 1
color light 1,rgb(0,255,0)
bef1#=0
bef2#=0
batx#=0
`create a floor
for f=8 to 28
make object sphere f,120
position object f,-1000+(f*70),-310,0
color object f,rgb(0,128,0)
ghost object on f
next f
`make ball
make object sphere 29,20
color object 29,rgb(0,255,0)
make object sphere 30,23
color object 30,rgb(0,255,0)
ghost object on 30
grav#=10
ballx#=-500
bally#=100
way=1
spd#=rnd(7)
if spd#<5 then spd#=5
if spd#>8 then spd#=8
spdadd#=rnd(4)
bounce=0
add#=0
`create 2 buildings(of course, with effects :) )
make object box 31,180,265,80
color object 31,rgb(0,255,0)
position object 31,-400,-142,0
make object box 32,180,265,80
color object 32,rgb(0,255,0)
position object 32,-400,-142,0
ghost object on 32
make object box 33,180,265,80
color object 33,rgb(0,255,0)
position object 33,450,-142,0
make object box 34,180,265,80
color object 34,rgb(0,255,0)
position object 34,450,-142,0
ghost object on 34
`create a sign
create bitmap 1,210,80
set current bitmap 1
set text font "comic sans ms"
set text size 28
set text to bold
cls rgb(0,0,0)
ink rgb(0,25,0),0
text 0,0,"To Neuclear Reactor"
text 2,0,"To Neuclear Reactor"
text 0,2,"To Neuclear Reactor"
text 2,2,"To Neuclear Reactor"
ink rgb(0,255,0),0
text 1,1,"To Neuclear Reactor"
get image 1,0,0,210,80
delete bitmap 1
set current bitmap 0
make object plain 35,300,70
position object 35,270,50,20
texture object 35,1
set object 35,1,0,0,1,0
zrotate object 35,5 : fix object pivot 35
make object plain 36,300,70
position object 36,270,50,20
texture object 36,1
set object 36,1,0,0,1,0
zrotate object 36,5 : fix object pivot 36
ghost object on 36
`create a light in the background
make object cube 37,20
color object 37,rgb(255,0,0)
position object 37,-300,120,50
set object 37,1,0,0,1,0
make object cube 38,20
color object 38,rgb(255,0,0)
position object 38,-300,120,50
set object 38,1,0,0,1,0
ghost object on 38
make object sphere 39,20
color object 39,rgb(255,0,0)
position object 39,-300,120,50
ghost object on 39
make light 2
color light 2,rgb(255,0,0)
position light 2,-300,120,50
`make obstacles
`slow down
make object cylinder 40,20
zrotate object 40,90 : fix object pivot 40
color object 40,rgb(255,0,0)
sdo#=rnd(100)
sdoy#=1000
position object 40,sdo#,sdoy#,0
sld=0
sdt#=0
`speed up balls
make object cylinder 41,20
zrotate object 41,90 : fix object pivot 41
color object 41,rgb(255,0,255)
suo#=rnd(100)*-1
suoy#=2000
position object 41,suo#,suoy#,0
spu=0
sut#=0
`timer
timer=0
s=59
m=2
`main loop
do
`decrease timer
inc timer
if timer>100 then timer=0 : inc timer : s=s-1
if s<0 then s=59 : m=m-1
if m=0 and s=0 then end
`position camera
position camera 0,100,-500
`control obstacles
dec sdoy#,2.5
position object 40,sdo#,sdoy#,0
if sdo#<batx#+40 and sdo#>batx#-40 and sdoy#<-190 and sdoy#>-210 then sld=1 : sdoy#=2500 : sdo#=rnd(100)*-1
if sdoy#<-800 then sdoy#=2500 : suo#=rnd(100)*-1
if sld>0 then inc sdt#
if sdt#>0 then sd=1 else sd=0
if sdt#>600 then sdt#=0 : sld=0
if sld=0 then sdt#=0
dec suoy#,2.5
position object 41,suo#,suoy#,0
if suo#<batx#+40 and suo#>batx#-40 and suoy#<-190 and suoy#>-210 then spu=1 : suoy#=3500 : suo#=rnd(100)
if suoy#<-800 then suoy#=3500 : suo#=rnd(100)
if spu>0 then inc sut#
if sut#>0 then su=1 else su=0
if sut#>600 then sut#=0 : spu=0
if spu=0 then sut#=0
if su=1 then add#=5 else add#=0
`control bat and effects
if sd=0
if leftkey()=1 then dec batx#,curvevalue(7,5,7)
if rightkey()=1 then inc batx#,curvevalue(7,5,7)
else
if leftkey()=1 then dec batx#,curvevalue(1,1,1)
if rightkey()=1 then inc batx#,curvevalue(1,1,1)
endif
if batx#>bef1# then inc bef1#,4.8
if batx#<bef1# then dec bef1#,4.8
if bef1#>bef2# then inc bef2#,4.6
if bef1#<bef2# then dec bef2#,4.6
if bef1#<batx#-20 then inc bef1#,5
if bef1#>batx#+20 then dec bef1#,5
if bef2#<bef1#-20 then inc bef2#,4.8
if bef2#>bef1#+20 then dec bef2#,4.8
if batx#>310 then batx#=310
if batx#<-250 then batx#=-250
efs1#=wrapvalue(efs1#+4) : efs2#=110+(cos(efs1#)*20)
scale object 5,efs2#,efs2#,efs2#
scale object 6,efs2#-2,efs2#-2,efs2#-2
scale object 7,efs2#-4,efs2#-4,efs2#-4
position object 2,batx#,-200,0
position light 1,batx#,-310,0
position object 3,bef1#,-200,0
position object 4,bef2#,-200,0
position object 5,batx#,-200,0
position object 6,bef1#,-200,0
position object 7,bef2#,-200,0
`control ball
randomize spd#
if bally#<-179 and bally#>-200 and ballx#<batx#+50 and ballx#>batx#-50 then bounce=1 else bounce=0
if bounce=1
grav#=15
endif
grav#=grav#-0.3
bally#=bally#+grav#
if bally#<0 and ballx#<-300 then bally#=0 : grav#=0
if bally#<-800 then bally#=0 : ballx#=-500 : grav#=0 : spd#=rnd(7)
if ballx#<-320 then way=1
if ballx#>360 and bally#<0 then bally#=0
if ballx#>400 then ballx#=-500 : spd#=rnd(7) : score(1)=score(1)+1
ballx#=newxvalue(ballx#,90,spd#/2+add#)
if way=1 and bounce=1 and leftkey()=1 then ballx#=newxvalue(ballx#,90,spd#*2+add#)
if way=1 and bounce=1 and rightkey()=1 then ballx#=newxvalue(ballx#,90,spd#/6+add#)
position object 29,ballx#,bally#,0
position object 30,ballx#,bally#,0
scale object 30,efs2#*-1,efs2#*-1,efs2#*-1
`building effects
befs1#=wrapvalue(befs1#+1) : befs2#=103+(cos(efs1#)*2)
for f=8 to 28
scale object f,16+befs2#,8+befs2#,8+befs2#
next f
scale object 32,befs2#,befs2#,befs2#
scale object 34,befs2#,befs2#,befs2#
`sign effects
sefs1#=wrapvalue(sefs1#+1) : sefs2#=103+(cos(sefs1#)*1)
scale object 36,sefs2#,sefs2#,sefs2#
`light effects
lefs1#=wrapvalue(lefs1#+1) : lefs2#=110+(cos(lefs1#)*1000)
scale object 38,lefs2#/10,lefs2#/10,lefs2#/10
scale object 39,lefs2#,lefs2#,lefs2#
`show score
set text font "comic sans ms"
set text size 28
set text to bold
ink rgb(255,255,255),0
text 9,9,"Nukeballs: "+str$(score(1))
text 11,9,"Nukeballs: "+str$(score(1))
text 9,11,"Nukeballs: "+str$(score(1))
text 11,11,"Nukeballs: "+str$(score(1))
ink rgb(0,255,0),0
text 10,10,"Nukeballs: "+str$(score(1))
if score(1)>19 then end
`show time
ink rgb(255,255,255),0
if s>9
text 479,9,"Time: "+str$(m)+":"+str$(s)
else
text 479,9,"Time: "+str$(m)+":0"+str$(s)
endif
if s>9
text 479,11,"Time: "+str$(m)+":"+str$(s)
else
text 479,11,"Time: "+str$(m)+":0"+str$(s)
endif
if s>9
text 481,9,"Time: "+str$(m)+":"+str$(s)
else
text 481,9,"Time: "+str$(m)+":0"+str$(s)
endif
if s>9
text 481,11,"Time: "+str$(m)+":"+str$(s)
else
text 481,11,"Time: "+str$(m)+":0"+str$(s)
endif
ink rgb(0,255,0),0
if s>9
text 480,10,"Time: "+str$(m)+":"+str$(s)
else
text 480,10,"Time: "+str$(m)+":0"+str$(s)
endif
`end loop
sync
loop
"Well, if he dies, it'll teach him not to do it again." - Me