GoBoard board = (GoBoard) searchable_.getBoard();
MoveList moveList = new MoveList();
int nCols = board.getNumCols();
int nRows = board.getNumRows();
CandidateMoveAnalyzer candidateMoves = new CandidateMoveAnalyzer(board);
boolean player1 = (lastMove == null) || !lastMove.isPlayer1();
int lastMoveValue = (lastMove== null) ? 0 : lastMove.getValue();
for (int i = 1; i <= nCols; i++ ) {
for (int j = 1; j <= nRows; j++ ) {
// if its a candidate move and not an immediate take-back (which would break the rule of ko)
if ( candidateMoves.isCandidateMove( j, i ) && !isTakeBack( j, i, (GoMove) lastMove, board ) ) {
GoMove m = new GoMove( new ByteLocation(j, i), lastMoveValue, new GoStone(player1) );
if ( m.isSuicidal(board) ) {
GameContext.log(3, "The move was a suicide (can't add it to the list): " + m);
}