Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Vchess.js
index 4e84eb0..fc43372 100644 (file)
@@ -1,6 +1,7 @@
 import { ChessRules } from "@/base_rules";
 
 export class VchessRules extends ChessRules {
+
   static get PawnSpecs() {
     return Object.assign(
       {},
@@ -9,9 +10,24 @@ export class VchessRules extends ChessRules {
     );
   }
 
+  isAttackedByPawn(sq, color) {
+    return this.isAttackedBySlideNJump(
+      sq, color, V.PAWN, V.steps[V.BISHOP], 1);
+  }
+
   getNotation(move) {
     let notation = super.getNotation(move);
-    // TODO: if capture backwards, add an indication 'b'
+    // If pawn captures backward, add an indication 'b'
+    if (
+      move.appear[0].p == V.PAWN &&
+      (
+        (move.appear[0].c == 'w' && (move.end.x - move.start.x > 0)) ||
+        (move.appear[0].c == 'b' && (move.end.x - move.start.x < 0))
+      )
+    ) {
+      notation += 'b';
+    }
     return notation;
   }
+
 };