You don't have a semicolon at the end of
Code:
bulletarray[i].yplace:=bulletarray[i].yplace+4
And that's all i can see is wrong with the code. If you fire just 1 bullet, it starts from wrong place? Then it sounds like the mistake is the code that fires it.