@thegraid/hexlib 1.1.12 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/game-play.d.ts +33 -13
  2. package/dist/game-play.d.ts.map +1 -1
  3. package/dist/game-play.js +53 -36
  4. package/dist/game-play.js.map +1 -1
  5. package/dist/game-setup.d.ts +20 -5
  6. package/dist/game-setup.d.ts.map +1 -1
  7. package/dist/game-setup.js +20 -12
  8. package/dist/game-setup.js.map +1 -1
  9. package/dist/game-state.d.ts +20 -7
  10. package/dist/game-state.d.ts.map +1 -1
  11. package/dist/game-state.js +40 -36
  12. package/dist/game-state.js.map +1 -1
  13. package/dist/hex.d.ts +17 -9
  14. package/dist/hex.d.ts.map +1 -1
  15. package/dist/hex.js +19 -9
  16. package/dist/hex.js.map +1 -1
  17. package/dist/image-loader.d.ts.map +1 -1
  18. package/dist/image-loader.js.map +1 -1
  19. package/dist/meeple.d.ts +6 -8
  20. package/dist/meeple.d.ts.map +1 -1
  21. package/dist/meeple.js +8 -14
  22. package/dist/meeple.js.map +1 -1
  23. package/dist/player-panel.d.ts +3 -7
  24. package/dist/player-panel.d.ts.map +1 -1
  25. package/dist/player-panel.js +50 -38
  26. package/dist/player-panel.js.map +1 -1
  27. package/dist/player.d.ts +5 -2
  28. package/dist/player.d.ts.map +1 -1
  29. package/dist/player.js +10 -6
  30. package/dist/player.js.map +1 -1
  31. package/dist/scenario-parser.d.ts +8 -4
  32. package/dist/scenario-parser.d.ts.map +1 -1
  33. package/dist/scenario-parser.js +10 -4
  34. package/dist/scenario-parser.js.map +1 -1
  35. package/dist/shapes.d.ts +96 -33
  36. package/dist/shapes.d.ts.map +1 -1
  37. package/dist/shapes.js +151 -92
  38. package/dist/shapes.js.map +1 -1
  39. package/dist/table-params.d.ts +3 -3
  40. package/dist/table-params.d.ts.map +1 -1
  41. package/dist/table-params.js +2 -2
  42. package/dist/table-params.js.map +1 -1
  43. package/dist/table.d.ts +38 -11
  44. package/dist/table.d.ts.map +1 -1
  45. package/dist/table.js +79 -51
  46. package/dist/table.js.map +1 -1
  47. package/dist/text-log.js +1 -1
  48. package/dist/text-log.js.map +1 -1
  49. package/dist/tile.d.ts +22 -25
  50. package/dist/tile.d.ts.map +1 -1
  51. package/dist/tile.js +38 -37
  52. package/dist/tile.js.map +1 -1
  53. package/package.json +3 -2
package/dist/meeple.js CHANGED
@@ -2,7 +2,7 @@ import { Shape } from "@thegraid/easeljs-module";
2
2
  import { C1, PaintableShape } from "./shapes";
3
3
  import { TP } from "./table-params";
4
4
  import { Tile } from "./tile";
5
- class MeepleShape extends PaintableShape {
5
+ export class MeepleShape extends PaintableShape {
6
6
  player;
7
7
  radius;
8
8
  static fillColor = 'rgba(225,225,225,.7)';
@@ -13,24 +13,24 @@ class MeepleShape extends PaintableShape {
13
13
  this.radius = radius;
14
14
  this.y = TP.meepleY0;
15
15
  this.setMeepleBounds();
16
- this.backSide = this.makeOverlay(this.y);
16
+ this.backSide = this.makeOverlay();
17
17
  }
18
18
  setMeepleBounds(r = this.radius) {
19
19
  this.setBounds(-r, -r, 2 * r, 2 * r);
20
20
  }
21
21
  backSide; // visible when Meeple is 'faceDown' after a move.
22
- makeOverlay(y0) {
23
- const { x, width: w } = this.getBounds();
22
+ makeOverlay(y0 = this.y) {
23
+ const { x, width: r2 } = this.getBounds(); // x at left edge
24
24
  const over = new Shape();
25
- over.graphics.f(MeepleShape.backColor).dc(x + w / 2, y0, w / 2);
25
+ over.graphics.f(MeepleShape.backColor).dc(x + r2 / 2, y0, r2 / 2);
26
26
  over.visible = false;
27
27
  over.name = over.Aname = 'backSide';
28
28
  return over;
29
29
  }
30
30
  /** stroke a ring of colorn, stroke-width = 2, r = radius-2; fill disk with (~WHITE,.7) */
31
- mscgf(colorn = this.player?.colorn ?? C1.grey, ss = 2, rs = 0) {
31
+ mscgf(color = this.player?.color ?? C1.grey, ss = 2, rs = 0) {
32
32
  const r = this.radius;
33
- const g = this.graphics.c().ss(ss).s(colorn).f(MeepleShape.fillColor).dc(0, 0, r - rs - ss / 2); // disk & ring
33
+ const g = this.graphics.c().ss(ss).s(color).f(MeepleShape.fillColor).dc(0, 0, r - rs - ss / 2); // disk & ring
34
34
  return g;
35
35
  }
36
36
  }
@@ -42,7 +42,6 @@ export class Meeple extends Tile {
42
42
  * Meeple - Leader, Police, Criminal
43
43
  * @param Aname
44
44
  * @param player (undefined for Chooser)
45
- * @param civicTile Tile where this Meeple spawns
46
45
  */
47
46
  constructor(Aname, player) {
48
47
  super(Aname, player);
@@ -63,6 +62,7 @@ export class Meeple extends Tile {
63
62
  if (hex !== undefined)
64
63
  hex.meep = this;
65
64
  }
65
+ /** Meeple.radius == TP.meepleRad; same for all instances */
66
66
  get radius() { return TP.meepleRad; } // 31.578 vs 60*.4 = 24
67
67
  textVis(v) { super.textVis(true); }
68
68
  makeShape() { return new MeepleShape(this.player, this.radius); }
@@ -102,12 +102,6 @@ export class Meeple extends Tile {
102
102
  super.moveTo(hex); // hex.set(meep) = this; this.x/y = hex.x/y
103
103
  this.faceUp(!(hex?.isOnMap && fromHex?.isOnMap && hex !== this.startHex));
104
104
  }
105
- cantBeMovedBy(player, ctx) {
106
- const reason1 = super.cantBeMovedBy(player, ctx);
107
- if (reason1 || reason1 === false)
108
- return reason1;
109
- return undefined;
110
- }
111
105
  /**
112
106
  * For Meeples that are constrained to move along a line from current hex.
113
107
  * @param toHex
@@ -1 +1 @@
1
- {"version":3,"file":"meeple.js","sourceRoot":"","sources":["../src/meeple.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meeple.js","sourceRoot":"","sources":["../src/meeple.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- /// <reference types="easeljs" />
2
- import { Text } from "@thegraid/easeljs-module";
3
- import { NamedContainer } from "./game-play";
1
+ import { NamedContainer } from "@thegraid/easeljs-lib";
4
2
  import { Player } from "./player";
5
- import { RectShape, UtilButton } from "./shapes";
3
+ import { RectShape, TextInRect, UtilButton } from "./shapes";
6
4
  import { Table } from "./table";
7
5
  interface ConfirmCont extends NamedContainer {
8
- titleText: Text;
9
- messageText: Text;
6
+ textInRect: TextInRect;
10
7
  buttonYes: UtilButton;
11
8
  buttonCan: UtilButton;
12
9
  }
@@ -55,7 +52,6 @@ export declare class PlayerPanel extends NamedContainer {
55
52
  bg1: string;
56
53
  showPlayer(show?: boolean): void;
57
54
  confirmContainer: ConfirmCont;
58
- /** create the 'Are you sure' popup. */
59
55
  makeConfirmation(query?: string, a1?: string, a2?: string): void;
60
56
  /** keybinder access to areYouSure */
61
57
  clickConfirm(yes?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"player-panel.d.ts","sourceRoot":"","sources":["../src/player-panel.ts"],"names":[],"mappings":";AACA,OAAO,EAAmC,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,UAAU,WAAY,SAAQ,cAAc;IAC1C,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,qBAAa,WAAY,SAAQ,cAAc;IAgBpC,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IAGZ,GAAG;IApBZ,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,MAAM,gDAAwC;IAElD;;;;;;;;;OASG;gBAEM,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACJ,GAAG,SAAK;IASjB,IAAI,OAAO;;;;;;;;MAIV;IAED,IAAI,OAAO;;;;;;MAIV;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAI,EAAE,GAAG,SAAW;IAOjC,GAAG,SAA0B;IAC7B,GAAG,SAA0B;IAC7B,UAAU,CAAC,IAAI,UAAkE;IAIjF,gBAAgB,EAAE,WAAW,CAAC;IAC9B,uCAAuC;IACvC,gBAAgB,CAAC,KAAK,SAAkB,EAAE,EAAE,SAAQ,EAAE,EAAE,SAAW;IA0BnE,qCAAqC;IACrC,YAAY,CAAC,GAAG,UAAO;IAUvB,gEAAgE;IAChE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,EAAE,UAAU,GAAE,MAAM,IAAe;CA2BhG"}
1
+ {"version":3,"file":"player-panel.d.ts","sourceRoot":"","sources":["../src/player-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,UAAU,WAAY,SAAQ,cAAc;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,qBAAa,WAAY,SAAQ,cAAc;IAgBpC,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IAGZ,GAAG;IApBZ,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,MAAM,gDAAwC;IAElD;;;;;;;;;OASG;gBAEM,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACJ,GAAG,SAAK;IASjB,IAAI,OAAO;;;;;;;;MAIV;IAED,IAAI,OAAO;;;;;;MAIV;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAI,EAAE,GAAG,SAAW;IAOjC,GAAG,SAA0B;IAC7B,GAAG,SAA0B;IAC7B,UAAU,CAAC,IAAI,UAAkE;IAIjF,gBAAgB,EAAE,WAAW,CAAC;IAC9B,gBAAgB,CAAC,KAAK,SAAkB,EAAE,EAAE,SAAQ,EAAE,EAAE,SAAW;IAmCnE,qCAAqC;IACrC,YAAY,CAAC,GAAG,UAAO;IAUvB,gEAAgE;IAChE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,EAAE,UAAU,GAAE,MAAM,IAAe;CAoChG"}
@@ -1,7 +1,6 @@
1
- import { afterUpdate, CenterText, S, stime } from "@thegraid/easeljs-lib";
1
+ import { afterUpdate, CenterText, NamedContainer, S, stime } from "@thegraid/easeljs-lib";
2
2
  import { Graphics, MouseEvent } from "@thegraid/easeljs-module";
3
- import { NamedContainer } from "./game-play";
4
- import { RectShape, UtilButton } from "./shapes";
3
+ import { RectShape, TextInRect, UtilButton } from "./shapes";
5
4
  import { TP } from "./table-params";
6
5
  export class PlayerPanel extends NamedContainer {
7
6
  table;
@@ -28,7 +27,7 @@ export class PlayerPanel extends NamedContainer {
28
27
  this.high = high;
29
28
  this.wide = wide;
30
29
  this.dir = dir;
31
- table.hexMap.mapCont.resaCont.addChild(this);
30
+ table.hexMap.mapCont.backCont.addChild(this);
32
31
  table.setToRowCol(this, row, col);
33
32
  this.setOutline();
34
33
  this.makeConfirmation();
@@ -61,28 +60,33 @@ export class PlayerPanel extends NamedContainer {
61
60
  this.setOutline(show ? 4 : 2, show ? this.bg1 : this.bg0);
62
61
  }
63
62
  confirmContainer;
64
- /** create the 'Are you sure' popup. */
65
63
  makeConfirmation(query = 'Are you sure?', a1 = 'Yes', a2 = 'Cancel') {
66
64
  const c1 = 'lightgreen', c2 = 'rgb(255, 100, 100)';
67
- const { wide, high, brad, gap, rowh } = this.metrics;
68
- const { table } = this.objects;
69
- const conf = this.confirmContainer = new NamedContainer('confirm');
70
- const bg0 = new RectShape({ x: 0, y: -brad - gap, w: wide, h: high }, '', '');
71
- bg0.paint('rgba(240,240,240,.2)');
72
- const bg1 = new RectShape({ x: 0, y: 4 * rowh - brad - 2 * gap, w: wide, h: high - 4 * rowh + gap }, '', '');
73
- bg1.paint('rgba(240,240,240,.8)');
74
- const title = conf.titleText = new CenterText(query, 30);
75
- title.x = wide / 2;
76
- title.y = 3.85 * rowh;
77
- const msgText = conf.messageText = new CenterText('', 30);
78
- msgText.x = wide / 2;
79
- msgText.y = 5 * rowh;
80
- const button1 = conf.buttonYes = new UtilButton(c1, a1, TP.hexRad);
81
- const button2 = conf.buttonCan = new UtilButton(c2, a2, TP.hexRad);
82
- button1.y = button2.y = 6 * rowh;
83
- button1.x = wide * .4;
84
- button2.x = wide * .6;
85
- conf.addChild(bg0, bg1, button1, button2, msgText, title);
65
+ const { y: by, width: bwide, height: bhigh } = this.getBounds();
66
+ const { gap, high, wide } = this.metrics;
67
+ const { table } = this.objects, fSize = TP.hexRad / 3;
68
+ this.confirmContainer = new NamedContainer('confirm');
69
+ const conf = this.confirmContainer;
70
+ const msg = 'Some explanation';
71
+ const label = `${query}\n${msg}`;
72
+ const bgColor = 'rgba(240,240,240,.6)';
73
+ const tir = conf.textInRect = new TextInRect(new CenterText(label), bgColor);
74
+ const button1 = conf.buttonYes = new UtilButton(a1, c1, { fontSize: fSize, active: true });
75
+ const button2 = conf.buttonCan = new UtilButton(a2, c2, { fontSize: fSize, active: true });
76
+ tir.addChild(button1, button2);
77
+ const { y: y, height: th } = tir.getBounds();
78
+ const { height: bh } = button1.getBounds();
79
+ const bt = (th - 2 * gap), h = (bh + th);
80
+ tir.rectShape.setRectRad({ x: -wide / 2, y: y, w: wide, h: h });
81
+ tir.rectShape.setBounds(undefined, 0, 0, 0);
82
+ tir.paint(undefined, true); // force paint new rectShape (retain the graphics)
83
+ // cont is placed at (0, 0) of PlayerPanel, offset from there:
84
+ tir.x = wide / 2;
85
+ tir.y = bhigh - h + tir.label.getMeasuredLineHeight() / 2;
86
+ button1.y = button2.y = bt;
87
+ button1.x = wide * -.15;
88
+ button2.x = wide * +.15;
89
+ conf.addChild(tir);
86
90
  conf.visible = false;
87
91
  table.overlayCont.addChild(conf);
88
92
  }
@@ -99,25 +103,33 @@ export class PlayerPanel extends NamedContainer {
99
103
  }
100
104
  /** popup the confirmContainer, take yes() or cancel() action */
101
105
  areYouSure(msg, yes, cancel, afterPopup = () => { }) {
102
- const { panel, table } = this.objects, doneVis = table.doneButton.visible;
103
- table.doneButton.mouseEnabled = table.doneButton.visible = false;
106
+ const { panel, table } = this.objects;
107
+ // save state of doneButton, then disable it:
108
+ const doneVis = table.doneButton.visible;
109
+ table.doneButton.visible = false;
104
110
  const conf = this.confirmContainer;
105
- const button1 = conf.buttonYes;
106
- const button2 = conf.buttonCan;
107
- const msgText = conf.children[4];
108
- msgText.text = msg;
111
+ const { textInRect: tir, buttonYes, buttonCan } = conf;
109
112
  const clear = (func) => {
110
113
  conf.visible = false;
111
- button1.removeAllEventListeners();
112
- button2.removeAllEventListeners();
113
- table.doneButton.mouseEnabled = table.doneButton.visible = doneVis;
114
+ buttonYes.removeAllEventListeners();
115
+ buttonCan.removeAllEventListeners();
116
+ // restore state of doneButton:
117
+ table.doneButton.visible = doneVis;
114
118
  afterUpdate(conf, func, this);
115
119
  };
116
- button2.visible = !!cancel;
117
- button1.label_text = !!cancel ? 'Yes' : 'Continue';
118
- conf.titleText.text = !!cancel ? 'Are your sure?' : 'Click to Confirm';
119
- button1.on(S.click, () => clear(yes), this, true);
120
- button2.on(S.click, () => clear(cancel ?? yes), this, true);
120
+ buttonCan.visible = !!cancel;
121
+ buttonYes.label_text = !!cancel ? 'Yes' : 'Continue';
122
+ const query = !!cancel ? 'Are your sure?' : 'Click to Confirm';
123
+ const label = `${query}\n${msg}`;
124
+ const { x, y, width: w, height: h } = tir.rectShape.getBounds(); // as extended above
125
+ tir.label_text = label; // calcBounds: shrink to text+border
126
+ // reset to original-extended rectShape:
127
+ tir.rectShape.setRectRad({ x, y, w, h });
128
+ tir.rectShape.setBounds(undefined, 0, 0, 0);
129
+ tir.setBounds(x, y, w, h);
130
+ tir.rectShape.paint(undefined, true);
131
+ buttonYes.on(S.click, () => clear(yes), this, true);
132
+ buttonCan.on(S.click, () => clear(cancel ?? yes), this, true);
121
133
  console.log(stime(this, `.areYouSure? [${this.player.Aname}], ${msg}`));
122
134
  panel.localToLocal(0, 0, table.overlayCont, conf);
123
135
  conf.visible = true;
@@ -1 +1 @@
1
- {"version":3,"file":"player-panel.js","sourceRoot":"","sources":["../src/player-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAa,QAAQ,EAAE,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAUpC,MAAM,OAAO,WAAY,SAAQ,cAAc;IAgBpC;IACA;IACA;IACA;IAGA;IApBT,OAAO,CAAY;IACnB,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,CAAC,CAAC,CAAC,iBAAiB;IAEpE;;;;;;;;;OASG;IACH,YACS,KAAY,EACZ,MAAc,EACd,IAAY,EACZ,IAAY,EACnB,GAAW,EACX,GAAW,EACJ,MAAM,CAAC,CAAC;QAEf,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAc,eAAe;QAR1C,UAAK,GAAL,KAAK,CAAO;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QAGZ,QAAG,GAAH,GAAG,CAAK;QAGf,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACT,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;QACzG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACnD,CAAC;IAED,IAAI,OAAO;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,GAAgB,IAAI,CAAC;QAC5E,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG;QAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,GAAG,sBAAsB,CAAC;IAC7B,GAAG,GAAG,sBAAsB,CAAC;IAC7B,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB,CAAc;IAC9B,uCAAuC;IACvC,gBAAgB,CAAC,KAAK,GAAG,eAAe,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,QAAQ;QACjE,MAAM,EAAE,GAAG,YAAY,EAAE,EAAE,GAAG,oBAAoB,CAAA;QAClD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAc,CAAC,SAAS,CAAgB,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7G,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAG,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,qCAAqC;IACrC,YAAY,CAAC,GAAG,GAAG,IAAI;QACrB,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO;YAAE,OAAO;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAClD,MAAM,gBAAgB,GAAG,SAAoC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,gEAAgE;IAChE,UAAU,CAAC,GAAW,EAAE,GAAe,EAAE,MAAmB,EAAE,aAAyB,GAAG,EAAE,GAAE,CAAC;QAC7F,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QAC1E,KAAK,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC;QAC/C,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,IAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,OAAO,CAAC,uBAAuB,EAAE,CAAC;YAClC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YAClC,KAAK,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YACnE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC,CAAA;QACD,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAEvE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACpC,2BAA2B;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"player-panel.js","sourceRoot":"","sources":["../src/player-panel.ts"],"names":[],"mappings":"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"}
package/dist/player.d.ts CHANGED
@@ -16,9 +16,10 @@ export declare class Player {
16
16
  _color: string;
17
17
  get color(): string;
18
18
  set color(c: string);
19
+ /** now used as 'nominal' in log to identify player, never used as a COLOR */
20
+ get plyrId(): string;
19
21
  /** much useful context about this Player. */
20
22
  panel: PlayerPanel;
21
- get colorn(): string;
22
23
  allOf<T extends Tile>(claz: Constructor<T>): T[];
23
24
  allOnMap<T extends Tile>(claz: Constructor<T>): T[];
24
25
  /** Resi/Busi/PS/Lake/Civics in play on Map */
@@ -30,14 +31,16 @@ export declare class Player {
30
31
  coinCounter: NumCounter;
31
32
  get coins(): number;
32
33
  set coins(v: number);
33
- /** @deprecated only works for 2-players */
34
+ /** @deprecated only works for 2-players; use nthPlayer() */
34
35
  get otherPlayer(): Player;
36
+ nthPlayer(nth?: number): Player;
35
37
  planner?: IPlanner;
36
38
  /** if true then invoke plannerMove */
37
39
  useRobo: boolean;
38
40
  readonly startDir: HexDir;
39
41
  /** make Civics, Leaders & Police; also makeLeaderHex() */
40
42
  makePlayerBits(): void;
43
+ /** Player has no MapTile on map */
41
44
  get isDestroyed(): boolean;
42
45
  get isComplete(): boolean;
43
46
  endGame(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAG,MAAM,QAAQ,CAAC;AAExC,qBAAa,MAAM;IAOf,QAAQ,CAAC,KAAK,EAAE,MAAM;aACN,QAAQ,EAAE,QAAQ;IAPpC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEjC,MAAM,CAAC,WAAW,WAA4D;IAE9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EACN,QAAQ,EAAE,QAAQ;IAQpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAsB;IACzC,6CAA6C;IAC7C,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,MAAM,IAAI,MAAM,CAAwB;IAI5C,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,IAAI,QAAQ,cAA8C;IAE1D,IAAI,OAAO,aAAmE;IAE9E,MAAM,EAAE,MAAM,CAAK;IACnB,IAAI,KAAK,IACQ,MAAM,CADW;IAClC,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAGD,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,KAAK,IACI,MAAM,CADiC;IACpD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAuC;IAE1D,2CAA2C;IAC3C,IAAI,WAAW,WAA+C;IAE9D,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAS;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,0DAA0D;IAC1D,cAAc;IAGd,IAAI,WAAW,YAEd;IACD,IAAI,UAAU,YAEb;IAED,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,YAAY,SAAI;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAgB;IAQ/C,OAAO;IAKP,QAAQ;IAGR,mEAAmE,CACnE,UAAU,CAAC,OAAO,UAAe,EAAE,IAAI,SAAI;IAY3C,cAAc,UAAQ;IACtB,WAAW,CAAC,IAAI,SAAI;CAUrB"}
1
+ {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAG,MAAM,QAAQ,CAAC;AAExC,qBAAa,MAAM;IAOf,QAAQ,CAAC,KAAK,EAAE,MAAM;aACN,QAAQ,EAAE,QAAQ;IAPpC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEjC,MAAM,CAAC,WAAW,WAA4D;IAE9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EACN,QAAQ,EAAE,QAAQ;IASpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAsB;IACzC,6EAA6E;IAC7E,IAAI,MAAM,IAAI,MAAM,CAAgC;IAIpD,6CAA6C;IAC7C,KAAK,EAAE,WAAW,CAAC;IAEnB,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,IAAI,QAAQ,cAA8C;IAE1D,IAAI,OAAO,aAAmE;IAE9E,MAAM,EAAE,MAAM,CAAK;IACnB,IAAI,KAAK,IACQ,MAAM,CADW;IAClC,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAGD,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,KAAK,IACI,MAAM,CADiC;IACpD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAuC;IAE1D,4DAA4D;IAC5D,IAAI,WAAW,WAA+C;IAC9D,SAAS,CAAC,GAAG,SAAI;IAEjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAS;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,0DAA0D;IAC1D,cAAc;IAGd,mCAAmC;IACnC,IAAI,WAAW,YAEd;IACD,IAAI,UAAU,YAEb;IAED,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,YAAY,SAAI;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAgB;IAQ/C,OAAO;IAKP,QAAQ;IAGR,mEAAmE,CACnE,UAAU,CAAC,OAAO,UAAe,EAAE,IAAI,SAAI;IAY3C,cAAc,UAAQ;IACtB,WAAW,CAAC,IAAI,SAAI;CAUrB"}
package/dist/player.js CHANGED
@@ -13,6 +13,7 @@ export class Player {
13
13
  this.index = index;
14
14
  this.gamePlay = gamePlay;
15
15
  Player.allPlayers[index] = this;
16
+ TP.numPlayers = Player.allPlayers.length;
16
17
  this.color = Player.colorScheme[index];
17
18
  this.Aname = `P${index}:${this.color}`;
18
19
  console.log(stime(this, `.new:`), this.Aname);
@@ -20,11 +21,12 @@ export class Player {
20
21
  _color;
21
22
  get color() { return this._color; }
22
23
  set color(c) { this._color = c; }
23
- /** much useful context about this Player. */
24
- panel;
25
- get colorn() { return this._color; }
24
+ /** now used as 'nominal' in log to identify player, never used as a COLOR */
25
+ get plyrId() { return `Plyr${this.index}`; }
26
26
  // Player shall paint their pieces to their color as necessary;
27
27
  // Other code shall operate using player.index;
28
+ /** much useful context about this Player. */
29
+ panel;
28
30
  allOf(claz) { return Tile.allTiles.filter(t => t instanceof claz && t.player === this); }
29
31
  allOnMap(claz) { return this.allOf(claz).filter(t => t.hex?.isOnMap); }
30
32
  /** Resi/Busi/PS/Lake/Civics in play on Map */
@@ -41,8 +43,9 @@ export class Player {
41
43
  coinCounter; // set by layoutCounters: `${'Coin'}Counter`
42
44
  get coins() { return this.coinCounter?.getValue(); }
43
45
  set coins(v) { this.coinCounter?.updateValue(v); }
44
- /** @deprecated only works for 2-players */
46
+ /** @deprecated only works for 2-players; use nthPlayer() */
45
47
  get otherPlayer() { return Player.allPlayers[1 - this.index]; }
48
+ nthPlayer(nth = 1) { return Player.allPlayers[(this.index + nth) % Player.allPlayers.length]; }
46
49
  planner;
47
50
  /** if true then invoke plannerMove */
48
51
  useRobo = false;
@@ -50,6 +53,7 @@ export class Player {
50
53
  /** make Civics, Leaders & Police; also makeLeaderHex() */
51
54
  makePlayerBits() {
52
55
  }
56
+ /** Player has no MapTile on map */
53
57
  get isDestroyed() {
54
58
  return this.allOnMap(MapTile).length == 0;
55
59
  }
@@ -84,7 +88,7 @@ export class Player {
84
88
  playerMove(useRobo = this.useRobo, incb = 0) {
85
89
  let running = this.plannerRunning;
86
90
  // feedback for KeyMove:
87
- TP.log > 0 && console.log(stime(this, `(${this.colorn}).playerMove(${useRobo}): useRobo=${this.useRobo}, running=${running}`));
91
+ TP.log > 0 && console.log(stime(this, `(${this.plyrId}).playerMove(${useRobo}): useRobo=${this.useRobo}, running=${running}`));
88
92
  if (running)
89
93
  return;
90
94
  if (useRobo || this.useRobo) {
@@ -101,7 +105,7 @@ export class Player {
101
105
  // let ihexPromise = this.planner.makeMove(sc, iHistory, incb)
102
106
  // ihexPromise.then((ihex: IHex) => {
103
107
  // this.plannerRunning = false
104
- // this.table.moveStoneToHex(ihex, sc)
108
+ // this.table.moveTileToHex(ihex, sc)
105
109
  // })
106
110
  }
107
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,12 @@ import { Hex, HexMap, IHex2 } from "./hex";
3
3
  export interface SetupElt {
4
4
  Aname?: string;
5
5
  turn?: number;
6
- gameState?: any[];
7
6
  coins?: number[];
8
- scores?: number[];
7
+ gameState?: any[];
9
8
  }
9
+ /** Reading from a file, first element is a StartElt with start: {...},
10
+ * then follows normal SetupElt[] */
11
+ export type LogElts = [StartElt, ...SetupElt[]];
10
12
  export type StartElt = {
11
13
  start: {
12
14
  time: string;
@@ -14,14 +16,16 @@ export type StartElt = {
14
16
  turn: number;
15
17
  };
16
18
  };
17
- export type LogElts = [StartElt, ...SetupElt[]];
18
19
  export declare class ScenarioParser {
19
20
  map: HexMap<Hex>;
20
21
  gamePlay: GamePlay;
21
22
  constructor(map: HexMap<Hex>, gamePlay: GamePlay);
22
23
  /** parse json to recreate all the needed bits (see Ankh.parseScenario). */
23
24
  parseScenario(setup: SetupElt): void;
24
- saveState(gamePlay: GamePlay, silent?: boolean): SetupElt;
25
+ /** add the optional bit to SetupElt */
26
+ addStateElements(setupElt: SetupElt): void;
27
+ /** override/replace to create a SetupElt and logState(logWriter) */
28
+ saveState(gamePlay: GamePlay, logWriter?: import("./stream-writer").LogWriter): SetupElt;
25
29
  /** write each component of SetupElt on a line, wrapped between '{' ... '\n}' */
26
30
  logState(state: SetupElt, logWriter?: import("./stream-writer").LogWriter): void;
27
31
  /** debug utility */
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-parser.d.ts","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI3C,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AACD,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,OAAO,GAAG,CAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AAEjD,qBAAa,cAAc;IAEN,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;IAAS,QAAQ,EAAE,QAAQ;gBAA3C,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAS,QAAQ,EAAE,QAAQ;IAI9D,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,QAAQ;IAmB7B,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAQ;IAW5C,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,sCAA0B;IAU7D,oBAAoB;IACpB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;CAiB9B"}
1
+ {"version":3,"file":"scenario-parser.d.ts","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACnB;AACD;oCACoC;AACpC,MAAM,MAAM,OAAO,GAAG,CAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEhF,qBAAa,cAAc;IAEN,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;IAAS,QAAQ,EAAE,QAAQ;gBAA3C,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAS,QAAQ,EAAE,QAAQ;IAI9D,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,QAAQ;IAmB7B,uCAAuC;IACvC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAInC,oEAAoE;IACpE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,sCAA0B,GAAG,QAAQ;IAU5E,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,sCAA0B;IAU7D,oBAAoB;IACpB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;CAiB9B"}
@@ -27,13 +27,19 @@ export class ScenarioParser {
27
27
  }
28
28
  this.gamePlay.hexMap.update();
29
29
  }
30
- saveState(gamePlay, silent = false) {
30
+ /** add the optional bit to SetupElt */
31
+ addStateElements(setupElt) {
32
+ setupElt.gameState = this.gamePlay.gameState.saveState();
33
+ }
34
+ /** override/replace to create a SetupElt and logState(logWriter) */
35
+ saveState(gamePlay, logWriter = this.gamePlay.logWriter) {
31
36
  const turn = Math.max(0, gamePlay.turnNumber);
32
37
  const coins = gamePlay.allPlayers.map(p => p.coins);
33
38
  const time = stime.fs();
34
- const gameState = this.gamePlay.gameState.saveState();
35
- const setupElt = { turn, time, coins, gameState, };
36
- this.logState(setupElt);
39
+ const setupElt = { turn, time, coins, };
40
+ this.addStateElements(setupElt);
41
+ if (logWriter)
42
+ this.logState(setupElt, logWriter);
37
43
  return setupElt;
38
44
  }
39
45
  /** write each component of SetupElt on a line, wrapped between '{' ... '\n}' */
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-parser.js","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario-parser.js","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"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"}