Quote: "And another thing, why do you "oldies" always assume that your way is right?"
er! cos it works?

, the speed isn`t an issue anyway, you can slow it down any number of ways if it is too fast for you, just stick wait 500 at the end of the loop and it will only move every half a second, or use a keydown flag like Balid suggested or use the timer to only allow keypresses to register after 1/2 a second or so, or maybe your code will end up so large you will be wanting to move it faster by the time you have finished,, any number of ways will do the job, just pick a method and use that.
Mentor.
ps: Balid said upkeydown, not upkeydown(), it`s just a variable he uses as a flag to check for the key still being down, only gets reset to allow a keypress to be read when the key has been released
PC1: P4 hyperthreading 3ghz, 1gig mem, 2x160gig hd`s, Nvidia FX5900 gfx, 6 way surround sound, PC2: AMD 1.2ghz, 512mb ram, FX5200 ultra gfx, stereo 16 bit soundblaster.