>>21のコードは単純に一次関数でやってるから坂道で浮くし
垂直を作ると底から上に一気にワープする。
それにラインのデータを先頭から探索していくため己型のマップだと下の空間に入れない。

const VECTOR floors[] = {
{0, 64, 0}, {100, 64, 0}, {100, 300, 0},{480, 300, 0},
{500, 200, 0}, {400, 200, 0},{400, 100, 0}, {1000, 120, 0} };

こんな感じのデータ。Dで塗りつぶし非表示にしてやってみるとわかる。