I can't get my bullet code to work. Well.... here it is.
:.Assigning values outside of main loop
:40→S→T
:For(V,0,5)
:0→{V*5+L5}→{V*5+L5+3}
:End
Repeat getKey(15)
.A bunch of stuff
:If getKey(54)
:.Checks if T=S (Vars that check the spacing between the bullets)
:If T=S
:For(V,0,5)
:!If {V*5+L5}=1
:.{V*5+L5} tells if the bullet is ready to fire
:1→{V*5+L5}
:0→T
:. Resets the bullet spacing var
:Goto X
:End
:End
:End
:End
:Lbl X
:.Other stuff
:For(V,0,5)
:. Checks if bullet has been fired and assigns X and Y for bullet
:If {V*5+L5}=1
:X+4→{V*5+L5+1}
:Y+1→{V*5+L5+2}
:Pt-On({V*5+L5+1},{V*5+L5+2},Pic2
:. {V*5+L5+1} says that the bullet has been set up and will now start travelling
:1→{V*5+L5+3}
:2→{V*5+L5}
:. R assigns the direction of travel
:R→{V*5+L5+4}
:End
:End
:For(V,0,5)
:. Will now check if bullet is ready to move
:If {V*5+L5+3}
:. Will check whether to move left or right
:If {V*5+L5+4}
:{V*5+L5+1}+I→{V*5+L5+1}
:Else
:{V*5+L5+1}-I→{V*5+L5+1}
:End
:Pt-On({V*5+L5+1},{V*5+L5+2},Pic2)
:End
:End
:For(V,0,5)
:. Will check if the bullet has gone off the screen.
:If {V*5+L5+1}=1 or {V*5+L5+1}>90
:. Resets the shoot check and gives the X,Y coordnates a number that is off the screen.
:0→{V*5+L5}→{V*5+L5+3}+100→{V*5+L5+1}→{V*5+L5+2}
:End
:End
:. Other stuff
:If T<S
:. Adds 1 to the bullet spacing var
:T++
:End
:DispGraph
:. End main loop
:End
If anyone can spot an error, please tell me!
Edit: I found the error. When I said
:!If {V*5+L5}=1
It would also run if {V*5+L5}=2, but it only needs to run if it equals 0.