Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Dice.js
index 1b84be4..2e98776 100644 (file)
@@ -2,6 +2,7 @@ import { ChessRules, Move } from "@/base_rules";
 import { randInt } from "@/utils/alea";
 
 export class DiceRules extends ChessRules {
+
   static get CanAnalyze() {
     return false;
   }
@@ -25,7 +26,7 @@ export class DiceRules extends ChessRules {
     return super.getFen() + " " + this.getToplayFen();
   }
 
-  getFen() {
+  getFenForRepeat() {
     return super.getFenForRepeat() + "_" + this.getToplayFen();
   }
 
@@ -34,8 +35,8 @@ export class DiceRules extends ChessRules {
     return (L > 0 ? this.p2play[L-1] : "-");
   }
 
-  static GenRandInitFen(randomness) {
-    return ChessRules.GenRandInitFen(randomness) + " -";
+  static GenRandInitFen(options) {
+    return ChessRules.GenRandInitFen(options) + " -";
   }
 
   canMove(piece, color, [x, y]) {
@@ -135,7 +136,7 @@ export class DiceRules extends ChessRules {
       V.PlayOnBoard(this.board, m);
       const [piece, square] = this.getRandPiece(oppCol);
       m.start.toplay = square;
-      m.end.piece = piece;
+      m.end.p = piece;
       V.UndoOnBoard(this.board, m);
     });
     return moves;
@@ -156,7 +157,7 @@ export class DiceRules extends ChessRules {
   }
 
   postPlay(move) {
-    this.p2play.push(move.end.piece);
+    this.p2play.push(move.end.p);
     if (move.vanish.length == 2 && move.vanish[1].p == V.KING)
       this.kingPos[move.vanish[1].c] = [-1, -1];
     // Castle flags for captured king won't be updated (not important...)
@@ -175,6 +176,7 @@ export class DiceRules extends ChessRules {
   }
 
   getNotation(move) {
-    return super.getNotation(move) + "/" + move.end.piece.toUpperCase();
+    return super.getNotation(move) + "/" + move.end.p.toUpperCase();
   }
+
 };