X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FRococo.js;h=f075fe84f31f7effd5e0dffdd52ca32f9e7fddc8;hb=93ce6119a67b8510762dd68a07936b6f22f2ad67;hp=8489ae903248e725bf7ede90bc5bd517860b26b2;hpb=2f8dce6a81063289d9d4cbca7971f80b1b194b84;p=vchess.git diff --git a/client/src/variants/Rococo.js b/client/src/variants/Rococo.js index 8489ae90..f075fe84 100644 --- a/client/src/variants/Rococo.js +++ b/client/src/variants/Rococo.js @@ -131,8 +131,9 @@ export class RococoRules extends ChessRules { getPotentialMovesFrom([x, y]) { // Pre-check: is thing on this square immobilized? const imSq = this.isImmobilized([x, y]); - if (!!imSq) { - // Only option is suicide: + const piece = this.getPiece(x, y); + if (!!imSq && piece != V.KING) { + // Only option is suicide, if I'm not a king: return [ new Move({ start: { x: x, y: y }, @@ -150,7 +151,7 @@ export class RococoRules extends ChessRules { ]; } let moves = []; - switch (this.getPiece(x, y)) { + switch (piece) { case V.IMMOBILIZER: moves = this.getPotentialImmobilizerMoves([x, y]); break; @@ -623,7 +624,7 @@ export class RococoRules extends ChessRules { static GenRandInitFen(randomness) { if (randomness == 0) { return ( - "91/1rnbkqbnm1/1pppppppp1/91/91/91/91/1PPPPPPPP1/1MNBQKBNR1/91 w 0 -" + "91/1rqnbknqm1/1pppppppp1/91/91/91/91/1PPPPPPPP1/1MQNBKNQR1/91 w 0 -" ); }