1 import { Progressive1Rules
} from "@/variants/Progressive1";
2 import { SuicideRules
} from "@/variants/Suicide";
3 import { ChessRules
} from "@/base_rules";
4 import { randInt
} from "@/utils/alea";
6 export class Progressive2Rules
extends Progressive1Rules
{
7 static get PawnSpecs() {
15 static get HasFlags() {
20 const c
= move.turn
[0];
21 const piece
= move.vanish
[0].p
;
22 if (piece
== V
.KING
&& move.appear
.length
> 0) {
23 this.kingPos
[c
][0] = move.appear
[0].x
;
24 this.kingPos
[c
][1] = move.appear
[0].y
;
29 V
.UndoOnBoard(this.board
, move);
30 if (this.turn
!= move.turn
[0]) this.movesCount
--;
31 this.turn
= move.turn
[0];
32 this.subTurn
= move.turn
[1];
36 static GenRandInitFen(randomness
) {
37 return SuicideRules
.GenRandInitFen(randomness
);
46 q: 7, //slightly less than in orthodox game