忍者ブログ
ゲームについてつらつらと。
[1] [2] [3] [4] [5] [6] [7] [8]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今日の課題は『マップのセーブ&ロード』。

できた・・・けど特筆して書く事が無い。
えーと、C++で構造体保存がしたかったらfopenじゃなくて
fopen_sとか_tfopen_sの方を押さえておこうねといったところかな。
PR
今日の今月の課題『チップパレットを色々選べるようにする』


実はいままでチップ1種類しか使えなかったのを色々選べるようにした。
表示だけなら簡単なんですけど当たり判定とか拡張性とか考えてると
とたんにゴチャゴチャになってしまう。頭とかコードとかが。

なにはともあれ、これでおウチとかをバンバン作れますね。

ところでゲーム中に家を作るとき、床タイルとか一個一個おけた方がいいのか
壁材とか床材だけを選んである程度カタチは固定にしちゃったほうがいいのか。
どっちがいいかなあ。

前者だとマップエディタのコードを流用できそうだから
マップエディタを作った手間をゲームにフルに利用できるんだけど
なんだかプレイする側に取っちゃ丸投げな感じで微妙かもしれない。

ACTゲームとかで
ステージエディットモードがあっても全然使わない自分の意見ですが。
前の続き。
ところが色々整合性を考えた結果、チップ数がこんなんなってました。

さすがにひどすぎる。

縁取り線はあとからつけたほうが
描写は増えるけどチップはスッキリするのかもしれないなあ。



ちなみに縁取り線は黒なら別ファイルにしちゃった方がいいんですけど
あとでチップに合わせて色つけるからあえてこうやっていれてます。

これで快適に動いてくれればいいんですけどね。
今日から課題を一個ずつ片付けていくという形式にしよう。
大課題は『マップエディタを作る』

そういうわけで今日の小課題『チップの自動整形』。
前もやったけど上手く繋がらなかったんですよね。




ところで話は変わるんですけど
これまで自分はなるべくプログラムの中身について言及するのをさけていたのですが
それはひとえに自分のコードが非効率で頭の悪いコードだったとして
それを人に悟られるのが恥ずかしかったからです。

でも、やっぱりある程度は腹を割って説明した方がいいですね。
そうやって自分の軌跡を残すんだ。



さて、そんなわけで小課題ですが。
これを消化する前に
自分のクォータービューの描写方法をおさらい。

 


右が自分の描写法。
右の利点はなにかというと特になんにもないんですよね。
せいぜいマップデータと実際のマップが一致しやすいってくらいかな?

11110 11110
00000 00000
00000 00000

↑マップデータ(1がブロック)

さて、ここでマップ組みにあたり
地面にグリッドが付いてたり、または縁取り線がないチップなら
チップ1個で1マップをまかなえるかもしれませんが
どちらも嫌なのでチップ同士の整合性をつけるために複数チップを用意します。こちら。



こんなにあるチップをいちいち選んで置いてられっかよー!ってわけで
自動でチップ補正しなければやってられません。

これには周囲のチップの状態を判定して
正しいチップが置かれるようにすればいいんですよね。

色々方法はあるんだろうけど、自分が使ったのはエセ2進法演算。
上下左右にそれぞれにチップがあれば1なければ0の数値を取ります。
上に1000下に100右に10左に1をかけて。
上下左右全部にチップが存在していれば1111みたいな感じでこれで置くチップを判定。
なんだか面倒臭いけど一つの変数で上下左右のチップ状態を現せるというわけですね。

これでマップ組みが自動になったよ。おめでとう。
・・・とここまでが前まで出来てたところです。

でも、これだと特定の配置にした場合に穴が空くんですよね。

チップの仕様を変えればどうにかなるのかもしれないけど
考えるのが面倒臭いから、その特定配置を特定して
穴の開かない新しいチップで埋めてくれるようにしよう。

要するに上二つのチップに挟まれていると起こるんだから
1100 1111 1110 1101の4つを新しいチップに変えればいいんだ。

【次回に続く】

レベル3にも勝てた。
思考時間の割にLV2とさして違いも無いなあ。

---------------------------------------------

データベースにBGMの項を作りました。
音楽ファイルの追加にファイル選択ダイアログを使ったけど・・・

そっちは上手くいったんだけど
データベースの方が何故かうまくいかない。
一日中悩んでて煮詰まってしまった。



んで、
どうやら前のファイル参照がいけなかったらしいです。
ファイル階層を勝手に書き換えちゃうから
相対パスでオープンしてるデータベースの位置がズレちゃったんだな。

完全パスで指定すればいい話だけど
ゲームとかプログラムのファイルを完全パスにするわけにもいかないなあ。

考えとこう。


忍者ブログ [PR]
ブログ内検索
プロフィール

HN:
山田
誕生日:
07/17
趣味:
ゲーム製作
好みのタイプ:
無印ポポロクロイス物語
無印アークザラッド
That's QT
バハムートラグーン
花と雨と太陽と
砂のエンブレイス
デカボイス
チュウリップ
サテラビュー関連
メッセ
aonori_hataraotmail.com (一部画像なので手打ちでどうぞ)
タロット占い