ゲームについてつらつらと。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今日から課題を一個ずつ片付けていくという形式にしよう。
大課題は『マップエディタを作る』 そういうわけで今日の小課題『チップの自動整形』。 前もやったけど上手く繋がらなかったんですよね。 ところで話は変わるんですけど これまで自分はなるべくプログラムの中身について言及するのをさけていたのですが それはひとえに自分のコードが非効率で頭の悪いコードだったとして それを人に悟られるのが恥ずかしかったからです。 でも、やっぱりある程度は腹を割って説明した方がいいですね。 そうやって自分の軌跡を残すんだ。 さて、そんなわけで小課題ですが。 これを消化する前に 自分のクォータービューの描写方法をおさらい。 右が自分の描写法。 右の利点はなにかというと特になんにもないんですよね。 せいぜいマップデータと実際のマップが一致しやすいってくらいかな? 11110 11110 00000 00000 00000 00000 ↑マップデータ(1がブロック) さて、ここでマップ組みにあたり 地面にグリッドが付いてたり、または縁取り線がないチップなら チップ1個で1マップをまかなえるかもしれませんが どちらも嫌なのでチップ同士の整合性をつけるために複数チップを用意します。こちら。 こんなにあるチップをいちいち選んで置いてられっかよー!ってわけで 自動でチップ補正しなければやってられません。 これには周囲のチップの状態を判定して 正しいチップが置かれるようにすればいいんですよね。 色々方法はあるんだろうけど、自分が使ったのはエセ2進法演算。 上下左右にそれぞれにチップがあれば1なければ0の数値を取ります。 上に1000下に100右に10左に1をかけて。 上下左右全部にチップが存在していれば1111みたいな感じでこれで置くチップを判定。 なんだか面倒臭いけど一つの変数で上下左右のチップ状態を現せるというわけですね。 これでマップ組みが自動になったよ。おめでとう。 ・・・とここまでが前まで出来てたところです。 でも、これだと特定の配置にした場合に穴が空くんですよね。 チップの仕様を変えればどうにかなるのかもしれないけど 考えるのが面倒臭いから、その特定配置を特定して 穴の開かない新しいチップで埋めてくれるようにしよう。 要するに上二つのチップに挟まれていると起こるんだから 1100 1111 1110 1101の4つを新しいチップに変えればいいんだ。 【次回に続く】 PR ![]() ![]() |
ブログ内検索
カテゴリー
プロフィール
HN:
山田
誕生日:
07/17
趣味:
ゲーム製作
好みのタイプ:
無印ポポロクロイス物語
無印アークザラッド That's QT バハムートラグーン 花と雨と太陽と 砂のエンブレイス デカボイス チュウリップ サテラビュー関連
アーカイブ
メッセ
aonori_hatara
タロット占い
|