NDS で Blackbox をつくってみた.

Blackboxは, 外から当てたレーザーの軌道から, 中にあるミラーの配置を推理するゲーム.

未だマジコン未入手のため, エミュレータ(NO$GBA, DeSmuME)でのみ動作確認.

ビットマップの表示, キー入力のサンプルも兼ねる.

ビットマップを表示させるには,

  1. ビデオモードを5 (Extend mode)に設定し, BG2 (かBG3)をアクティブにする.
  2. vramSetBankA などで VRAMにスクリーンの画素を関連付ける.
  3. アクティブにしたBG2の各属性(Rotation, Zoom, Size, Color)を設定する.(SetBackground関数内)
  4. BG_BMP_RAM(0)の各アドレスに順次色をセットしていく.

Blackbox本体はMagic Numberが多くて気持ち悪いけれど, 表示の試行錯誤の断片. ネーミングセンスの持ち合わせはない..

マクロは, CELL_X,CELL_Yが縦横のセル数. WIDTH, HEIGHTは縦横のピクセル数. ミラーは格子の交点に置かれていて, 一番外の格子には置かれないということで, (CELL_X-3)*(CELL_Y-3)がミラーの置き場所の個数になる.

ソース:NDS_Blackbox.zip (展開後, 一番上で make)