実数値から個体値を求めるらしい

普通に計算できると嬉しいねってあれ。

$a\in\mathbb{Z}$、$x,p\in\mathbb{R}$、$q\in\mathbb{R}_{>0}$とする。無駄な設定になってるのは気にしてはいけない$$\big[\big[x\times p\big]\times q\big]=a\iff a\leq\big[x\times p\big]\times q<a+1
\\\iff\frac{a}{q}\leq\big[x\times p\big]<\frac{a+1}{q}$$ここから更に$x$にかかったガウス記号を外したい。
$$\frac{a}{q}\leq\big[x\times p\big]\iff\left\{\begin{array}{l}
\frac{a}{q}\leq\big[x\times p\big]\iff\frac{a}{q}\leq x\times p\ \big(\frac{a}{q}\in\mathbb{Z}\big)
\\\big[\frac{a}{q}\big]+1\leq\big[x\times p\big]\iff\big[\frac{a}{q}\big]+1\leq x\times p\ \big(\frac{a}{q}\not\in\mathbb{Z}\big)
\end{array}\right.
\\\big[x\times p\big]<\frac{a+1}{q}\iff\left\{\begin{array}{l}
\big[x\times p\big]\leq\frac{a+1}{q}-1\iff x\times p<\frac{a+1}{q}\ \big(\frac{a+1}{q}\in\mathbb{Z}\big)
\\\big[x\times p\big]\leq\big[\frac{a+1}{q}\big]\iff x\times p<\big[\frac{a+1}{q}\big]+1\ \big(\frac{a+1}{q}\not\in\mathbb{Z}\big)
\end{array}\right.$$
あとは頑張って実装してください(投げ遣り
計算間違ってないよね…
一応場合分けしてるけど場合分けなしでの実装もできます。
あ、最後に個体値範囲(0-31)との共通部分とるのを忘れずに。
 

ポケトレ多連鎖乱数用ツール更新

更新。
http://www1.axfc.net/u/3332237?key=rensa
または
Yahoo!ボックス

Microsoft .NET Framework 4をインストールする必要あり。
バグ報告とかはコメントでお願いします。

更新したといいつつまだVer0.1です、はい。

●更新内容
・40連鎖で死亡するクソ仕様バグを修正
・移動に伴い草マップも移動するよう更新
 ちゃんとは確認してないから恐ろしい挙動出るかも。
 大丈夫だと思います。多分。

これで安心して多連鎖できるね!そんな訳あるか

乱数講座

9/7に京都大学で行われる乱数講座に参加します!
詳しくはこちら
私も何故か講師として何かしらやると思います。

良ければ参加してみて下さいな。

バトルステージでのフリーズバグについて

調べてたら稀にフリーズする条件らしきものが判明したのでその解説らしきものをば。
条件が特殊なのもあって報告数は多くはないようだけれど。
バトルステージ乱数の仕組みについてはこちら
らしきものなので実際この処理で行っているかは保証しません。


バトルステージでは基本的に同じ周でポケモンが重複しないように選ばれるが、出得るポケモンの種類は十分には多くないのでランク選択と出されたポケモンによっては重複せずに選ぶことができないことがある。
その場合、周内での重複を考慮せずに(プレイヤーと同じポケモンは出ないまま)ポケモンが選ばれる。
この重複なしでは選べないかの判定方法だが、出されるポケモンの決定方法が「最初に選ばれた番号から順番に範囲内で該当するまで調べる」という方法を採用している為か、最初に選ばれた番号に戻ってきたらそのように判定するという方法になっているよう。
これ自体にはバグの温床になり得る以外の問題はないのだが、バトルステージ乱数概要でも述べたがこの順番に調べる範囲の一番最後が欠けているのにも関わらず、最初に選ばれる番号はその欠けた最後になることもあるという不思議仕様となっている。
そのせいで最初にその欠けた一番最後の番号が選ばれた場合、範囲内をいくら調べても最初に選ばれた番号には最初以外調べられず、出得るポケモンが全て重複していると範囲内を1周してもループを抜けるための判定が行われないため延々とその範囲内を調べることになり処理が終わらなくなる。
というのがおそらくフリーズ現象の原因と思しきもの。

一応それっぽい図を下に載せておいたので参考程度にどうぞ。

BattleHall


意図的にやってみたい人(いるかはわからないけど)のために再現できるシード等の例をいくつか載せておく。
いずれも周の始め、ランクも最初からの前提。

・計算開始シード:0x000000A3
ドラゴンを最初から8連続で選択。
連打でいける。
7戦目までに出てくるタツベイ/フカマル/ハクリュー/ビブラーバ/コモルー/ガバイト/チルタリス以外を使用すること。

・計算開始シード:0x001B9E97
最初からエスパー→エスパー→はがね→はがね、と選択。
コイルを使用すること。
最短対戦数で実現できるものの1つ。


尚、これをしてもし何か不具合が起きたとかあっても私には責任は負いかねるのでそのつもりで。
多分ループしてるだけだし大丈夫な気はするけど。

ポケトレ多連鎖乱数用ツール

最新版(Ver0.1)はこちら。
http://blog.livedoor.jp/x_x_saki_x_x/archives/54963120.html



今更ながら本格的に作り始めました。
しかしながらVer0.0という。
http://www1.axfc.net/u/3275962?key=rensa

Microsoft .NET Framework 4をインストールする必要あり。
バグ報告とかはコメントでお願いします。
 
草の有無は履歴に反映されない仕様になってます。
40連鎖以降の閾値上限設定し忘れたので40連鎖でしにます。


仕様確認していない部分もあるのでどっか間違えてるかも。
使い方はまあ、そのうち書くかも。多分。 

プロフィール
さき

ポケモンの乱数調整とかツールとか。サンムーン乱数調整できました。
Twitter→@water_blow

広告
最新コメント
記事検索