がちゃがちゃエントリ用
JavaScript 更新
何を更新したかという話をしておきます。
Mac OS X 10.3.4 の Safari 1.2.2 (v125.8) を起動して直ぐにがちゃがちゃすると、表示されるページとその順序が一定になってしまいます。これを解消しました。
GachaGachaEntry.js ではジャンプ先のエントリを選定するのに乱数というのを使っています。こんな具合です。
var entryUUID = entryUUIDsList[Math.floor(Math.random() * entryUUIDsList.length)];
この
Math.random() の部分は JavaScript 組み込みの機能で、ここで乱数を発生させるんです。
それで、結果として同じ順序でページが出てくるということはこの Math.random() が起動から同じ順序で数を返してきているということなのです。乱数を発生させるアルゴリズムっていうのがあって、乱数の種が何であるかでどんな数がどんな順序で出てくるか決まります。種が同じであればいつも同じというわけです。ですから Safari はこの乱数の種がいつも同じなんですね。
それじゃあっていうんで、がちゃがちゃしたときの時刻から秒数をとってきて、それだけ分無駄に乱数を発生させた後にエントリを選択するようにしました。何秒にがちゃがちゃするかはこれはもう人それぞれですし、仮に同じ秒数に別な人ががちゃがちゃしても、60 分の 1 の確率で次は違ってくるはずです(正確にはそうじゃないけど)。
といわけで、Math.random() がどんなにへっぽこでも毎回 60 個の分岐があれば乱数らしくなるでしょ、という更新をしました。
Posted: 12:29
|
Comment
|
Trackback
以下、類似エントリです。