The problem is that you using inkey$() - which is really only for basic keyboard interfacing, like a little menu or something like that. For a game, your better using the keystate() command to check the status of a key, or alternatively the cursor keys are nice and neat.
E.g... Cursor Keys
do
if upkey()=1 then x = x+1
if downkey()=1 then y = y+1
position object 1,x,1,1
position object 2,y,5,5
loop
Keystate will let you check the status of any keyboard button, however you must first find out the keys ID number. Personally I have a picture of a keyboard (like maybe an old keyboard box or something) - and in red I have the id numbers for each key - this saves tons of time, it's worth doing.
This bit of code would tell you the ID number of the key your pressing:
SYNC ON
DO
CLS
TEXT 0,0,str$(scancode())
SYNC
LOOP
Now say you pressed W and the code said 33 for the ID number (it's not 33, I don't have DBPro handy, at work). You could check the state of key 33 (W) using:
IF KEYSTATE(33)=1 then x = x+1
It is quite easy to use, just a bit of a pain to figure out the ID numbers.
Van-B
It's c**p being the only coder in the village.