I want to make chess engine wait few seconds before duing a move but when i’m trying to add sleep before it doing a move it stops the timer until sleep is done. I also tried putting time in engine.searchTime(1000) but it also stops the timer.
// make engine move
function makeMove() {
function sleep(delay) {
var start = new Date().getTime();
while (new Date().getTime() < start + delay);
}
// make computer move
setTimeout(function() {
let bestMove = engine.searchTime(1000); // search 1s
engine.makeMove(bestMove);
let fen = engine.generateFen();
sleep(3000);
board.position(fen);
}, 300);
}
Timer from w3
// Set the date we're counting down to
var countDownDate = new Date("Jan 25, 2022 15:37:25").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get today's date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);