Here is a basic demonstration, it would need editing to check for the worlds minimum and maximum x and y locations. As well as for pixel bumping, and many other things. Sorry if you don't understand it, because of the brackets and such. I'm posting this from my phone.
Besides the above mentioned pixel movement, you could also mess around with world.icon_size variable. If you set that to 8, you could easily make your atoms move 8 pixels at a time, but the downside is that you would have to make anything that is larger than 8x8 pixels into a multi-tiled atom.
Are you trying to say you want to know how to develop Pixel Movement?