AronaBotの使い方 ツール一覧

AronaBotの使い方/ツール/宝探しの確率計算機

宝探しの確率計算機

開けた結果を入れると、残りのマスに何がある確率かを出します。

この周の中身を入れる

盤面

出たものを選んで、マスを押す
なにが出た?
印 0 マス
次に開けるなら
—
 
当たる確率
—
そのマスに備品がある見込み
あり得る置き方
—
いまの入力に合うもの

おすすめのマス

当たる確率が高い順

備品の型

書き換えられます。「狙う」を外すと確率に数えません
数字の出どころと、計算のしくみ

備品の名前・大きさ・個数と、当てたときにもらえるものは、イベントのデータそのままです。 DB/EventContentTreasureRoundExcelTable.json の RewardID から DB/EventContentTreasureRewardExcelTable.json を引き、 CellUnderImageWidth / CellUnderImageHeight(よこ・たて)と RewardParcelType / RewardParcelId / RewardParcelAmount(中身)を読んでいます。 名前は Item が SchaleDB の items.min.json、Equipment が equipment.min.json です。 どちらにも載っていない Id が 3 つ(85363・85373・85403。復刻イベントの通貨)あり、そこは ba-data の ItemExcelTable + LocalizeEtc の日本語名で補っています。 それでも引けないものが出たら「?(Item 85363)」のように Id ごと出します。伏せると、何が抜けたのか分からなくなるからです。

開いた直後は、選んだイベントの 1 周目が入っています。周を押せば入れ替わります。 名前・よこ・たて・個数はどれも手で書き換えられるので、データが追いついていない回でも使えます。

盤は 9 × 5 の 45 マス。備品は重ならずに置かれていて、種類ごとの個数は決まっています。ここから「条件に合う置き方」をすべて数え上げ、そのうち何通りでそのマスが備品に覆われているかを割ったものが確率です。近似やサンプリングは使っていません。

備品は 90 度回して置かれることがあります。3×1 の備品なら、横 3 マスだけでなく縦 3 マスの向きもあり得るということです。これを数に入れているので、見た目より確率が下がることがあります。たとえば横 3 マスの備品を左端の 2 マスぶん見つけたとき、「その右隣も必ず同じ備品」とは限りません。縦向きの別の備品が 2 つ並んでいることもあるからです。 terry-u16 の在庫管理計算機も、置き方を「回した/回していない」の 2 通りで数えています。

置いてある前提。置き方はあり得る全通りから一様に選ばれていて、開ける前に決まっており、あとから変わらない。この 3 つを仮定しています。決まった型(絶対に出ない配置)があると、ここで出す数字はずれます。

数え上げのやり方。盤を左の列から順に見ていき、各行について「いまの列から先、あと何マスぶん埋まっているか」だけを持ち歩きます。前向きの数え上げと後ろ向きの数え上げを掛け合わせると、1 マスごとの確率が厳密に出ます。1 周目(タツノオトシゴ 4・海藻 3・ウニ 1)なら、置き方は 175,761,438 通りあります。

備品の大きさと個数は、ゲームのデータから毎日作り直しています。 DB/EventContentTreasureRoundExcelTable.json の RewardID と RewardAmount が周ごとの中身、 DB/EventContentTreasureRewardExcelTable.json の CellUnderImageWidth / CellUnderImageHeight が備品の大きさ、 TreasureRoundSize が盤の大きさです。備品の名前は LocalizeCodeID を XXHash32(seed 0)にかけて DB/LocalizeExcelTable.json の Key と突き合わせて引いています。新しいイベントが来れば、翌日には選べるようになります。

2026-08-30 まではここに DIVE into OCEAN!の 13 周ぶんを手で書いていました。 terry-u16/schale-inventory-management(MIT ライセンス)の src/components/MainArea.tsx から写したものです。データから作り直した値と 1 つ残らず一致しました。「周目」という呼び方も、ゲーム側の列名 TreasureRound と、同じリポジトリの日本語ロケール(1周目〜13周目以降)に合わせています。解き方は同じ考え方の DP ですが、こちらは通り数がいくつでも厳密な値を出します。

過去のイベントもぜんぶ選べます。在庫管理のミニゲームは名前と大きさを変えて何度も来ていて、今のところ 12 回ぶんが入っています。載っていないものでも、備品は毎回 3 種類なので、上の欄を書き換えればそのまま使えます。

備品そのものの絵は出していません。データが指す絵 (CellUnderImagePath)はゲーム内アセットで、ここが使ってよい 出どころ(SchaleDB・ba-data)に実体がありませんでした。 代わりに、当てるともらえるもののアイコンを SchaleDB から出しています。

出典 — electricgoat/ba-data(周ごとの中身・備品の大きさ・名前)、SchaleDB(イベント名・報酬のアイコン)。取得は —。