>>403
空のメインループだと、特定のタイミングでキーを押しても反応しないことがある。
実際に作ってみれば分かるが、これはかなりストレスが貯まる。

というわけで、一般的には

(1)矢印キーを押した瞬間にのみカーソルを動かす。
 あらかじめ直前のフレームにおける入力状態を保存しておけば、押した瞬間を検出できる。
 この検出処理自体はゲームの至る所で使用するので、タイトル画面に関わらず必ず作っておいた方が良い。

(2)ウェイト用のカウンタ変数を用意しておき、毎フレーム減らす。
 カウンタが0以下の時のみ、カーソルを動かす。その後、待機するフレーム数(1秒ウェイトなら60)をカウンタに代入する。
 キーを押しっぱなしで、かつカウンタが1以上なら、0になるまで毎フレーム1ずつ減らす。 
 キーが押されてなかったら、カウンタを0にする。

という、どちらかのパターンになると思う。
(1)はキーを連打することでカーソルを動かす、(2)は押しっぱなしでカーソルが動く。
(1)と(2)を組み合わせた方法とかもあるけど、それに関しては割愛。



>>404
キーボードじゃなくてゲームコントローラじゃね? OSによって違うかもしれないけど