Skip to content

Commit 58695cd

Browse files
committed
Arimaa tweak; Rootbound notes added; Enso and Rampart going live
1 parent 0e12b3c commit 58695cd

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

src/games/arimaa.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1145,7 +1145,7 @@ export class ArimaaGame extends GameBase {
11451145
func: "flatten",
11461146
fg: colour,
11471147
bg: "_context_background",
1148-
opacity: 0.25,
1148+
opacity: 0.5,
11491149
},
11501150
colour2: {
11511151
func: "bestContrast",

src/games/enso.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class EnsoGame extends GameBase {
2828
uid: "enso",
2929
playercounts: [2],
3030
version: "20260108",
31-
dateAdded: "2026-01-08",
31+
dateAdded: "2026-01-12",
3232
// i18next.t("apgames:descriptions.enso")
3333
description: "apgames:descriptions.enso",
3434
urls: [
@@ -54,7 +54,7 @@ export class EnsoGame extends GameBase {
5454
},
5555
],
5656
categories: ["goal>isolate", "mechanic>move", "mechanic>capture", "board>shape>rect", "board>connect>rect", "components>simple>1per"],
57-
flags: ["automove", "experimental"]
57+
flags: ["automove"]
5858
};
5959

6060
public static coords2algebraic(x: number, y: number): string {
@@ -385,6 +385,9 @@ export class EnsoGame extends GameBase {
385385
} else if (ensoTwo) {
386386
this.gameover = true;
387387
this.winner = [2];
388+
} else if (this.moves().length === 0) {
389+
this.gameover = true;
390+
this.winner = [this.currplayer === 1 ? 2 : 1];
388391
}
389392

390393
if (this.gameover) {

src/games/rampart.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export class RampartGame extends GameBase {
2626
uid: "rampart",
2727
playercounts: [2],
2828
version: "20260106",
29-
dateAdded: "2026-01-06",
29+
dateAdded: "2026-01-12",
3030
// i18next.t("apgames:descriptions.rampart")
3131
description: "apgames:descriptions.rampart",
3232
urls: [
@@ -53,7 +53,7 @@ export class RampartGame extends GameBase {
5353
{ uid: "custom", group: "setup", unrated: true },
5454
],
5555
categories: ["goal>annihilate", "mechanic>place", "mechanic>capture", "board>shape>rect", "board>connect>rect", "board>shape>hex", "board>connect>hex", "components>simple>1per"],
56-
flags: ["experimental", "automove"]
56+
flags: ["automove"]
5757
};
5858

5959
public numplayers = 2;

src/games/rootbound.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ export class RootBoundGame extends GameBase {
4040
dateAdded: "2024-02-25",
4141
// i18next.t("apgames:descriptions.rootbound")
4242
description: "apgames:descriptions.rootbound",
43+
// i18next.t("apgames:notes.rootbound")
44+
notes: "apgames:notes.rootbound",
4345
urls: [
4446
"https://cjffield.com/rules/rootbound.pdf",
4547
"https://boardgamegeek.com/boardgame/416201/root-bound",
@@ -464,7 +466,7 @@ export class RootBoundGame extends GameBase {
464466

465467
const moves = this.moves();
466468
const cells: string[] = m.split(",");
467-
469+
468470
if (this.stack.length < 4 && m === "pass") {
469471
result.message = i18next.t("apgames:validation._general.INVALID_MOVE", {move: m});
470472
return result;

0 commit comments

Comments
 (0)