update
[xogo.git] / variants / Dice / class.js
index 02e4f6d..1bb6f1f 100644 (file)
@@ -54,20 +54,47 @@ export default class DiceRules extends ChessRules {
     this.afterPlay = (move_s, newTurn, ops) => {
       // Movestack contains only one move:
       move_s[0].toplay = this.getRandomPiece(this.turn);
-      super.displayMessage(
-        this.message, "To play: " + move_s[0].toplay.toUpperCase());
+      this.toplay = move_s[0].toplay;
+      this.displayMessage(move_s[0].toplay,
+                          C.GetOppTurn(move_s[0].appear[0].c));
       o.afterPlay(move_s, newTurn, ops);
     };
   }
 
+  static get PieceToUnicode() {
+    return {
+      'K': "♔",
+      'Q': "♕",
+      'R': "♖",
+      'B': "♗",
+      'N': "♘",
+      'P': "♙",
+      'k': "♚",
+      'q': "♛",
+      'r': "♜",
+      'b': "♝",
+      'n': "♞",
+      'p': "♟"
+    };
+  }
+
+  displayMessage(piece, color) {
+    if (color == 'w')
+      piece = piece.toUpperCase();
+    super.displayMessage(this.message,
+      '<span>to play:</span> ' +
+      '<span class="symb">' + V.PieceToUnicode[piece] + '</span>'
+    );
+  }
+
   setOtherVariables(fenParsed) {
     super.setOtherVariables(fenParsed);
     this.toplay = fenParsed.toplay;
     this.message = document.createElement("div");
     C.AddClass_es(this.message, "piece-text");
-    this.message.innerHTML = "To play: " + this.toplay.toUpperCase();
     let container = document.getElementById(this.containerId);
     container.appendChild(this.message);
+    this.displayMessage(this.toplay, fenParsed.turn);
   }
 
   getRandomPiece(color) {
@@ -102,8 +129,7 @@ export default class DiceRules extends ChessRules {
 
   playReceivedMove(moves, callback) {
     this.toplay = moves[0].toplay; //only one move
-    super.displayMessage(
-      this.message, "To play: " + this.toplay.toUpperCase());
+    this.displayMessage(this.toplay, C.GetOppTurn(moves[0].appear[0].c));
     super.playReceivedMove(moves, callback);
   }