16ドットずつの移動であればその書き方でもいいのですが、1ドットずつの移動だとキャラクターの4すみを判定する必要があると思います。 キー入力をしたら仮の座標(SX,SY)を作成して左上、右上、左下、右下の4点で背景取得して壁に重なってなかったら本当の座標(X,Y)に反映するようにしてみました