Monochrome: show first turn indication
authorBenjamin Auder <benjamin.auder@somewhere>
Wed, 15 Apr 2020 16:36:54 +0000 (18:36 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Wed, 15 Apr 2020 16:36:54 +0000 (18:36 +0200)
client/src/base_rules.js
client/src/components/BaseGame.vue
client/src/variants/Monochrome.js

index a0e64bd..53001f6 100644 (file)
@@ -80,6 +80,11 @@ export const ChessRules = class ChessRules {
     return V.ShowMoves;
   }
 
+  // Used for Monochrome variant (TODO: harmonize: !canFlip ==> showFirstTurn)
+  get showFirstTurn() {
+    return false;
+  }
+
   // Some variants always show the same orientation
   static get CanFlip() {
     return true;
index 8a05376..62fae75 100644 (file)
@@ -105,7 +105,7 @@ export default {
         return this.st.tr[
           (this.vr.turn == 'w' ? "White" : "Black") + " to move"];
       }
-      // Cannot flip: racing king or circular chess
+      // Cannot flip (racing king or circular chess), or Monochrome
       return (
         this.vr.movesCount == 0 && this.game.mycolor == "w"
           ? this.st.tr["It's your turn!"]
@@ -128,7 +128,12 @@ export default {
     showTurn: function() {
       return (
         this.game.score == '*' &&
-        !!this.vr && (this.vr.showMoves != "all" || !this.vr.canFlip)
+        !!this.vr &&
+        (
+          this.vr.showMoves != "all" ||
+          !this.vr.canFlip ||
+          this.vr.showFirstTurn
+        )
       );
     },
     canAnalyze: function() {
index 7264775..5bd2ce0 100644 (file)
@@ -6,6 +6,10 @@ export class MonochromeRules extends ChessRules {
     return false;
   }
 
+  get showFirstTurn() {
+    return true;
+  }
+
   static IsGoodPosition(position) {
     if (position.length == 0) return false;
     const rows = position.split("/");