goo

新バージョンの壊リス壊の乱数を変えました。

新バージョンの壊リス壊の乱数をよりよいものに変えました。
今回採用したのは、TinyMT という擬似乱数生成器です。
ActionScript 3.0用のものがなかったので、C言語用のものを移植させて頂きました。

[AS3.0版 TinyMT]
こちら に .swc化して置いておきました。
Math.random()の代わりに使うのであれば、Tiny.random()を呼んでください。
宣言して使う場合は、TinyMTクラスを使ってください。
その場合、シード1つ または パラメーターを4つ指定してください。

Math.random()とは違って、パラメータを取り出したり設定できたりします。
TinyMT本家の仕様通り、乱数の周期は 2^127-1(2の127乗-1)です。
また、単純な移植のため、SFMT (AS3.0版) よりも重いかもしれません。
28バイトのパラメータしか持たないので、NET対戦ゲームでの使用に向いています。


[これでどう変わる?]
この改変によって、対戦の最初に初期状態をしっかり同期すれば、
対戦でキーの操作だけを交換するだけで相手の状態が再現可能になりました。

また、中断セーブが乱数まで保存するようになります。
作成される操作ブロックが再現され、再開時の対策もしやすくなります。
しかし、中断セーブ経由でのゲームオーバー回避が難しくなると思います。

他にも、内部構造を新しい対戦仕様に向けて最適化中です。
コメント ( 0 ) | Trackback ( 0 )