From b07a8e14c17b25428fbde4f70dff54139f123e8a Mon Sep 17 00:00:00 2001 From: GuillaumeSD Date: Sat, 17 May 2025 15:14:44 +0200 Subject: [PATCH] feat : add minimum delay to engine next move in /play --- src/lib/helpers.ts | 3 +++ src/sections/play/board.tsx | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/lib/helpers.ts b/src/lib/helpers.ts index 39d59c8..f5d6864 100644 --- a/src/lib/helpers.ts +++ b/src/lib/helpers.ts @@ -13,3 +13,6 @@ export const isInViewport = (element: HTMLElement) => { rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) ); }; + +export const sleep = (ms: number) => + new Promise((resolve) => setTimeout(resolve, ms)); diff --git a/src/sections/play/board.tsx b/src/sections/play/board.tsx index 5f35da0..209a543 100644 --- a/src/sections/play/board.tsx +++ b/src/sections/play/board.tsx @@ -15,6 +15,7 @@ import { uciMoveParams } from "@/lib/chess"; import Board from "@/components/board"; import { useGameData } from "@/hooks/useGameData"; import { usePlayersData } from "@/hooks/usePlayersData"; +import { sleep } from "@/lib/helpers"; export default function BoardContainer() { const screenSize = useScreenSize(); @@ -40,7 +41,11 @@ export default function BoardContainer() { ) { return; } + + const timePromise = sleep(1000); const move = await engine.getEngineNextMove(gameFen, engineElo); + await timePromise; + if (move) playMove(uciMoveParams(move)); }; playEngineMove();