Срабатывание брейкбоинта зависит от... console.log?
Я пишу шахматного бота, и столкнулся с такой штукой. Я ставлю условный брейктпоинт, что переменная должна быть равна определённому значению.
Этот брейкпойнт не срабатывает (браузер - Chrome). Однако если я перед этой строчкой ставлю console.log(*та самая переменная*), то брейкпойнт срабатывает! В коде ниже я ставлю брейкпойнт 'firstMove === "Qd7"' на строчке номер 10. Он срабатывает. Но если убрать console.log(firstMove) на строчке номер 9, то кондициональный брейкпойнт срабатывать перестаёт! В чём причина? Фрагмент кода: moves.last().every( firstMove=>{ makeAMove(firstMove); positions.push(game.fen()); worstPositionValuations.push(-Infinity); moves.push(game.moves()); moves.last().every( secondMove=> { console.log(firstMove); makeAMove(secondMove); positions.push(game.fen()); worstPositionValuations.push(Infinity); moves.push(game.moves()); moves.last().every( thirdMove => { makeAMove(thirdMove); positions.push(game.fen()); positionValuation = position_valuation(positions.last()); if (worstPositionValuations.last() > positionValuation) { worstPositionValuations.last(positionValuation); } positions.pop(); goToPosition(positions.last()); return true; } ); moves.pop(); if (worstPositionValuations[worstPositionValuations.length - 2] < worstPositionValuations.last()) { worstPositionValuations[worstPositionValuations.length - 2] = worstPositionValuations.last(); } worstPositionValuations.pop(); positions.pop(); goToPosition(positions.last()); return true; } ); moves.pop(); positions.pop(); goToPosition(positions.last()); if(worstPositionValuations.last() < initialPositionValuation){ moveToMake = firstMove; return false; } worstPositionValuations.pop(); return true; } ); |
Часовой пояс GMT +3, время: 19:46. |