Mateji, pokud mas ve hre Thread.Sleep, tak je spatne navrzena, nezavisle na tom, co presne ma ten Thread.Sleep delat. Thread.Sleep totiz rozhodne nepotrebujes.
Pokud navrhujes hru, velmi doporucuju kouknout se na XNA.
To je framework pro vyvoj her pro mobiliy, pc, xbox,.... Je to od microsoftu a veci typu cteni klavesnice / joysticku jsou tam vyresene.. Pokud to nechces pouzivat, minimalne se alespon koukni na tu zakladni kostru hry, aby jsi nevymejslel kolo.
Naprosto zakladni flow kazde hry vypada +- takto:
The Initialize method is where you can initialize any assets that do not require a GraphicsDevice to be initialized.
The LoadContent method is where you load any necessary game assets such as models and textures.
The UnloadContent method is where any game assets can be released. Generally, no extra code is required here, as assets will be released automatically when they are no longer needed.
The Update loop is the best place to update your game logic: move objects around, take player input, decide the outcome of collisions between objects, and so on.
The Draw loop is the best place to render all of your objects and backgrounds on the screen.
Viz https://msdn.microsoft.com/en-us/library/bb203893.aspx