![[PukiWiki] [PukiWiki]](image/pukiwiki.png) 
 本格的なゲームを作るにはランダム関数(乱数)が必要不可欠です。乱数といっても大まかに3種類に分類されていると思って構わないと思います。使い分けをすることによってゲーム全体の裏ハッタリ度がアップすることを願っています。
メルセンヌ・ツイスタ法の使用方法を以下に表します。基本的に中身には一切ふれず、関数の呼び出し名、引数の変更をしました。使用するときはライセンスの確認を怠らないでください。シード値はデフォルトで使用されている5489UL、テストの内容は0x0~0xfまでの値をひたすら生成してカウントアップさせています。
int main(void)
{
	REG_WSCNT = 0x4317;
	BgInit();
	IrqInit();
	RndInit(5489UL);
	KeyInit();
	char str[32];
	u32 num[0x10];
	_Memset(&num, 0x00, sizeof(num));
	for(;;)
	{
//		VBlankIntrWait();
		KeyExec();
		// Stop
		if(KeyGetCnt() & KEY_A)
		{
			continue;
		}
		num[RndU32() & 0xf]++;
		for(s32 i=0; i<0x10; i++)
		{
			_Sprintf(str, "0x%x:%d", i, num[i]);
			BgAsciiDrawStr(0, i, str);
		}
	}
}