In Reporter::reportPosition(),
boardLineBeginning = boardIt + 1;
reportLineBeginning = reportIt + 1;
crashes my debug build, since the "+ 1" is meant to skip the '\n' character,
but the report doesn't have a '\n' at the very end.
This change seems to fix it for me:
// skip '\n'
if ( boardIt != boardEnd )
boardLineBeginning = boardIt + 1;
// skip '\n'
if ( reportIt != reportEnd )
reportLineBeginning = reportIt + 1;
Also... When I ask "Championship Player" for a full report, I get a crash. I
changed this code:
void Simulator::moveConsideredMovesToBeginning(MoveList &moves) const
{
for (MoveList::const_iterator consideredIt = m_consideredMoves.begin();
consideredIt != m_consideredMoves.end(); ++consideredIt)
{
for (int i = 0; i < (int) moves.size(); ++i)
{
if (*consideredIt == moves[i])
{
moves.erase(moves.begin()+i);
moves.insert(moves.begin(), *consideredIt);
}
}
}
}
FWIW, I'm using Windows XP
Tom Sirgedas