- isAttackedByPawn([x, y], colors) {
- const pawnShift = 1;
- const attackerRow = V.ComputeX(x + pawnShift);
- for (let c of colors) {
- for (let i of [-1, 1]) {
- if (
- y + i >= 0 &&
- y + i < V.size.y &&
- this.getPiece(attackerRow, y + i) == V.PAWN &&
- this.getColor(attackerRow, y + i) == c
- ) {
- return true;
- }
+ isAttackedByPawn([x, y], color) {
+ // pawn shift is always 1 (all pawns go the same way)
+ const attackerRow = V.ComputeX(x + 1);
+ for (let i of [-1, 1]) {
+ if (
+ y + i >= 0 &&
+ y + i < V.size.y &&
+ this.getPiece(attackerRow, y + i) == V.PAWN &&
+ this.getColor(attackerRow, y + i) == color
+ ) {
+ return true;