2009.03.15
乱数について
え~
乱数は自作した方が良いかなと思っていました。
理由はリプレイで必要だからです。
仕様が同じバージョンで変わる事ってあるんですかね?
まぁ、変わられるととんでもなくリプレイずれるんで自作です。
その前に以下の画像に標準ライブラリ(System.Random)をそれぞれ255回
seedを0-横幅で初期化したとった乱数です

どうですこの見事な直線
で、改良版なのですが
C言語による最新アルゴリズム事典
のM系乱数列をそのまんまC#に持ってきただけなので割愛
(載せて良いのか微妙なので)
この本厚さの割にやすいですよね。
ところで未だにXMLの仕様が変わりまくっています
敵の行動と出現は別々にしようと思っていますが
簡単な敵は行動の所に記述できるようにした方が良いのだろうか…
この画像の生成は以下です
Random rnd;
Pen p = new Pen(Color.Red);
for (int i = 0; i < Width; i++)
{
rnd = new Random(i);
for (int j = 0; j < 256; j++)
{
p.Color = Color.FromArgb(j, 0, 0);
int n=rnd.Next(Height);
g.DrawLine(p, i, n, i, n + 1);
}
}
gは適当なGraphicsです。
あとはLockBitsとかで高速化できますが全く必要ないですね~
乱数は自作した方が良いかなと思っていました。
理由はリプレイで必要だからです。
仕様が同じバージョンで変わる事ってあるんですかね?
まぁ、変わられるととんでもなくリプレイずれるんで自作です。
その前に以下の画像に標準ライブラリ(System.Random)をそれぞれ255回
seedを0-横幅で初期化したとった乱数です

どうですこの見事な直線
で、改良版なのですが
C言語による最新アルゴリズム事典
のM系乱数列をそのまんまC#に持ってきただけなので割愛
(載せて良いのか微妙なので)
この本厚さの割にやすいですよね。
ところで未だにXMLの仕様が変わりまくっています
敵の行動と出現は別々にしようと思っていますが
簡単な敵は行動の所に記述できるようにした方が良いのだろうか…
この画像の生成は以下です
Random rnd;
Pen p = new Pen(Color.Red);
for (int i = 0; i < Width; i++)
{
rnd = new Random(i);
for (int j = 0; j < 256; j++)
{
p.Color = Color.FromArgb(j, 0, 0);
int n=rnd.Next(Height);
g.DrawLine(p, i, n, i, n + 1);
}
}
gは適当なGraphicsです。
あとはLockBitsとかで高速化できますが全く必要ないですね~
スポンサーサイト
Trackback
Comment