CAVE だもんね。(8)


RGKT-NDS-HMBR-004(008)


当たり判定を実装した。
前回 MSX で言う VPEEK() な方法で当たり判定を取ろうと決めた訳で。
VPEEK() よりかはスマートじゃないけど、
似たような処理として VRAM を直接見に行ってそこで当たり判定を取るようにした。


…VRAM っていうと何か凄いことしてる風に聞こえちゃうけど別にそんな訳なくて、
単純にマップデータ(洞窟の配置データ)読みに行って、
自機座標と洞窟データが重なってたら自機がミスしたって判断してるだけ。
全然凄くない。


でもまあ、普通はちゃんとスクリーン座標取っておいてそこで当たり判定取るのが筋なんだろうけど。
参考のrerofumi氏の MSX-BASIC LIST をリスペクトする為に敢えてマイコン時代の常套手段なやり方に準じてみたり。(まて
コンソールベースのゲームを作るならこういうアプローチの方法もあるってことで。<いや、誰も作らないし


VRAM にマップデータを直接書き込みすることは既に経験済みだったので
その逆の VRAM 読み出しも案外すんなり。…というつもりで挑んでみたは良いものの
16色データの場合の 15bit目 がパレットデータだってのをすっかり忘れ
少しだけハマってしまったりなんかして(libnds で提供されてるデフォルトコンソールは16色で設定される)。


ToDo
1・タイトル表示は初回動作のみ。後の遷移はゲームプレイとゲームオーバーの繰り返しとする
2・ゲームが進行してく毎に洞窟幅がジョジョに狭くなるようにする
3・洞窟生成処理をちゃんとしたものに書き直す
4・関数名、定数名、変数名がイケてないのでちゃんと分かりやすい名前に直す
5・MSX風フォントを libnds コンソール のフォントとして設定する
6・バナーアイコンの作成。青と白を基調とする