흠.. 어떻게 할까 고민하다가 iterator를 쓰기로 했다.
[ more.. | less.. ]
typedef pair<int, int> MYPOINT; typedef map<MYPOINT, vector<MYPOINT> > MOVEDATA;
MOVEDATA m_OneMove;
BOOL SetOneMove() { if ( m_OneMove.empty() ) return FALSE; MOVEDATA::iterator imap = m_OneMove.begin(); int RanOneMove = random( m_OneMove.size() ); for ( int i = 0; i < RanOneMove; ++i ) ++imap; RanOneMove = random( imap->second.size() ); m_BestFirst = *( imap->second.begin()+RanOneMove ); m_BestSecond = imap->first; return TRUE; }