A great first question when learning to write games, and the answer has lots of juicy but simple lessons there-in. I have written the answer in code, and I wrote it all in just a few minutes with only five mistakes before it worked fully. Pretty good huh! Here is your code:
rem data structures
type bullettype
alive x y dirx diry
endtype
dim bullet[100] as bullettype
rem create assets
CreateText(1,"SHIP")
for b=0 to 100
CreateText(2+b,"b")
SetTextVisible(2+b,0)
next b
rem init game
shipx=20
shipy=50
rem main loop
do
rem control firing
if GetPointerPressed()=1
if firing=0
firing=1
for b=0 to 100
if bullet[b].alive=0
bullet[b].alive=1
bullet[b].x=shipx
bullet[b].y=shipy
bullet[b].dirx=2
bullet[b].diry=0
SetTextVisible(2+b,1)
exit
endif
next b
endif
else
firing=0
endif
rem control bullet
for b=0 to 100
if bullet[b].alive=1
bullet[b].x=bullet[b].x+bullet[b].dirx
bullet[b].y=bullet[b].y+bullet[b].diry
if bullet[b].x<-10 then bullet[b].alive=0
if bullet[b].x>110 then bullet[b].alive=0
if bullet[b].y<-10 then bullet[b].alive=0
if bullet[b].y>110 then bullet[b].alive=0
endif
next b
rem render game
Print("Press to fire bullets")
SetTextPosition(1,shipx,shipy)
for b=0 to 100
SetTextPosition(2+b,bullet[b].x,bullet[b].y)
next b
sync()
loop
I drink tea, and in my spare time I write software.