feat : add engines choices

This commit is contained in:
GuillaumeSD
2024-04-14 04:07:18 +02:00
parent 56b267762e
commit 1546709452
20 changed files with 172 additions and 37 deletions

View File

@@ -1,3 +1,4 @@
import { Stockfish11 } from "@/lib/engine/stockfish11";
import { Stockfish16 } from "@/lib/engine/stockfish16";
import { UciEngine } from "@/lib/engine/uciEngine";
import { EngineName } from "@/types/enums";
@@ -9,6 +10,10 @@ export const useEngine = (engineName: EngineName | undefined) => {
useEffect(() => {
if (!engineName) return;
if (engineName.includes("stockfish_16") && !Stockfish16.isSupported()) {
return;
}
const engine = pickEngine(engineName);
engine.init().then(() => {
setEngine(engine);
@@ -25,6 +30,12 @@ export const useEngine = (engineName: EngineName | undefined) => {
const pickEngine = (engine: EngineName): UciEngine => {
switch (engine) {
case EngineName.Stockfish16:
return new Stockfish16();
return new Stockfish16(false);
case EngineName.Stockfish16NNUE:
return new Stockfish16(true);
case EngineName.Stockfish11:
return new Stockfish11();
default:
throw new Error(`Engine ${engine} does not exist ?!`);
}
};