- 433 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 18:55:55.91 ]
- sortに渡す比較関数に乱数をもたせる
class CompSpeed { public: CompSpeed(unsigned long seed) : mRandom(seed) { } bool operator () (Chara const & lhs, Chara const & rhs) const { if(lsh.speed == rhs.speed) { return mRandom() % 2; } // 同じなら1/2で真、1/2で偽 else { lhs.speed > rhs.speed; } // それ以外はスピードで大なり比較 } private: Random mRandom; }; sort(characters.begin(), characters.end(), CompSpeed(GetTime()) ;
|

|