パワポケ乱数値とオート命名の名前の関係

今回は大分短い記事になるけど、3月中旬~下旬あたりに12裏で総変+24以上の虹色の粘り方と調整法、さらにそれを見つけるために使ったプログラム、あと原理解説をする記事を上げるのでそれの準備編ということでお願いいたします。

 

さて本題。

 

パワポケシリーズでの、ゲーム内での乱数値とオート命名で出てくる名前は対応している。オート命名は全部で100個分(正確には重複があるので99「種類」)用意されている。

 

早速、原理を紹介。

 

Xを64ビットの2進数整数とするとXは0~2^64-1の整数値となる。また、M=2^64としたとき、floor(100*X/M)の値は0~99になる。

ここで、floorは床関数。ようするにX/Mで0~1の一様乱数を疑似的に作っといて、それを100倍して小数第3位以下を切り捨てするとX/Mの小数第2位が10の位、小数第2位が1の位にした値ができあがる。ここから先はこの値についてを考える。

 

オート命名の名前と上の値の対応表はこんな感じ。左が10の位、上が1の位。

 

f:id:iid01:20190221000041p:plain

パワポケ乱数とオート命名 対応表

 

 

乱数値Xの小数第2位までが0.00のときは佐藤、0.01のときは鈴木。ちなみに佐藤、鈴木の乱数の時に12裏で虹色を合成するとMPができます(次の記事で書く予定)

赤字の0.23のときと0.63のときが、何故か「斉藤」でかぶってるという奇妙な事態。(パワポケ10で確認。)パワポケシリーズではオート命名をした時に同じ名前になった場合(というよりは同じ切り捨て乱数値が続いた場合)、違う名前(というより切り捨て乱数値)になるまで再度乱数値を発生させる、という仕様になっているが、斉藤の場合は0.23と0.63で別扱い。つまり例えば0.23→0.63のときは、オート命名はスキップされずに斉藤→斉藤となる。

 

 

最初の0~9のところ、メジャーな名前多い感じ。

 

オート命名で乱数値を調べるときはとりあえずこのページを見るか表を取っておくのが便利。

 

乱数調整をオート命名で行うときも確認にいろいろ便利。

 

短いけど、それではまた。