@thegraid/hexlib 1.3.8 → 1.3.10

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 (44) hide show
  1. package/dist/game-play.d.ts +3 -1
  2. package/dist/game-play.d.ts.map +1 -1
  3. package/dist/game-play.js +6 -1
  4. package/dist/game-play.js.map +1 -1
  5. package/dist/game-setup.d.ts +1 -1
  6. package/dist/game-setup.js +2 -2
  7. package/dist/game-setup.js.map +1 -1
  8. package/dist/hex-intfs.d.ts +117 -51
  9. package/dist/hex-intfs.d.ts.map +1 -1
  10. package/dist/hex-intfs.js +80 -44
  11. package/dist/hex-intfs.js.map +1 -1
  12. package/dist/hex.d.ts +83 -78
  13. package/dist/hex.d.ts.map +1 -1
  14. package/dist/hex.js +97 -93
  15. package/dist/hex.js.map +1 -1
  16. package/dist/image-loader.d.ts +11 -5
  17. package/dist/image-loader.d.ts.map +1 -1
  18. package/dist/image-loader.js +16 -8
  19. package/dist/image-loader.js.map +1 -1
  20. package/dist/meeple.d.ts +3 -3
  21. package/dist/meeple.d.ts.map +1 -1
  22. package/dist/meeple.js +13 -13
  23. package/dist/meeple.js.map +1 -1
  24. package/dist/player-panel.js +4 -5
  25. package/dist/player-panel.js.map +1 -1
  26. package/dist/player.d.ts.map +1 -1
  27. package/dist/player.js +2 -1
  28. package/dist/player.js.map +1 -1
  29. package/dist/table.d.ts +124 -125
  30. package/dist/table.d.ts.map +1 -1
  31. package/dist/table.js +51 -79
  32. package/dist/table.js.map +1 -1
  33. package/dist/text-log.d.ts +8 -0
  34. package/dist/text-log.d.ts.map +1 -1
  35. package/dist/text-log.js +10 -1
  36. package/dist/text-log.js.map +1 -1
  37. package/dist/tile-source.d.ts.map +1 -1
  38. package/dist/tile-source.js +3 -2
  39. package/dist/tile-source.js.map +1 -1
  40. package/dist/tile.d.ts +36 -14
  41. package/dist/tile.d.ts.map +1 -1
  42. package/dist/tile.js +53 -27
  43. package/dist/tile.js.map +1 -1
  44. package/package.json +1 -1
@@ -53,6 +53,8 @@ export declare class GamePlay0 {
53
53
  logWriterLine0(): void;
54
54
  /** GamePlay0 - supply GodNames for each: new Player(...). */
55
55
  constructor(gameSetup: GameSetup);
56
+ nCols: number;
57
+ nRows: number;
56
58
  turnNumber: number;
57
59
  curPlayerNdx: number;
58
60
  curPlayer: Player;
@@ -75,7 +77,7 @@ export declare class GamePlay0 {
75
77
  newTurnNumber(turnNumber: number): void;
76
78
  /**
77
79
  * Advance to given turnNumber
78
- * @param turnNumber [undefined -> auto-incr; newTurn()]
80
+ * @param turnNumber [undefined -> auto-incr; curPlayer.newTurn()]
79
81
  */
80
82
  setNextPlayer(turnNumber?: number): void;
81
83
  isEndOfGame(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"game-play.d.ts","sourceRoot":"","sources":["../src/game-play.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-play.d.ts","sourceRoot":"","sources":["../src/game-play.ts"],"names":[],"mappings":"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"}
package/dist/game-play.js CHANGED
@@ -62,7 +62,12 @@ export class GamePlay0 {
62
62
  constructor(gameSetup) {
63
63
  this.gameSetup = gameSetup;
64
64
  this.hexMap = gameSetup.hexMap;
65
+ const [nr, nc] = this.hexMap.nRowCol;
66
+ this.nRows = nr;
67
+ this.nCols = nc;
65
68
  }
69
+ nCols;
70
+ nRows;
66
71
  turnNumber = 0; // = history.lenth + 1 [by this.setNextPlayer]
67
72
  curPlayerNdx = 0; // curPlayer defined in GamePlay extends GamePlay0
68
73
  curPlayer;
@@ -105,7 +110,7 @@ export class GamePlay0 {
105
110
  newTurnNumber(turnNumber) { }
106
111
  /**
107
112
  * Advance to given turnNumber
108
- * @param turnNumber [undefined -> auto-incr; newTurn()]
113
+ * @param turnNumber [undefined -> auto-incr; curPlayer.newTurn()]
109
114
  */
110
115
  setNextPlayer(turnNumber) {
111
116
  if (turnNumber === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"game-play.js","sourceRoot":"","sources":["../src/game-play.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-play.js","sourceRoot":"","sources":["../src/game-play.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ export declare class GameSetup {
58
58
  makeLogWriter(): LogWriter;
59
59
  restartable: boolean;
60
60
  /** C-s ==> kill game, start a new one, possibly with new stateInfo
61
- * @param stateInfo typically TP fields like {hexRad: 60, nHexes: 7, mHexes: 1}
61
+ * @param stateInfo Scenario and/or { hexRad: 60, nHexes: 7, mHexes: 1 }
62
62
  */
63
63
  restart(stateInfo: Scenario | HexAspect): void;
64
64
  /** reset GameState and/or Table/TableParams before startup() */
@@ -106,7 +106,7 @@ export class GameSetup {
106
106
  }
107
107
  restartable = false;
108
108
  /** C-s ==> kill game, start a new one, possibly with new stateInfo
109
- * @param stateInfo typically TP fields like {hexRad: 60, nHexes: 7, mHexes: 1}
109
+ * @param stateInfo Scenario and/or { hexRad: 60, nHexes: 7, mHexes: 1 }
110
110
  */
111
111
  restart(stateInfo) {
112
112
  if (!this.restartable)
@@ -240,7 +240,7 @@ export class GameSetup {
240
240
  Meeple.allMeeples.length = 0;
241
241
  Player.allPlayers.length = 0;
242
242
  this.nPlayers = this.getNPlayers(); // Scenario may override?
243
- this.hexMap = this.makeHexMap(); // only reference is in GamePlay constructor!
243
+ this.hexMap = this.makeHexMap(); // then copied from gameSetup -> gamePlay
244
244
  this.table = this.makeTable();
245
245
  const scenario = this.initialScenario(qParams);
246
246
  // Inject Table into GamePlay;
@@ -1 +1 @@
1
- {"version":3,"file":"game-setup.js","sourceRoot":"","sources":["../src/game-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-setup.js","sourceRoot":"","sources":["../src/game-setup.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,20 @@
1
1
  import { RC } from "@thegraid/common-lib";
2
2
  /** Hexagonal canonical directions */
3
3
  export type HexDir = 'NE' | 'EN' | 'E' | 'ES' | 'SE' | 'S' | 'SW' | 'WS' | 'W' | 'WN' | 'NW' | 'N';
4
- export type EwDir = Exclude<HexDir, 'N' | 'S' | 'EN' | 'WN' | 'ES' | 'WS'>;
5
- export type NsDir = Exclude<HexDir, 'E' | 'W' | 'NE' | 'NW' | 'SE' | 'SW'>;
6
- export type Or8Dir = Exclude<HexDir, 'EN' | 'WN' | 'ES' | 'WS'>;
7
- export type Or4Dir = Exclude<Or8Dir, 'NE' | 'NW' | 'SE' | 'SW'>;
8
- type DCR = {
9
- [key in 'dc' | 'dr']: number;
10
- };
11
- export type TopoEW = {
12
- [key in EwDir]: DCR;
13
- };
14
- export type TopoNS = {
15
- [key in NsDir]: DCR;
16
- };
17
- export type Topo = TopoEW | TopoNS;
18
- export type TopoOr8 = {
19
- [key in Or8Dir]: DCR;
20
- };
21
- export type TopoOr4 = {
22
- [key in Or4Dir]: DCR;
4
+ export type EwDir = Extract<HexDir, 'NE' | 'E' | 'SE' | 'SW' | 'W' | 'NW'>;
5
+ export type NsDir = Extract<HexDir, 'EN' | 'ES' | 'S' | 'WS' | 'WN' | 'N'>;
6
+ export type Or8Dir = Extract<HexDir, 'NE' | 'E' | 'SE' | 'S' | 'SW' | 'W' | 'NW' | 'N'>;
7
+ export type Or4Dir = Extract<Or8Dir, 'N' | 'E' | 'S' | 'W'>;
8
+ export type DCR = {
9
+ dc: number;
10
+ dr: number;
23
11
  };
12
+ type TopoDCR = Record<HexDir, DCR>;
13
+ type EwDCR = Record<EwDir, DCR>;
14
+ type NsDCR = Record<NsDir, DCR>;
15
+ type Or8DCR = Record<Or8Dir, DCR>;
16
+ type Or4DCR = Record<Or4Dir, DCR>;
17
+ export type DirDCR = Partial<Record<HexDir, DCR>>;
24
18
  export type TopoXYWH = {
25
19
  x: number;
26
20
  y: number;
@@ -31,13 +25,107 @@ export type TopoXYWH = {
31
25
  };
32
26
  /** function that returns XYWH of cell of size rad at row, col; using dxdc & dydr of the Topo. */
33
27
  export type TopoMetric = (rad?: number, row?: number, col?: number) => TopoXYWH;
28
+ export declare abstract class TopoC<TD extends Partial<TopoDCR>, K extends keyof TD = keyof TD> {
29
+ /** override to supply correct linkDirs */
30
+ _linkDirs: K[];
31
+ /** identify directions to adjacent cells; valid keys in topoDCR() */
32
+ get linkDirs(): K[];
33
+ /**
34
+ * Used by nextRowCol to locate an adjacent cell.
35
+ * @param rc For Hex topology, the adjacency depends on the particular (row, col)
36
+ * @returns a TopoDCR
37
+ */
38
+ abstract topoDCR(rc: RC): TD;
39
+ /**
40
+ * Location of cell adjacent to RC in direction dir.
41
+ * @param rc identify the current/source hex
42
+ * @param dir the direction to step
43
+ * @returns RC of the next/adjacent cell in the given direction
44
+ */
45
+ nextRowCol(rc: RC, dir: K): {
46
+ row: number;
47
+ col: number;
48
+ };
49
+ /** a TopoMetric for graphical layout */
50
+ xywh(rad?: number, row?: number, col?: number): TopoXYWH;
51
+ }
52
+ export declare class TopoOR8C extends TopoC<Or8DCR> {
53
+ _linkDirs: Or8Dir[];
54
+ topoDCR(rc: RC): {
55
+ N: {
56
+ dr: number;
57
+ dc: number;
58
+ };
59
+ E: {
60
+ dr: number;
61
+ dc: number;
62
+ };
63
+ S: {
64
+ dr: number;
65
+ dc: number;
66
+ };
67
+ W: {
68
+ dr: number;
69
+ dc: number;
70
+ };
71
+ NE: {
72
+ dr: number;
73
+ dc: number;
74
+ };
75
+ SE: {
76
+ dr: number;
77
+ dc: number;
78
+ };
79
+ SW: {
80
+ dr: number;
81
+ dc: number;
82
+ };
83
+ NW: {
84
+ dr: number;
85
+ dc: number;
86
+ };
87
+ };
88
+ }
89
+ export declare class TopoOR4C extends TopoC<Or4DCR> {
90
+ _linkDirs: Or4Dir[];
91
+ topoDCR(rc: RC): {
92
+ N: {
93
+ dr: number;
94
+ dc: number;
95
+ };
96
+ E: {
97
+ dr: number;
98
+ dc: number;
99
+ };
100
+ S: {
101
+ dr: number;
102
+ dc: number;
103
+ };
104
+ W: {
105
+ dr: number;
106
+ dc: number;
107
+ };
108
+ };
109
+ }
110
+ export declare class TopoEWC extends TopoC<EwDCR> {
111
+ _linkDirs: EwDir[];
112
+ ewEvenRow: EwDCR;
113
+ ewOddRow: EwDCR;
114
+ topoDCR(rc: RC): EwDCR;
115
+ xywh(rad?: number, row?: number, col?: number): TopoXYWH;
116
+ }
117
+ export declare class TopoNSC extends TopoC<NsDCR> {
118
+ _linkDirs: NsDir[];
119
+ nsEvenCol: NsDCR;
120
+ nsOddCol: NsDCR;
121
+ topoDCR(rc: RC): NsDCR;
122
+ xywh(rad?: number, row?: number, col?: number): TopoXYWH;
123
+ }
34
124
  /** Hex things */
35
125
  export declare namespace H {
36
126
  const degToRadians: number;
37
127
  const sqrt3: number;
38
128
  const sqrt3_2: number;
39
- function NSxywh(rad?: number, row?: number, col?: number): TopoXYWH;
40
- function EWxywh(rad?: number, row?: number, col?: number): TopoXYWH;
41
129
  /** not a HexDir, but identifies a Center; no Dir */
42
130
  const C: 'C';
43
131
  const N: HexDir;
@@ -58,45 +146,23 @@ export declare namespace H {
58
146
  width: number;
59
147
  height: number;
60
148
  };
61
- /** neighborhood topology, E-W & N-S orientation; even(n0) & odd(n1) rows: */
62
- const ewEvenRow: TopoEW;
63
- const ewOddRow: TopoEW;
64
- const nsEvenCol: TopoNS;
65
- const nsOddCol: TopoNS;
66
- function nsTopo(rc: RC): TopoNS;
67
- function ewTopo(rc: RC): TopoEW;
149
+ const or4Dirs: Or4Dir[];
150
+ const or8Dirs: Or8Dir[];
68
151
  /** includes E & W, suitable for ewTopo */
69
152
  const ewDirs: EwDir[];
70
153
  /** includes N & S, suitable for nsTopo */
71
154
  const nsDirs: NsDir[];
72
155
  /** all hexDirs */
73
156
  const hexDirs: HexDir[];
74
- const ewDirRot: {
75
- [key in EwDir]: number;
76
- };
77
- const nsDirRot: {
78
- [key in NsDir]: number;
79
- };
80
- const dirRot: {
81
- [key in HexDir]: number;
82
- };
83
- const dirRev: {
84
- [key in HexDir]: HexDir;
85
- };
86
- const dirRevEW: {
87
- [key in EwDir]: EwDir;
88
- };
89
- const dirRevNS: {
90
- [key in NsDir]: NsDir;
91
- };
157
+ const ewDirRot: Record<EwDir, number>;
158
+ const nsDirRot: Record<NsDir, number>;
159
+ const dirRot: Record<HexDir, number>;
160
+ const dirRev: Record<HexDir, HexDir>;
161
+ const dirRevEW: Record<EwDir, EwDir>;
162
+ const dirRevNS: Record<NsDir, NsDir>;
92
163
  const rotDir: {
93
164
  [key: number]: HexDir;
94
165
  };
95
- const capColor1: string;
96
- const capColor2: string;
97
- const sacColor1: string;
98
- const sacColor2: string;
99
- const fjColor: string;
100
166
  }
101
167
  export {};
102
168
  //# sourceMappingURL=hex-intfs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex-intfs.d.ts","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG1C,qCAAqC;AACrC,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AACnG,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAC3E,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAC3E,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAChE,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAEhE,KAAK,GAAG,GAAM;KAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,MAAM;CAAE,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG;KAAG,GAAG,IAAI,KAAK,GAAG,GAAG;CAAE,CAAA;AAC5C,MAAM,MAAM,MAAM,GAAG;KAAG,GAAG,IAAI,KAAK,GAAG,GAAG;CAAE,CAAA;AAC5C,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAClC,MAAM,MAAM,OAAO,GAAG;KAAG,GAAG,IAAI,MAAM,GAAG,GAAG;CAAE,CAAA;AAC9C,MAAM,MAAM,OAAO,GAAG;KAAG,GAAG,IAAI,MAAM,GAAG,GAAG;CAAE,CAAA;AAC9C,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAA;AACD,iGAAiG;AACjG,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;AAEhF,iBAAiB;AACjB,yBAAiB,CAAC,CAAC;IACV,MAAM,YAAY,QAAgB,CAAC;IACnC,MAAM,KAAK,QAAe,CAAA;IAC1B,MAAM,OAAO,QAAc,CAAC;IAEnC,SAAgB,MAAM,CAAC,GAAG,SAAI,EAAE,GAAG,SAAI,EAAE,GAAG,SAAI,GAAG,QAAQ,CAK1D;IACD,SAAgB,MAAM,CAAC,GAAG,SAAI,EAAE,GAAG,SAAI,EAAE,GAAG,SAAI,GAAG,QAAQ,CAK1D;IAED,oDAAoD;IAC7C,MAAM,CAAC,EAAE,GAAS,CAAC;IACnB,MAAM,CAAC,EAAE,MAAY,CAAA;IACrB,MAAM,CAAC,EAAE,MAAY,CAAA;IACrB,MAAM,CAAC,EAAE,MAAY,CAAA;IACrB,MAAM,CAAC,EAAE,MAAY,CAAA;IACrB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IACvB,MAAM,EAAE,EAAE,MAAa,CAAA;IAC9B,SAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,SAAI;;;;;MAK5C;IACD,6EAA6E;IACtE,MAAM,SAAS,EAAE,MAGvB,CAAA;IACM,MAAM,QAAQ,EAAE,MAGtB,CAAA;IACM,MAAM,SAAS,EAAE,MAGvB,CAAA;IACM,MAAM,QAAQ,EAAE,MAGtB,CAAA;IACD,SAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAwD;IAC9F,SAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAwD;IAE9F,0CAA0C;IACnC,MAAM,MAAM,EAAE,KAAK,EAA2B,CAAC;IACtD,0CAA0C;IACnC,MAAM,MAAM,EAAE,KAAK,EAA2B,CAAC;IACtD,kBAAkB;IACX,MAAM,OAAO,EAAE,MAAM,EAA4C,CAAC;IAGlE,MAAM,QAAQ,EAAE;SAAE,GAAG,IAAI,KAAK,GAAI,MAAM;KAAwD,CAAA;IAEhG,MAAM,QAAQ,EAAE;SAAE,GAAG,IAAI,KAAK,GAAI,MAAM;KAAuD,CAAA;IAC/F,MAAM,MAAM,EAAE;SAAG,GAAG,IAAI,MAAM,GAAG,MAAM;KAAqC,CAAA;IAE5E,MAAM,MAAM,EAAE;SAAE,GAAG,IAAI,MAAM,GAAI,MAAM;KAA8F,CAAA;IACrI,MAAM,QAAQ,EAAE;SAAE,GAAG,IAAI,KAAK,GAAI,KAAK;KAAkD,CAAA;IACzF,MAAM,QAAQ,EAAE;SAAE,GAAG,IAAI,KAAK,GAAI,KAAK;KAAkD,CAAA;IACzF,MAAM,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAA4I,CAAA;IAGjL,MAAM,SAAS,EAAI,MAAiC,CAAA;IACpD,MAAM,SAAS,EAAI,MAAiC,CAAA;IACpD,MAAM,SAAS,EAAI,MAAiC,CAAA;IACpD,MAAM,SAAS,EAAI,MAAiC,CAAA;IACpD,MAAM,OAAO,EAAM,MAAiC,CAAA;CAC5D"}
1
+ {"version":3,"file":"hex-intfs.d.ts","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
package/dist/hex-intfs.js CHANGED
@@ -1,25 +1,88 @@
1
- /** Hex things */
2
- export var H;
3
- (function (H) {
4
- H.degToRadians = Math.PI / 180;
5
- H.sqrt3 = Math.sqrt(3); // 1.7320508075688772
6
- H.sqrt3_2 = H.sqrt3 / 2;
7
- function NSxywh(rad = 1, row = 0, col = 0) {
8
- const w = 2 * rad, h = H.sqrt3 * rad, dxdc = 1.5 * rad, dydr = H.sqrt3 * rad;
9
- const x = (col) * dxdc;
10
- const y = (row + Math.abs(Math.floor(col) % 2) / 2) * dydr;
11
- return { x, y, w, h, dxdc, dydr };
1
+ export class TopoC {
2
+ /** override to supply correct linkDirs */
3
+ _linkDirs;
4
+ /** identify directions to adjacent cells; valid keys in topoDCR() */
5
+ get linkDirs() { return this._linkDirs; }
6
+ ;
7
+ /**
8
+ * Location of cell adjacent to RC in direction dir.
9
+ * @param rc identify the current/source hex
10
+ * @param dir the direction to step
11
+ * @returns RC of the next/adjacent cell in the given direction
12
+ */
13
+ nextRowCol(rc, dir) {
14
+ const dcr = this.topoDCR(rc)[dir];
15
+ return { row: rc.row + dcr.dr, col: rc.col + dcr.dc };
16
+ }
17
+ /** a TopoMetric for graphical layout */
18
+ xywh(rad = 1, row = 0, col = 0) {
19
+ const r2 = rad * 2;
20
+ return { x: col * r2, y: row * r2, w: r2, h: r2, dxdc: r2, dydr: r2 };
12
21
  }
13
- H.NSxywh = NSxywh;
22
+ }
23
+ export class TopoOR8C extends TopoC {
24
+ _linkDirs = H.or8Dirs;
25
+ topoDCR(rc) {
26
+ return {
27
+ N: { dr: -1, dc: 0 }, E: { dr: 0, dc: 1 }, S: { dr: 1, dc: 0 }, W: { dr: 0, dc: -1 },
28
+ NE: { dr: -1, dc: 1 }, SE: { dr: 1, dc: 1 }, SW: { dr: 1, dc: -1 }, NW: { dr: -1, dc: -1 }
29
+ };
30
+ }
31
+ }
32
+ export class TopoOR4C extends TopoC {
33
+ _linkDirs = H.or4Dirs;
34
+ topoDCR(rc) {
35
+ return { N: { dr: -1, dc: 0 }, E: { dr: 0, dc: 1 }, S: { dr: 1, dc: 0 }, W: { dr: 0, dc: -1 } };
36
+ }
37
+ }
38
+ export class TopoEWC extends TopoC {
39
+ _linkDirs = H.ewDirs;
40
+ // Hex rows with alternating alignment:
41
+ ewEvenRow = {
42
+ NE: { dc: 0, dr: -1 }, E: { dc: 1, dr: 0 }, SE: { dc: 0, dr: 1 },
43
+ SW: { dc: -1, dr: 1 }, W: { dc: -1, dr: 0 }, NW: { dc: -1, dr: -1 }
44
+ };
45
+ ewOddRow = {
46
+ NE: { dc: 1, dr: -1 }, E: { dc: 1, dr: 0 }, SE: { dc: 1, dr: 1 },
47
+ SW: { dc: 0, dr: 1 }, W: { dc: -1, dr: 0 }, NW: { dc: 0, dr: -1 }
48
+ };
49
+ topoDCR(rc) { return (rc.row % 2 == 0) ? this.ewEvenRow : this.ewOddRow; }
14
50
  ;
15
- function EWxywh(rad = 1, row = 0, col = 0) {
51
+ xywh(rad = 1, row = 0, col = 0) {
16
52
  const h = 2 * rad, w = H.sqrt3 * rad, dydr = 1.5 * rad, dxdc = H.sqrt3 * rad;
17
53
  const x = (col + Math.abs(Math.floor(row) % 2) / 2) * dxdc;
18
54
  const y = (row) * dydr; // dist between rows
19
55
  return { x, y, w, h, dxdc, dydr };
20
56
  }
21
- H.EWxywh = EWxywh;
22
57
  ;
58
+ }
59
+ export class TopoNSC extends TopoC {
60
+ _linkDirs = H.nsDirs;
61
+ // Hex columns with alternating alignment:
62
+ nsEvenCol = {
63
+ EN: { dc: +1, dr: -1 }, N: { dc: 0, dr: -1 }, ES: { dc: +1, dr: 0 },
64
+ WS: { dc: -1, dr: 0 }, S: { dc: 0, dr: +1 }, WN: { dc: -1, dr: -1 }
65
+ };
66
+ nsOddCol = {
67
+ EN: { dc: 1, dr: 0 }, N: { dc: 0, dr: -1 }, ES: { dc: 1, dr: 1 },
68
+ WS: { dc: -1, dr: 1 }, S: { dc: 0, dr: 1 }, WN: { dc: -1, dr: 0 }
69
+ };
70
+ topoDCR(rc) { return (rc.col % 2 == 0) ? this.nsEvenCol : this.nsOddCol; }
71
+ ;
72
+ xywh(rad = 1, row = 0, col = 0) {
73
+ const h = 2 * rad, w = H.sqrt3 * rad, dydr = 1.5 * rad, dxdc = H.sqrt3 * rad;
74
+ const x = (col) * dxdc; // dist between rows
75
+ const y = (row + Math.abs(Math.floor(col) % 2) / 2) * dydr;
76
+ return { x, y, w, h, dxdc, dydr };
77
+ }
78
+ ;
79
+ }
80
+ /** Hex things */
81
+ export var H;
82
+ (function (H) {
83
+ H.degToRadians = Math.PI / 180;
84
+ H.sqrt3 = Math.sqrt(3); // 1.7320508075688772
85
+ H.sqrt3_2 = H.sqrt3 / 2;
23
86
  /** not a HexDir, but identifies a Center; no Dir */
24
87
  H.C = 'C';
25
88
  H.N = 'N';
@@ -41,29 +104,8 @@ export var H;
41
104
  return { x: -w, y: -h, width: 2 * w, height: 2 * h };
42
105
  }
43
106
  H.hexBounds = hexBounds;
44
- /** neighborhood topology, E-W & N-S orientation; even(n0) & odd(n1) rows: */
45
- H.ewEvenRow = {
46
- NE: { dc: 0, dr: -1 }, E: { dc: 1, dr: 0 }, SE: { dc: 0, dr: 1 },
47
- SW: { dc: -1, dr: 1 }, W: { dc: -1, dr: 0 }, NW: { dc: -1, dr: -1 }
48
- };
49
- H.ewOddRow = {
50
- NE: { dc: 1, dr: -1 }, E: { dc: 1, dr: 0 }, SE: { dc: 1, dr: 1 },
51
- SW: { dc: 0, dr: 1 }, W: { dc: -1, dr: 0 }, NW: { dc: 0, dr: -1 }
52
- };
53
- H.nsEvenCol = {
54
- EN: { dc: +1, dr: -1 }, N: { dc: 0, dr: -1 }, ES: { dc: +1, dr: 0 },
55
- WS: { dc: -1, dr: 0 }, S: { dc: 0, dr: +1 }, WN: { dc: -1, dr: -1 }
56
- };
57
- H.nsOddCol = {
58
- EN: { dc: 1, dr: 0 }, N: { dc: 0, dr: -1 }, ES: { dc: 1, dr: 1 },
59
- WS: { dc: -1, dr: 1 }, S: { dc: 0, dr: 1 }, WN: { dc: -1, dr: 0 }
60
- };
61
- function nsTopo(rc) { return (rc.col % 2 == 0) ? H.nsEvenCol : H.nsOddCol; }
62
- H.nsTopo = nsTopo;
63
- ;
64
- function ewTopo(rc) { return (rc.row % 2 == 0) ? H.ewEvenRow : H.ewOddRow; }
65
- H.ewTopo = ewTopo;
66
- ;
107
+ H.or4Dirs = [H.E, H.S, H.W, H.N];
108
+ H.or8Dirs = [H.NE, H.E, H.SE, H.S, H.SW, H.W, H.NW, H.N];
67
109
  /** includes E & W, suitable for ewTopo */
68
110
  H.ewDirs = [H.NE, H.E, H.SE, H.SW, H.W, H.NW]; // directions in TopoEW: EwDir
69
111
  /** includes N & S, suitable for nsTopo */
@@ -78,12 +120,6 @@ export var H;
78
120
  H.dirRev = { N: H.S, S: H.N, E: H.W, W: H.E, NE: H.SW, SE: H.NW, SW: H.NE, NW: H.SE, ES: H.WN, EN: H.WS, WS: H.EN, WN: H.ES };
79
121
  H.dirRevEW = { E: H.W, W: H.E, NE: H.SW, SE: H.NW, SW: H.NE, NW: H.SE };
80
122
  H.dirRevNS = { N: H.S, S: H.N, EN: H.WS, ES: H.WN, WS: H.EN, WN: H.ES };
81
- H.rotDir = { 0: 'N', 30: 'NE', 60: 'EN', 90: 'E', 120: 'ES', 150: 'SE', 180: 'S', 210: 'SW', 240: 'WS', 270: 'W', 300: 'WN', 330: 'NW', 360: 'N' };
82
- // @deprecated: specific to hexline
83
- H.capColor1 = "rgba(150, 0, 0, .8)"; // unplayable: captured last turn
84
- H.capColor2 = "rgba(128, 80, 80, .8)"; // protoMove would capture
85
- H.sacColor1 = "rgba(228, 80, 0, .8)"; // unplayable: sacrifice w/o capture
86
- H.sacColor2 = "rgba(228, 120, 0, .6)"; // isplayable: sacrifice w/ capture
87
- H.fjColor = "rgba(228, 228, 0, .8)"; // ~unplayable: jeopardy w/o capture
123
+ H.rotDir = { 0: H.N, 30: H.NE, 60: H.EN, 90: H.E, 120: H.ES, 150: H.SE, 180: H.S, 210: H.SW, 240: H.WS, 270: H.W, 300: H.WN, 330: H.NW, 360: H.N };
88
124
  })(H || (H = {}));
89
125
  //# sourceMappingURL=hex-intfs.js.map