@thegraid/hexlib 1.4.3 → 1.4.5
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.
- package/dist/game-play.d.ts +22 -18
- package/dist/game-play.d.ts.map +1 -1
- package/dist/game-play.js +52 -43
- package/dist/game-play.js.map +1 -1
- package/dist/game-setup.d.ts +36 -21
- package/dist/game-setup.d.ts.map +1 -1
- package/dist/game-setup.js +84 -53
- package/dist/game-setup.js.map +1 -1
- package/dist/game-state.d.ts +6 -6
- package/dist/game-state.d.ts.map +1 -1
- package/dist/game-state.js +9 -6
- package/dist/game-state.js.map +1 -1
- package/dist/player.d.ts +11 -5
- package/dist/player.d.ts.map +1 -1
- package/dist/player.js +18 -11
- package/dist/player.js.map +1 -1
- package/dist/scenario-parser.d.ts +5 -5
- package/dist/scenario-parser.d.ts.map +1 -1
- package/dist/scenario-parser.js +4 -3
- package/dist/scenario-parser.js.map +1 -1
- package/dist/stream-writer.d.ts +3 -1
- package/dist/stream-writer.d.ts.map +1 -1
- package/dist/stream-writer.js +6 -3
- package/dist/stream-writer.js.map +1 -1
- package/dist/table-params.d.ts.map +1 -1
- package/dist/table-params.js +1 -1
- package/dist/table-params.js.map +1 -1
- package/dist/table.d.ts +6 -2
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +16 -14
- package/dist/table.js.map +1 -1
- package/dist/tile.d.ts +5 -4
- package/dist/tile.d.ts.map +1 -1
- package/dist/tile.js +9 -8
- package/dist/tile.js.map +1 -1
- package/package.json +3 -3
package/dist/game-setup.js
CHANGED
|
@@ -43,7 +43,6 @@ export class GameSetup {
|
|
|
43
43
|
this.qParams = qParams;
|
|
44
44
|
this.logWriter = this.makeLogWriter();
|
|
45
45
|
this.initialize(canvasId);
|
|
46
|
-
this.loadImagesThenStartup(this.qParams);
|
|
47
46
|
}
|
|
48
47
|
static random_seed = '';
|
|
49
48
|
get seed() { return GameSetup.random_seed; }
|
|
@@ -64,9 +63,18 @@ export class GameSetup {
|
|
|
64
63
|
this.init_random(this.qParams.rand);
|
|
65
64
|
this.stage = makeStage(canvasId, false);
|
|
66
65
|
this.stage.snapToPixel = TP.snapToPixel;
|
|
66
|
+
this.setupNetwork(this.qParams);
|
|
67
67
|
this.setupToParseState(); // restart when/if 'SetState' button is clicked
|
|
68
68
|
this.setupToReadFileState(); // restart when/if 'LoadFile' button is clicked
|
|
69
69
|
}
|
|
70
|
+
/** set TP.{ghost, gport, networkGroup, networkUrl} from qParams */
|
|
71
|
+
setupNetwork(qParams = this.qParams) {
|
|
72
|
+
const { host, port, title } = qParams;
|
|
73
|
+
TP.ghost = host || TP.ghost;
|
|
74
|
+
TP.gport = Number.parseInt(port || TP.gport.toString(10), 10);
|
|
75
|
+
TP.networkGroup = `${title}:game1`;
|
|
76
|
+
TP.networkUrl = TP.buildURL(undefined);
|
|
77
|
+
}
|
|
70
78
|
/** Label browser page. Typically: nPlayer=n, scenario from file. */
|
|
71
79
|
get pageLabel() {
|
|
72
80
|
const { n, file } = this.qParams;
|
|
@@ -77,7 +85,7 @@ export class GameSetup {
|
|
|
77
85
|
AliasLoader.loader.loadImages(() => this.startup(qParams));
|
|
78
86
|
}
|
|
79
87
|
makePlayer(ndx, gamePlay) {
|
|
80
|
-
new Player(ndx, gamePlay);
|
|
88
|
+
return new Player(ndx, gamePlay);
|
|
81
89
|
}
|
|
82
90
|
/** set from qParams['n'] */
|
|
83
91
|
nPlayers = 2;
|
|
@@ -108,9 +116,9 @@ export class GameSetup {
|
|
|
108
116
|
const logWriter = new LogWriter(logTime_js, '[\n', ']\n'); // terminate array, but insert before terminal
|
|
109
117
|
return logWriter;
|
|
110
118
|
}
|
|
111
|
-
restartable = false;
|
|
112
119
|
/**
|
|
113
|
-
* C-s ==> end game & deconstruct;
|
|
120
|
+
* C-s ==> end game & deconstruct; startScenario(this.startupScenario)
|
|
121
|
+
*
|
|
114
122
|
* - allPlayers.endGame()
|
|
115
123
|
* - deContainer(this.stage)
|
|
116
124
|
* - zeroAllArrays()
|
|
@@ -122,14 +130,12 @@ export class GameSetup {
|
|
|
122
130
|
// parseStateButton: restart({ parsed from JSON text element })
|
|
123
131
|
// extractStateFromString: restart({ parsed from file@turn })
|
|
124
132
|
restart(stateInfo) {
|
|
125
|
-
|
|
126
|
-
return; // ignore call from within makeGUI
|
|
127
|
-
let netState = this.netState;
|
|
133
|
+
const netState = this.netState;
|
|
128
134
|
// this.gamePlay.closeNetwork('restart') // See: hexcity [aka: CityMap, BoomTown], CgClient
|
|
129
135
|
// this.gamePlay.logWriter?.closeFile() // maybe put in NetClient, vs GamePlay
|
|
130
136
|
this.gamePlay.forEachPlayer(p => p.endGame());
|
|
131
137
|
this.gamePlay.allTiles.forEach(tile => tile.hex = undefined);
|
|
132
|
-
|
|
138
|
+
const deContainer = (cont) => {
|
|
133
139
|
cont.children.forEach(dObj => {
|
|
134
140
|
dObj.removeAllEventListeners();
|
|
135
141
|
if (dObj instanceof Container)
|
|
@@ -139,7 +145,8 @@ export class GameSetup {
|
|
|
139
145
|
};
|
|
140
146
|
deContainer(this.stage);
|
|
141
147
|
this.zeroAllArrays();
|
|
142
|
-
this.
|
|
148
|
+
this.resetState(stateInfo); // stateInfo may have {nh?, mh?, hexRad?} from ParamGUI
|
|
149
|
+
this.startScenario(stateInfo); // was in resetState() but this makes more sense.
|
|
143
150
|
// next tick, new thread...
|
|
144
151
|
setTimeout(() => this.netState = netState, 100); // onChange-> ('new', 'join', 'ref') initiate a new connection
|
|
145
152
|
}
|
|
@@ -147,18 +154,23 @@ export class GameSetup {
|
|
|
147
154
|
* zero gamePlay.allTile/Meeples/Players/etc for deconstruction.
|
|
148
155
|
*
|
|
149
156
|
* Not essential, this.gamePlay will be dropped/replaced in startup().
|
|
157
|
+
*
|
|
158
|
+
* @param clearLog [true] false to retain backlog (someday: allLog!)
|
|
150
159
|
*/
|
|
151
|
-
zeroAllArrays() {
|
|
160
|
+
zeroAllArrays(clearLog = true) {
|
|
152
161
|
this.gamePlay.allTiles.length = 0;
|
|
153
162
|
this.gamePlay.allMeeples.length = 0;
|
|
154
163
|
this.gamePlay.allPlayers.length = 0;
|
|
155
164
|
// include logWriter here, for easier override
|
|
156
|
-
|
|
165
|
+
if (clearLog && this.logWriter)
|
|
166
|
+
this.logWriter.backlog.length = 0; // flush the backlog (assume file is closed)
|
|
157
167
|
}
|
|
158
168
|
/**
|
|
159
169
|
* set TableParams from HexAspect of ParamGUI
|
|
160
170
|
*
|
|
161
|
-
*
|
|
171
|
+
* originally from hexmarket: find consistent set from mh, nh, dbp, etc.
|
|
172
|
+
*
|
|
173
|
+
* could override to edit any Scenario bits before restart() --> startScenario(scenario)
|
|
162
174
|
* @param stateInfo (HexAspect mostly?)
|
|
163
175
|
*/
|
|
164
176
|
resetState(stateInfo) {
|
|
@@ -190,13 +202,24 @@ export class GameSetup {
|
|
|
190
202
|
* @param restart [(s) => this.restart(s)] process the Scenario
|
|
191
203
|
*/
|
|
192
204
|
parseStateTextAndRestart(stateText, restart = (setupElt) => this.restart(setupElt)) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
205
|
+
if (!stateText) {
|
|
206
|
+
stateText = document.getElementById('parseStateText').value;
|
|
207
|
+
}
|
|
208
|
+
stateText = stateText.replace(/,$/, ''); // JSON5 barfs on trailing ','
|
|
209
|
+
console.log(stime(this, `.parseStateTextAndRestart: '${stateText}'`));
|
|
210
|
+
if (stateText) {
|
|
211
|
+
try {
|
|
212
|
+
const setupElt = JSON5.parse(stateText + ' ');
|
|
213
|
+
setupElt.Aname = setupElt.Aname ?? `parseStateText`;
|
|
214
|
+
restart(setupElt);
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
console.log(stime(this, `.parseStateAndRestart:`), err);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
console.log(stime(this, `.parseStateAndRestart: no stateText`));
|
|
222
|
+
}
|
|
200
223
|
}
|
|
201
224
|
fileReadPromise;
|
|
202
225
|
async setupToReadFileState() {
|
|
@@ -222,7 +245,7 @@ export class GameSetup {
|
|
|
222
245
|
* @returns stateInfo suitable for restart(stateInfo)
|
|
223
246
|
*/
|
|
224
247
|
extractStateFromLogText(logText, fileName, turn) {
|
|
225
|
-
const logArray = JSON5.parse(logText);
|
|
248
|
+
const logArray = JSON5.parse(logText + ' ');
|
|
226
249
|
const [, ...stateArray] = logArray;
|
|
227
250
|
const state = stateArray.find(state => state.turn === turn) ?? {};
|
|
228
251
|
state.Aname = `${fileName}@${turn}`;
|
|
@@ -283,70 +306,78 @@ export class GameSetup {
|
|
|
283
306
|
return { Aname: 'defaultScenario', n, ...qParams, turn: 0, };
|
|
284
307
|
}
|
|
285
308
|
makeGamePlay(startElt) {
|
|
286
|
-
return new GamePlay(this, startElt);
|
|
309
|
+
return new GamePlay(this, startElt); // you may want: return Tile.gamePlay = new GamePlay(...)
|
|
287
310
|
}
|
|
288
311
|
/**
|
|
289
|
-
*
|
|
312
|
+
* invoke startScenario(StartElt)
|
|
290
313
|
*
|
|
291
|
-
*
|
|
292
|
-
* - initialScenario(this.qParams)
|
|
293
|
-
* -
|
|
314
|
+
* From constructor() --> loadImagesThenStartup() --> startup()
|
|
294
315
|
*
|
|
295
|
-
* -
|
|
296
|
-
* - makeHexMap()
|
|
297
|
-
* - makeTable()
|
|
298
|
-
* - makeGamePlay(scenario)
|
|
316
|
+
* - this.startScenario = initialScenario(this.qParams)
|
|
299
317
|
* - startScenario(scenario)
|
|
300
318
|
*
|
|
301
319
|
* @param scenario [initialScenario(this.qParams), qParams as obtained from URL]
|
|
302
320
|
*/
|
|
303
|
-
// loadImagesThenStartup-->startup(qParams); initially
|
|
304
|
-
//
|
|
321
|
+
// loadImagesThenStartup --> startup(qParams); initially
|
|
322
|
+
// parseStateAndRestart(?) --> startScenario(Scenario); incrementally
|
|
305
323
|
startup(qParams) {
|
|
306
324
|
// initialScenario produces a StartupElt from qParams (which could be a SetupElt)
|
|
307
325
|
const startElt = this.initialScenario(qParams);
|
|
308
|
-
// qParams may have {nh?, mh?, hexRad?} from ParamGUI
|
|
309
|
-
this.resetState(startElt); // <-- inject/edit necessary elements: nGods, godNames,...
|
|
310
326
|
this.startupScenario = startElt; // retain for future reference
|
|
311
|
-
this.nPlayers = this.getNPlayers(); // Scenario may override?
|
|
312
|
-
this.hexMap = this.makeHexMap(); // then copied from gameSetup -> gamePlay
|
|
313
|
-
this.table = this.makeTable();
|
|
314
|
-
// Inject Table into GamePlay;
|
|
315
|
-
// GameState, mouse/keyboard->GamePlay,
|
|
316
|
-
this.gamePlay = this.makeGamePlay(startElt); // scenario provided... maybe not used
|
|
317
327
|
this.startScenario(startElt);
|
|
318
328
|
}
|
|
319
|
-
/** the scenario last used by
|
|
329
|
+
/** the scenario last used by startup(scenario) */
|
|
320
330
|
startupScenario;
|
|
321
331
|
/**
|
|
322
|
-
*
|
|
332
|
+
* Make new Table/layout & gamePlay/hexMap & Players.
|
|
323
333
|
*
|
|
324
|
-
*
|
|
334
|
+
* Make hexMap, table, and gamePlay;
|
|
335
|
+
* Setup/layout everything for the game scenario.
|
|
336
|
+
*
|
|
337
|
+
* - getNPlayers()
|
|
338
|
+
* - makeHexMap()
|
|
339
|
+
* - makeTable()
|
|
340
|
+
* - makeGamePlay(scenario)
|
|
341
|
+
* -
|
|
325
342
|
* - makeAllPlayers(gamePlay)
|
|
326
343
|
* - layoutTable(gamePlay)
|
|
327
344
|
* - gamePlay.turnNumber = -1
|
|
345
|
+
* -
|
|
328
346
|
* - parseScenario(scenario) // scenario.turn set on a FULL/SAVED scenario
|
|
329
347
|
* - forEachPlayer(p.newGame(gamePlay))
|
|
330
|
-
* -
|
|
331
|
-
* - table.startGame(scenario)
|
|
348
|
+
* - startGame()
|
|
332
349
|
*/
|
|
333
350
|
startScenario(scenario) {
|
|
334
|
-
|
|
351
|
+
this.nPlayers = this.getNPlayers(); // Scenario may override?
|
|
352
|
+
this.hexMap = this.makeHexMap(); // then copied from gameSetup -> gamePlay
|
|
353
|
+
this.table = this.makeTable();
|
|
354
|
+
// GameState, mouse/keyboard->GamePlay,
|
|
355
|
+
const gamePlay = this.gamePlay = this.makeGamePlay(scenario); // scenario provided... maybe not used
|
|
335
356
|
this.makeAllPlayers(gamePlay); // Players have: civics & meeples & TownSpec
|
|
336
357
|
// Inject GamePlay to Table; all the GUI components, makeAllDistricts(), addTerrain, initialRegions
|
|
337
|
-
this.
|
|
338
|
-
gamePlay.turnNumber = -1; // in prep for setNextPlayer or parseScenario
|
|
358
|
+
this.layoutTable(gamePlay); // mutual injection & make all panelForPlayer
|
|
339
359
|
// Place Tiles and Meeple on HexMap, set GameState.
|
|
340
360
|
gamePlay.parseScenario(scenario); // may change gamePlay.turnNumber, gamePlay.phase (& conflictRegion)
|
|
361
|
+
this.makeGUIs(); // reflect settings from scenario. QQQ: is this the right place?
|
|
341
362
|
gamePlay.logWriterLine0();
|
|
342
363
|
gamePlay.forEachPlayer(p => p.newGame(gamePlay)); // make Planner *after* table & gamePlay are setup
|
|
343
|
-
|
|
344
|
-
this.restartable = false; // block makeGUIs from reentrant restart()
|
|
345
|
-
this.table.makeGUIs();
|
|
346
|
-
this.restartable = true; // *after* makeLines has stablilized selectValue
|
|
347
|
-
}
|
|
348
|
-
this.table.startGame(); // enable GUI & setNextPlayer()
|
|
364
|
+
this.startGame();
|
|
349
365
|
return gamePlay;
|
|
350
366
|
}
|
|
367
|
+
/** table.makeGUIs() */
|
|
368
|
+
makeGUIs() {
|
|
369
|
+
this.table.makeGUIs();
|
|
370
|
+
}
|
|
371
|
+
/** table.layoutTable(gamePlay) */
|
|
372
|
+
layoutTable(gamePlay) {
|
|
373
|
+
this.table.layoutTable(gamePlay);
|
|
374
|
+
}
|
|
375
|
+
/** table.startGame(); gamePlay.start(); */
|
|
376
|
+
startGame() {
|
|
377
|
+
this.table.startGame(); // enable GUI & setNextPlayer()
|
|
378
|
+
const gamePlay = this.gamePlay; // tn<0 marked 'preGame'; may be obsolete
|
|
379
|
+
gamePlay.setNextPlayer(gamePlay.turnNumber > 0 ? gamePlay.turnNumber : 0);
|
|
380
|
+
gamePlay.gameState.start();
|
|
381
|
+
}
|
|
351
382
|
}
|
|
352
383
|
//# sourceMappingURL=game-setup.js.map
|
package/dist/game-setup.js.map
CHANGED
|
@@ -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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"}
|
package/dist/game-state.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GamePlay0 } from "./game-play";
|
|
2
2
|
export interface Phase {
|
|
3
3
|
Aname?: string;
|
|
4
4
|
start(...args: any[]): void;
|
|
@@ -7,9 +7,9 @@ export interface Phase {
|
|
|
7
7
|
nextPhase?: string;
|
|
8
8
|
}
|
|
9
9
|
export declare class GameState {
|
|
10
|
-
gamePlay:
|
|
10
|
+
gamePlay: GamePlay0;
|
|
11
11
|
/** created by new GamePlay(); initialized/injected into gamePlay.gameState. */
|
|
12
|
-
constructor(gamePlay:
|
|
12
|
+
constructor(gamePlay: GamePlay0, states?: Record<string, Phase>, purge?: boolean | string[]);
|
|
13
13
|
defineStates(states?: {
|
|
14
14
|
[index: string]: Phase;
|
|
15
15
|
}, purge?: boolean | string[]): void;
|
|
@@ -17,15 +17,15 @@ export declare class GameState {
|
|
|
17
17
|
* The current state: a Phase identified by Aname, with a start() function.
|
|
18
18
|
*/
|
|
19
19
|
state: Phase;
|
|
20
|
-
get table(): import("./table").Table;
|
|
20
|
+
get table(): import("./table").Table | undefined;
|
|
21
21
|
get curPlayer(): import("./player").Player;
|
|
22
22
|
/** create gameState component of ScenarioParser.SetupElt */
|
|
23
23
|
saveState(): any[];
|
|
24
24
|
parseState(args: any[]): void;
|
|
25
25
|
startPhase: string;
|
|
26
|
-
startArgs:
|
|
26
|
+
startArgs: any[];
|
|
27
27
|
/** Bootstrap the Scenario: this.phase(startPhase, ...startArgs). */
|
|
28
|
-
start(): void;
|
|
28
|
+
start(startPhase?: string, startArgs?: any[]): void;
|
|
29
29
|
/** set state and state.start() with given args. */
|
|
30
30
|
phase(phase: string, ...args: any[]): void;
|
|
31
31
|
/** true if currently in the named state */
|
package/dist/game-state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-state.d.ts","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"game-state.d.ts","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IAGD,QAAQ,EAAE,SAAS;IADtC,+EAA+E;gBAC5D,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAC,KAAK,CAAC,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,EAAU;IAGxG,YAAY,CAAC,MAAM;;KAAc,EAAE,KAAK,GAAE,OAAO,GAAG,MAAM,EAAU;IASpE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,KAAK,wCAAkC;IAC3C,IAAI,SAAS,8BAAsC;IAGnD,4DAA4D;IAC5D,SAAS,IAAI,GAAG,EAAE;IAIlB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;IAGtB,UAAU,SAAe;IACzB,SAAS,EAAE,GAAG,EAAE,CAAM;IACtB,oEAAoE;IACpE,KAAK,CAAC,UAAU,SAAkB,EAAE,SAAS,QAAiB;IAM9D,mDAAmD;IACnD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAOnC,2CAA2C;IAC3C,OAAO,CAAC,IAAI,EAAE,MAAM;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAuB,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI;IAUhF,+EAA+E;IAC/E,SAAS,SAAe;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAOnB,UAAU;IAMV,QAAQ,CAAC,MAAM,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CA2CzC;CAEH"}
|
package/dist/game-state.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { stime } from "@thegraid/common-lib";
|
|
2
|
+
// import { json } from "./functions";
|
|
2
3
|
import { afterUpdate } from "@thegraid/easeljs-lib";
|
|
3
4
|
export class GameState {
|
|
4
5
|
gamePlay;
|
|
@@ -19,7 +20,7 @@ export class GameState {
|
|
|
19
20
|
* The current state: a Phase identified by Aname, with a start() function.
|
|
20
21
|
*/
|
|
21
22
|
state;
|
|
22
|
-
get table() { return this.gamePlay
|
|
23
|
+
get table() { return this.gamePlay.table; }
|
|
23
24
|
get curPlayer() { return this.gamePlay.curPlayer; }
|
|
24
25
|
// [eventName, eventSpecial, phase, args]
|
|
25
26
|
/** create gameState component of ScenarioParser.SetupElt */
|
|
@@ -31,18 +32,20 @@ export class GameState {
|
|
|
31
32
|
startPhase = 'BeginTurn';
|
|
32
33
|
startArgs = [];
|
|
33
34
|
/** Bootstrap the Scenario: this.phase(startPhase, ...startArgs). */
|
|
34
|
-
start() {
|
|
35
|
-
this.
|
|
35
|
+
start(startPhase = this.startPhase, startArgs = this.startArgs) {
|
|
36
|
+
this.startPhase = startPhase;
|
|
37
|
+
this.startArgs = startArgs;
|
|
38
|
+
this.phase(startPhase, ...startArgs);
|
|
36
39
|
}
|
|
37
40
|
/** set state and state.start() with given args. */
|
|
38
41
|
phase(phase, ...args) {
|
|
39
|
-
console.log(stime(this, `.phase: ${this.state?.Aname ?? 'Initialize'} -> ${phase}`));
|
|
42
|
+
console.log(stime(this, `.phase: ${this.state?.Aname ?? 'Initialize'} -> ${phase}`), args);
|
|
40
43
|
const state = this.state = this.states[phase];
|
|
41
44
|
if (!state) {
|
|
42
45
|
alert(`no state named ${phase}`);
|
|
43
46
|
debugger;
|
|
44
47
|
}
|
|
45
|
-
state.start(...args);
|
|
48
|
+
setTimeout(() => state.start(...args), 0);
|
|
46
49
|
}
|
|
47
50
|
/** true if currently in the named state */
|
|
48
51
|
isPhase(name) { return this.state === this.states[name]; }
|
|
@@ -53,7 +56,7 @@ export class GameState {
|
|
|
53
56
|
* @param afterPopup continuation after stage.update()
|
|
54
57
|
*/
|
|
55
58
|
doneButton(label, color = this.curPlayer.color, afterPopup) {
|
|
56
|
-
const doneButton = this.table
|
|
59
|
+
const doneButton = this.table?.doneButton;
|
|
57
60
|
if (!doneButton)
|
|
58
61
|
return;
|
|
59
62
|
doneButton.visible = !!label;
|
package/dist/game-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-state.js","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"game-state.js","sourceRoot":"","sources":["../src/game-state.ts"],"names":[],"mappings":"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"}
|
package/dist/player.d.ts
CHANGED
|
@@ -8,17 +8,23 @@ import { MapTile, Tile } from "./tile";
|
|
|
8
8
|
export declare class Player {
|
|
9
9
|
readonly index: number;
|
|
10
10
|
readonly gamePlay: GamePlay;
|
|
11
|
+
/** Record<canonical name, HTML color string> */
|
|
11
12
|
static colorScheme: Record<string, string>;
|
|
12
13
|
/**
|
|
13
|
-
*
|
|
14
|
-
* @param
|
|
15
|
-
* @returns colorScheme[ndx]
|
|
14
|
+
* Given canonical name (or numerical ndx), map to arbitrary HTML color.
|
|
15
|
+
* @param cname number or (keyof typeof Player.colorScheme)
|
|
16
|
+
* @returns colorScheme[ndx] as HTML color string
|
|
16
17
|
*/
|
|
17
|
-
static playerColor(
|
|
18
|
+
static playerColor(cname: number | keyof typeof Player.colorScheme): string;
|
|
19
|
+
/** invert from HTML color to find canonical cname */
|
|
18
20
|
static colorName(color: string): string | undefined;
|
|
19
21
|
readonly Aname: string;
|
|
20
22
|
constructor(index: number, gamePlay: GamePlay);
|
|
23
|
+
/** action at end of Player.constructor() */
|
|
24
|
+
static logNewPlayer: (plyr: Player) => any;
|
|
25
|
+
get cname(): string | undefined;
|
|
21
26
|
_color: string;
|
|
27
|
+
/** HTML color string */
|
|
22
28
|
get color(): string;
|
|
23
29
|
set color(c: string);
|
|
24
30
|
/** now used as 'nominal' in log to identify player, never used as a COLOR */
|
|
@@ -43,7 +49,7 @@ export declare class Player {
|
|
|
43
49
|
/** if true then invoke plannerMove */
|
|
44
50
|
useRobo: boolean;
|
|
45
51
|
readonly startDir: HexDir;
|
|
46
|
-
/** make
|
|
52
|
+
/** make coinCounter, or whatever... */
|
|
47
53
|
makePlayerBits(): void;
|
|
48
54
|
endGame(): void;
|
|
49
55
|
static remotePlayer: number;
|
package/dist/player.d.ts.map
CHANGED
|
@@ -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,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;
|
|
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,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;IAoBf,QAAQ,CAAC,KAAK,EAAE,MAAM;aACN,QAAQ,EAAE,QAAQ;IAnBpC,iDAAiD;IACjD,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAsG;IAChJ;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,OAAO,MAAM,CAAC,WAAW;IAIlE,qDAAqD;IACrD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,KAAK,EAAE,MAAM,EACN,QAAQ,EAAE,QAAQ;IAQpC,4CAA4C;IAC5C,MAAM,CAAC,YAAY,SAAU,MAAM,KAAG,GAAG,CAEvC;IAEF,IAAI,KAAK,uBAA0C;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,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,gCAA0E;IAErF,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,CAD4B;IAC/C,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAuC;IAE1D,4DAA4D;IAC5D,IAAI,WAAW,WAAsD;IACrE,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,uCAAuC;IACvC,cAAc;IAId,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,YAAY,SAAI;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAgB;IAQ/C,OAAO;IAMP,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
|
@@ -6,17 +6,19 @@ export class Player {
|
|
|
6
6
|
index;
|
|
7
7
|
gamePlay;
|
|
8
8
|
// PlayerLib uses type string, client can make a restricted type
|
|
9
|
+
/** Record<canonical name, HTML color string> */
|
|
9
10
|
static colorScheme = { red: 'Red', blue: 'Blue', green: 'darkgreen', violet: 'Violet', gold: 'gold', purple: 'purple' };
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @param
|
|
13
|
-
* @returns colorScheme[ndx]
|
|
12
|
+
* Given canonical name (or numerical ndx), map to arbitrary HTML color.
|
|
13
|
+
* @param cname number or (keyof typeof Player.colorScheme)
|
|
14
|
+
* @returns colorScheme[ndx] as HTML color string
|
|
14
15
|
*/
|
|
15
|
-
static playerColor(
|
|
16
|
-
if (typeof
|
|
17
|
-
|
|
18
|
-
return Player.colorScheme[
|
|
16
|
+
static playerColor(cname) {
|
|
17
|
+
if (typeof cname === 'number')
|
|
18
|
+
cname = Object.keys(Player.colorScheme)[cname];
|
|
19
|
+
return Player.colorScheme[cname];
|
|
19
20
|
}
|
|
21
|
+
/** invert from HTML color to find canonical cname */
|
|
20
22
|
static colorName(color) {
|
|
21
23
|
return Object.keys(Player.colorScheme).find(k => Player.playerColor(k) === color);
|
|
22
24
|
}
|
|
@@ -27,11 +29,16 @@ export class Player {
|
|
|
27
29
|
gamePlay.allPlayers[index] = this;
|
|
28
30
|
TP.numPlayers = gamePlay.allPlayers.length; // incrementing up to gamePlay.nPlayers
|
|
29
31
|
this.color = Player.playerColor(index);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
console.log(stime(this, `.new:`), this.Aname);
|
|
32
|
+
this.Aname = `P${index}:${this.cname}`;
|
|
33
|
+
Player.logNewPlayer && Player.logNewPlayer(this);
|
|
33
34
|
}
|
|
35
|
+
/** action at end of Player.constructor() */
|
|
36
|
+
static logNewPlayer = (plyr) => {
|
|
37
|
+
console.log(stime(plyr, `.new:`), plyr.Aname);
|
|
38
|
+
};
|
|
39
|
+
get cname() { return Player.colorName(this.color); }
|
|
34
40
|
_color;
|
|
41
|
+
/** HTML color string */
|
|
35
42
|
get color() { return this._color; }
|
|
36
43
|
set color(c) { this._color = c; }
|
|
37
44
|
/** now used as 'nominal' in log to identify player, never used as a COLOR */
|
|
@@ -63,7 +70,7 @@ export class Player {
|
|
|
63
70
|
/** if true then invoke plannerMove */
|
|
64
71
|
useRobo = false;
|
|
65
72
|
startDir;
|
|
66
|
-
/** make
|
|
73
|
+
/** make coinCounter, or whatever... */
|
|
67
74
|
makePlayerBits() {
|
|
68
75
|
this.coinCounter = new NumCounter('coins', 0);
|
|
69
76
|
}
|
package/dist/player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,OAAO,GAAS,MAAM,QAAQ,CAAC;AAExC,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GamePlay0 } from "./game-play";
|
|
2
2
|
import { Hex, HexMap, IHex2 } from "./hex";
|
|
3
3
|
import type { LogWriter } from "./stream-writer";
|
|
4
4
|
export interface SetupElt {
|
|
@@ -23,8 +23,8 @@ export type StartElt = {
|
|
|
23
23
|
};
|
|
24
24
|
export declare class ScenarioParser {
|
|
25
25
|
map: HexMap<Hex>;
|
|
26
|
-
gamePlay:
|
|
27
|
-
constructor(map: HexMap<Hex>, gamePlay:
|
|
26
|
+
gamePlay: GamePlay0;
|
|
27
|
+
constructor(map: HexMap<Hex>, gamePlay: GamePlay0);
|
|
28
28
|
/**
|
|
29
29
|
* parse JSON to recreate all the needed bits (see Ankh.parseScenario).
|
|
30
30
|
*
|
|
@@ -37,9 +37,9 @@ export declare class ScenarioParser {
|
|
|
37
37
|
addStateElements(setupElt: SetupElt): SetupElt;
|
|
38
38
|
parseStateElements(setupElt: SetupElt): void;
|
|
39
39
|
/** override/replace to create a SetupElt and logState(logWriter) */
|
|
40
|
-
saveState(gamePlay?:
|
|
40
|
+
saveState(gamePlay?: GamePlay0, logWriter?: LogWriter | false): SetupElt;
|
|
41
41
|
/** write each component of SetupElt on a line, wrapped between '{' ... '\n}' */
|
|
42
|
-
logState(state: SetupElt, logWriter?: LogWriter):
|
|
42
|
+
logState(state: SetupElt, logWriter?: LogWriter | undefined): string;
|
|
43
43
|
/** debug utility: list legal hexes; click to toggle */
|
|
44
44
|
identCells(map: HexMap<IHex2>): void;
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario-parser.d.ts","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"scenario-parser.d.ts","sourceRoot":"","sources":["../src/scenario-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,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;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;AAG3D,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAA;AAGD,qBAAa,cAAc;IAEN,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;IAAS,QAAQ,EAAE,SAAS;gBAA5C,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAS,QAAQ,EAAE,SAAS;IAI/D;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,QAAQ;IAe7B,sDAAsD;IACtD,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAMnC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ;IAQrC,oEAAoE;IACpE,SAAS,CAAC,QAAQ,YAAgB,EAAE,SAAS,GAAE,SAAS,GAAG,KAAmC,GAAG,QAAQ;IAQzG,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,wBAA0B;IAW7D,uDAAuD;IACvD,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;CAe9B"}
|
package/dist/scenario-parser.js
CHANGED
|
@@ -24,7 +24,7 @@ export class ScenarioParser {
|
|
|
24
24
|
const turnSet = (turn !== undefined); // indicates a Saved Scenario: assign & place everything
|
|
25
25
|
if (turnSet) {
|
|
26
26
|
gamePlay.turnNumber = turn;
|
|
27
|
-
table
|
|
27
|
+
table?.logText(`turn = ${turn}`, `parseScenario`);
|
|
28
28
|
this.gamePlay.allTiles.forEach(tile => tile.hex?.isOnMap ? tile.sendHome() : undefined); // clear existing map
|
|
29
29
|
}
|
|
30
30
|
this.gamePlay.hexMap.update();
|
|
@@ -43,7 +43,7 @@ export class ScenarioParser {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
/** override/replace to create a SetupElt and logState(logWriter) */
|
|
46
|
-
saveState(gamePlay = this.gamePlay, logWriter = gamePlay.logWriter) {
|
|
46
|
+
saveState(gamePlay = this.gamePlay, logWriter = gamePlay.logWriter ?? false) {
|
|
47
47
|
const turn = Math.max(0, gamePlay.turnNumber);
|
|
48
48
|
const time = stime.fs();
|
|
49
49
|
const setupElt = this.addStateElements({ turn, time, });
|
|
@@ -59,7 +59,8 @@ export class ScenarioParser {
|
|
|
59
59
|
lines = `${lines}\n ${key}: ${line}${ndx < n ? ',' : ''}`;
|
|
60
60
|
});
|
|
61
61
|
lines = `${lines}\n},`;
|
|
62
|
-
logWriter
|
|
62
|
+
logWriter?.writeLine(lines);
|
|
63
|
+
return lines;
|
|
63
64
|
}
|
|
64
65
|
/** debug utility: list legal hexes; click to toggle */
|
|
65
66
|
identCells(map) {
|