projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Generalize pawn movements: cleaner and smaller code
[vchess.git]
/
client
/
src
/
variants
/
Capture.js
diff --git
a/client/src/variants/Capture.js
b/client/src/variants/Capture.js
index
a43f167
..
f0782a6
100644
(file)
--- a/
client/src/variants/Capture.js
+++ b/
client/src/variants/Capture.js
@@
-1,11
+1,9
@@
import { ChessRules } from "@/base_rules";
import { ChessRules } from "@/base_rules";
-import { ArrayFun } from "@/utils/array";
-import { randInt } from "@/utils/alea";
-export c
onst VariantRules = class Losers
Rules extends ChessRules {
+export c
lass Capture
Rules extends ChessRules {
// Trim all non-capturing moves
static KeepCaptures(moves) {
// Trim all non-capturing moves
static KeepCaptures(moves) {
- return moves.filter(m => m.vanish.length == 2);
+ return moves.filter(m => m.vanish.length == 2
&& m.appear.length == 1
);
}
// Stop at the first capture found (if any)
}
// Stop at the first capture found (if any)
@@
-17,8
+15,8
@@
export const VariantRules = class LosersRules extends ChessRules {
if (
this.board[i][j] != V.EMPTY &&
this.getColor(i, j) != oppCol &&
if (
this.board[i][j] != V.EMPTY &&
this.getColor(i, j) != oppCol &&
- this.
getPotentialMovesFrom([i, j]
).some(m =>
- // Warning: d
u
scard castle moves
+ this.
filterValid(this.getPotentialMovesFrom([i, j])
).some(m =>
+ // Warning: d
i
scard castle moves
m.vanish.length == 2 && m.appear.length == 1)
) {
return true;
m.vanish.length == 2 && m.appear.length == 1)
) {
return true;