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
{
8 static get PawnSpecs() {
16 static get HasFlags() {
21 const c
= move.turn
[0];
22 const piece
= move.vanish
[0].p
;
23 if (piece
== V
.KING
&& move.appear
.length
> 0) {
24 this.kingPos
[c
][0] = move.appear
[0].x
;
25 this.kingPos
[c
][1] = move.appear
[0].y
;
30 V
.UndoOnBoard(this.board
, move);
31 if (this.turn
!= move.turn
[0]) this.movesCount
--;
32 this.turn
= move.turn
[0];
33 this.subTurn
= move.turn
[1];
37 static GenRandInitFen(randomness
) {
38 return SuicideRules
.GenRandInitFen(randomness
);
47 q: 7, //slightly less than in orthodox game