ボタンが押されている間だけ移動、とする代わりに、ボタンが押されたら「1マス分の移動を開始する」と考えるといいかもです。 一旦移動が開始されたら、1マス分移動した時点で移動完了。次の移動開始のため、またボタンをチェックする。 という感じでどうでしょう(*´▽`*)