ゲームは画像が動かなきゃ始まりませんよね。次は画像を動かしてみましょう。for文によって、xの座標を少しずつ動かしていきます。急に動かないようにSleep関数を使用します。Sleep関数はミリ秒を引数にして、引数分だけ処理を止めます。Sleep(10);とすれば10ミリ秒すなわち0.01秒だけ処理が止まります。サンプルでは0.01秒ずつx座標を1増やしながら表示し、x座標が300以上になったらブレイクしています。適切ではないプログラムの例を紹介しています。実行結果はこれと異なる場合があり、何も表示されないかもしれません。移動終了後にだけ表示されることもあります。画像は動いていますが前に描画した画像が残ってしまっています。1回書いたら消さないといけないわけですね。そこで画面に書いたデータを全部消す関数ClearDrawScreen()関数を使用します。注意)黄色で書かれている文字や線は表示されません。モーションが画像では伝えにくいために書いたものです。このプログラムでは確かにキャラは動いて見えますが、画像がやけにチラチラして見えますね。これはリフレッシュレートが合っていないために起こるものです。リフレッシュレートとはなにか?お使いのモニタによって様々ですが、だいたい1秒間に60回位モニタはデータを書き換えて表示しています。このことを「リフレッシュレートが60Hz(ヘルツ)だ」といいます。1秒間に60回表示するということは1秒を60で割ると16〜17ミリ秒です。16〜17ミリ秒に1回モニタは画面に表示しているにもかかわらず、プログラムでは10ミリ秒に1度描写しているため、このような事が起こります。その為「裏画面処理」を行う必要があります。