#include <boost/random.hpp> boost::mt19937 rng; const double angle = boost::uniform_real<double>(0, 2.0*M_PI)(rng); //[rad] const double speed = boost::uniform_real<double>(0, 4.0)(rng); //[pixel/frame] const int lifetime = boost::uniform_int<int>(60, 120)(rng); //[frame]
rng()で取り出した値をそのまま自分で加工してもOK。
テンプレート引数はuniform_realだとdouble、uniform_intだとintがデフォルトなので省略可能。省略すると初見の人には分かりづらいけど。
rng内の状態を取り出して保存するのがちょっと難しい。