In 10 fps how many times should I change the sprite to give the illusion of motion?
As Codehead suggests, this is not something that has a hard-and-fast "correct" answer... it depends on many factors -- the complexity of the animation, the number of frames, and so on. Then it still takes a subjective eye to find the motion that "feels" right.
and I think I will code the gameLoop function later after I get the other technical stuff right so can you pros tell how to make it work in every scenario? Or maybe I am taking a bad step here. Maybe I should think small now.
To make it work in "every scenario" is pretty simple. The main idea is to separate the game loop from the game logic-state, and have the game loop control the logic-state. Also, you will want to measure the time between updates, and feed that to your logic-state so that it can "adjust" itself according to how much time has passed.
Let's say your logic-state has a function update(elapsedTime), which moves a sprite according to time. You would do something like this:
sprite.X += sprite.speed * elapsedTime;
For example, of course -- you would do things like collision handling in your own code, but that gives you an idea how it works.