わどるDAILY

あなたは999999999999人目のビジターです!

カービィ3の乱数

適当に分かったことをまとめるだけです。
よって文章の整備とかも特にしてません。

アドレス

CARTRAMの0x6046から2バイトが乱数のIDの役目を果たします。
ひとつ乱数を消費する毎に1増えて、1023に達したら0に戻ります。
この乱数IDによってランダムな行動が決定されます。
つまり同じ乱数IDからは同じ結果が返ってくるということです。
ループの短さから乱数テーブルがROMのどこかに格納されてると考えられますが、未調査です。

ランダムな行動

今のところ判明してるものだけ。

着地星

カービィやグーイの着地時に出る星の方向。
乱数が1つ消費されます。細かい調整がしやすい。

すいこみ

カービィのすいこみ時の空気の流れ。
コピーありで進むことが多いのであまり意味はない。

CPグーイの動き

グーイがCP操作になってる時のランダムな行動。

敵の動き

一部の敵の動き。そんなに対応する敵がいない。

カサカサ虫

黒い小さな虫。(タチカビでの呼称)
1F毎に乱数を1消費する。
白い方は乱数を消費しない。

蝶・綿毛

触れると飛び立つモノ。
飛び立ってる間は常に乱数を消費。だけど毎Fではない。

ミニゲーム

ミニゲームの出題時に乱数を消費。
消費の仕方はミニゲーム毎に異なる。
また、回答中は1F毎に乱数を1消費。

ゴールゲーム

ゴールのアイテム配置時にいくつかの乱数を消費。
ジャンプ待機時間もランダム。

選択画面全般

タイトル画面・ファイル選択画面・レベル選択画面・ステージ選択画面・サブゲームタイトル画面の全てで1F毎に乱数を1消費する。

何に使うの

主にゴールゲームのジャンプ待機時間の調整に使います。
乱数によって待機時間が0F〜15Fの範囲で変わります。
現行TASでも着地点にばらつきがあったのはこれが原因だったり。
最速で跳ぶと手前から4ブロック目に着地します。

あとはミニゲームの乱数調整です。
多分TASで使うのはこのくらいだと思います。