1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | public struct Well512 { static uint[] state = new uint[16]; static uint index = 0; static Well512() { for(int i=0;i<16;i++) { //์คํ
์ดํธ ์์ ๋ค์ด๊ฐ๋ ๊ฐ๋ค์ด ์ผ์ข
์ ์๋ ์ญํ ์ ํด์ค. ์ด ๊ฐ๋ค์ด ๋์ผํ๋ฉด ํญ์ ๋์ผํ ๋๋ค๊ฐ์ด ๋์ด state[i] = (uint)Random.Range(10,10000); } } public static uint Next(int minValue, int maxValue) { return (uint)((Next() % (maxValue - minValue)) + minValue); } public static uint Next(uint maxValue) { return Next() % maxValue; } public static uint Next() { uint a, b, c, d; a = state[index]; c = state[(index + 13) & 15]; b = a ^ c ^ (a << 16) ^ (c << 15); c = state[(index + 9) & 15]; c ^= (c >> 11); a = state[index] = b ^ c; d = a ^ ((a << 5) & 0xda442d24U); index = (index + 15) & 15; a = state[index]; state[index] = a ^ b ^ d ^ (a << 2) ^ (b << 18) ^ (c << 28); return state[index]; } } | cs |
๊ธฐ์กด rand๋ณด๋ค 5.6๋ฐฐ ๋น ๋ฅด๊ณ ํจ์ฌ ๋ง์ด ๊ณ ๋ฅด๊ฒ ๋ถํฌ๋๋ ์๊ณ ๋ฆฌ์ฆ์. ๊ถ๊ธํ๋ฉด ๋ฉ๋ฅด์ผ ํธ์์คํฐ๋ well512 ๊ฒ์ํด๋ด
์ข์์๋ฃ ๊ณ ๋ง์
https://www.sysnet.pe.kr/2/0/1264
์ฌ๊ธฐ ์์ธํ ๋์์๊ตฌ๋จผ... c#์์๋ ๋ณ ์ฐจ์ด์๋ค๊ณ ํ๋๋ฐ ํ ...
C++๊น์ง๋ ์ ์ญ์ด๋ผ ๊ด๋ฆฌ๊ฐ ํ๋ค์๊ณ C#์ ์ง์ญ์ด๋ผ ์ฑ๋ฅ์ฐจ ๋นผ๋ฉด ์๋ฏธ๊ฐ ์๋ค๋ ๋ป์ธ๊ฑฐ๊ฐ์. ๋ ๋ถํฌ๋๊ฐ ๋ ์ข๋ค๊ธธ๋ ์ ๊ฑธ ์ธ๋ฏ
https://gamedevforever.com/114
์ฌ๊ธด ๋ถํฌ๋๋ ๋์์๋ค
ํ๋ฆฌ์ฝ๋ค ์๋ฎฌ๋ ์ดํฐ ๋ง๋ค๋ ์ผ๋๊ฑฐ๋ค
์ฌ๋ฐ๋ค ์ด๋ฐ๊ฑฐ