@thegraid/hexlib 1.3.8 → 1.3.9

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.
@@ -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":"AAAA,OAAO,EAAe,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAgB,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAS,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAO,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAY,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAK9B,yBAAyB;AACzB,KAAK,CAAC,IAAI,GAAG,CAAC,GAA8E,EAAE,EAAE;IAC9F,IAAI,KAAK,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAc,CAAC;AACnE,CAAC,CAAA;AAKyD,CAAC;AAG3D,MAAM,WAAY,SAAQ,cAAc;IACtC,2FAA2F;IAC3F,yCAAyC;IACzC,IAAI;IAEK,MAAM,CAAC,IAAe;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,yDAAyD;AACzD,MAAM,OAAO,SAAS;IAgBiB;IAdrC,KAAK,CAAQ;IACb,MAAM,CAAc;IACpB,QAAQ,CAAW;IACnB,KAAK,CAAQ,CAAQ,yEAAyE;IAE9F;;;;;;;;OAQG;IACH,YAAY,QAAgB,EAAS,UAAkB,EAAE;QAApB,YAAO,GAAP,OAAO,CAAa;QACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,WAAW,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,IAAI,GAAG,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,uGAAuG;IACvG,UAAU,CAAC,QAAgB;QACzB,KAAK,CAAC,GAAG,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAiB,+CAA+C;QACzF,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAc,+CAA+C;IAC3F,CAAC;IAGD,oEAAoE;IACpE,IAAI,SAAS;QACX,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtE,CAAC;IAED,qBAAqB,CAAC,UAAkB,IAAI,CAAC,OAAO;QAClD,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,QAAkB;QACxC,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,4BAA4B;IAC5B,QAAQ,GAAG,CAAC,CAAC;IACb,cAAc,CAAC,QAAkB;QAC/B,qCAAqC;QACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAuB;SACxD;QACD,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,iCAAiC;QAC5D,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,GAAG,GAAG,CAAA,CAAC,oBAAoB;IACpC,IAAI,QAAQ,CAAC,GAAW;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAA;QAC7D,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC3F,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IAChD,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,GAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA,CAAC,CAAC;IAExF,UAAU,CAAS;IACnB,iDAAiD;IACxC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC1C,aAAa;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,OAAO,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,8CAA8C;QACzG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,GAAG,KAAK,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,SAA+B;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAE,kCAAkC;QAClE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5B,2FAA2F;QAC3F,+EAA+E;QAC/E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA;QACnD,IAAI,WAAW,GAAG,CAAC,IAAe,EAAE,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAA;gBAC9B,IAAI,IAAI,YAAY,SAAS;oBAAE,WAAW,CAAC,IAAI,CAAC,CAAA;YAClD,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC1B,CAAC,CAAA;QACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAa,2EAA2E;QACvG,2BAA2B;QAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAA,CAAC,8DAA8D;IAChH,CAAC;IAED,gEAAgE;IAChE,UAAU,CAAC,SAA+B;QACxC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,SAAsB,CAAC;QAClD,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC;QAC5B,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC;QAC5B,EAAE,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,2CAA2C;IAC3C,iBAAiB;QACf,MAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAgB,CAAC;QACpF,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAqB,CAAC;QACrF,gBAAgB,CAAC,OAAO,GAAG,GAAG,EAAE;YAC9B,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAa,CAAC;YACjD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAChF,CAAC,CAAA;IACH,CAAC;IAED,eAAe,CAAgB;IAC/B,KAAK,CAAC,oBAAoB;QACxB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAI,UAA0C,CAAC,IAAI,CAAC;QAClE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAqB,CAAC;QACpF,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC;QAC3C,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAG,wCAAwC;QACvE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAY;QACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAe,CAAC;QACrD,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,QAAQ,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAe,CAAC;QAC/E,KAAK,CAAC,KAAK,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,UAAU;QACtD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACvB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC,UAAU,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CACR,QAAkC,MAAM,EACxC,OAAyB,IAAI,EAC7B,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,EAAc;QAE5C,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAO,6BAA6B;QACtE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAe,kCAAkC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,SAAS;QACP,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,UAAkB,IAAI,CAAC,OAAO;QAC5C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,QAAkB;QAC7B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAQ,yBAAyB;QACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAW,yCAAyC;QACpF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,8BAA8B;QAC9B,uCAAuC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,QAAkB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAK,4CAA4C;QAE/E,mGAAmG;QACnG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAK,6CAA6C;QAE9E,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAG,6CAA6C;QAC9E,mDAAmD;QACnD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,oEAAoE;QAClG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE/B,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAQ,kDAAkD;QAC1G,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAE,2CAA2C;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAG,gDAAgD;QAC3E,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,0BAA0B;QACvE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,2DAA2D;QACtF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kBAAkB,CAAC,MAAmB,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC9D,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,CAAiB;IAC/B;;;;OAIG;IACH,aAAa,CAAC,QAAkB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,+BAA+B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QAClF,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC"}
@@ -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":"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"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"hex-intfs.js","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hex-intfs.js","sourceRoot":"","sources":["../src/hex-intfs.ts"],"names":[],"mappings":"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"}