Ok, I fixed 90% of it but there is still an annoying bug.
Every time you press the space bar a weapon fires. This causes object_num to increment itself every time the weapon is fired. However, when it comes time for me to clean up after myself, I have a block of code that faithfully deletes each sprite that wanders outside the screen. However, when I want to decrement (subtract from) object_num for every weapon blast deleted I get a host of problems. Either this causes the weapon to not fire at all, or the blast positions itself constantly on the ship's nose

.
Ignoring all the above posts. Could someone tell me what I can do to make it happen based on this piece of code:
if spacekey()=1
if fire_wait=0
fire_wait=10
Blasts_Xpos(object_num)=player_x+30
Blasts_Ypos(object_num)=player_y-10
State_Blast(object_num)=alive
object_num=object_num+1
endif
endif
And this code that processes the sprites
if object_num > 1
rem we don't want to count a sprite that is a future sprite
update=object_num-1
for object_num = 1 to update
Blasts_Ypos(object_num)=Blasts_Ypos(object_num)-30
sprite object_num,Blasts_Xpos(object_num),Blasts_Ypos(object_num),2
if Blasts_Ypos(object_num) < -39
delete sprite object_num
State_Blast(object_num)=dead
dump=dump+1
endif
next object_num
sprite 1, player_x,player_y,1
endif
And this code that is supposed to decrement the value off of object_num
if object_num > 1
if State_Blast(object_num)=dead then object_num=object_num-1
endif
The third piece of code seems to have no effect on the overall loop, and the firing weapon continues to push to the max that I set on the arrays until it is all used up. Could someone please help.
"I need gopher-chucks!!"