From ac4e2cabce7a0faeceaa646d31721161bd4a8cf4 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Fri, 1 Jan 2021 03:16:23 +0100 Subject: [PATCH] Janggi: fix computer initial setup move --- client/src/variants/Janggi.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/client/src/variants/Janggi.js b/client/src/variants/Janggi.js index 98660a4b..895e23ff 100644 --- a/client/src/variants/Janggi.js +++ b/client/src/variants/Janggi.js @@ -1,4 +1,5 @@ import { ChessRules, Move, PiPo } from "@/base_rules"; +import { randInt } from "@/utils/alea"; export class JanggiRules extends ChessRules { @@ -590,6 +591,24 @@ export class JanggiRules extends ChessRules { if (move.vanish.length > 0) super.postUndo(move); } + getComputerMove() { + if (this.movesCount <= 1) { + // Special case: swap and pass at random + const moves1 = this.getAllValidMoves(); + const m1 = moves1[randInt(moves1.length)]; + this.play(m1); + if (m1.vanish.length == 0) { + this.undo(m1); + return m1; + } + const moves2 = this.getAllValidMoves(); + const m2 = moves2[randInt(moves2.length)]; + this.undo(m1); + return [m1, m2]; + } + return super.getComputerMove(); + } + getNotation(move) { if (move.vanish.length == 0) return "pass"; if (move.appear.length == 2) return "S"; //"swap" -- 2.44.0