Commit Graph

26 Commits

Author SHA1 Message Date
Michael Ficocelli 17ffabdfa5 IPVGO: Add new analysis method to set a custom testing board state (#2029) 2025-03-22 23:52:26 -07:00
Michael Ficocelli 47b34c8563 BUGFIX: Ensure that IPvGO promises are initialized correctly on a new save and on fluming (#2032) 2025-03-17 15:55:32 -07:00
wasniahC 76f614761d updated "getCornerMove" second "if" to correct coordinates for top left corner move (#2027) 2025-03-14 14:56:20 -07:00
David Walker db74fae2b7 Fix first-time Go initialization (#2012)
Fixes #2010
It was intended that all the various codepaths call `resetAI()` to
initialize the promise handling. However, when there is no savegame at
all, `loadGo()` is not even called, so this is skipped, and the promises
remain not-fully-initialized. This puts the initialization as part of
the static construction, guaranteeing a fix.

Tested all 3 scenarios in #2010, as well as two more:
* Delete save, immediately "Find new subnet".
* Play a move, save game, ensure IPvGO works on reload.
* Play a move, save game *before the AI moves*, ensure that the AI plays
  different random moves on reload.
2025-03-09 16:16:24 -07:00
Michael Ficocelli a611c842e2 IPVGO: correctly initialize board from save when there are no prior moves (#1995) 2025-03-06 11:30:12 -08:00
Michael Ficocelli c8d2c9f769 IPVGO: Support scripts playing against each other as each color on "No AI" boards (#1917)
This is a big change with a *lot* of moving parts.

The largest part of it is enabling scripts to `playAsWhite` as a parameter to many Go functions. In the implementation, this involved a significant rewrite of `opponentNextTurn` promise handling.

A number of other changes and bugfixes are included:
* Fixes the issue where handicap stones are added on game load.
* Better typing for error callbacks.
* Throw errors instead of deadlocking on bad cheat usage.
* Return always-resolved gameOver promise after game end
* Added a new `resetStats` api function.

---------

Co-authored-by: David Walker <d0sboots@gmail.com>
2025-02-02 20:47:16 -08:00
catloversg 97ca8c5f5e CODEBASE: Fix lint errors 4 (#1773)
Co-authored-by: Michael Ficocelli <ficocemt@gmail.com>
2024-11-14 07:47:35 -08:00
catloversg f6502dd490 CODEBASE: Fix lint errors 1 (#1732) 2024-11-03 22:35:14 -08:00
Michael Ficocelli 6df3dcdc82 IPVGO: Add optional board state argument to the go analysis functions (#1716) 2024-10-27 17:31:06 -07:00
Michael Ficocelli 2a5b0ca4e9 IPVGO: Prevent issues caused by resetting the board while the go AI is in flight (#1608) 2024-09-07 18:33:49 -07:00
catloversg 783120c886 FEATURE: BitNode options (#1411) 2024-07-14 14:30:30 -07:00
Michael Ficocelli 481938a2fb IPVGO: Balance and improvements for offline bonus time cycles (#1356) 2024-06-05 19:39:22 -07:00
Michael Ficocelli cf48d666f5 IPVGO: Add history, and details to status, to go API (#1348) 2024-06-05 18:24:48 -07:00
Michael Ficocelli fe3e8fb348 IPVGO: Fix crash caused by malformed previous move formatting (#1360) 2024-06-05 17:51:01 -07:00
Michael Ficocelli bd5c502f53 IPVGO: Support bonus cycles from offline time (#1345) 2024-06-04 18:43:29 -07:00
Michael Ficocelli d9f04203cf IPVGO: Record full history to avoid infinite ko capture loops on larger boards (#1299) 2024-06-02 20:19:26 -07:00
Michael Ficocelli a28bb4bd99 IPVGO: Support playing manually as white against your scripts using the No AI type board (#1296) 2024-06-02 17:41:31 -07:00
catloversg c2a56a6150 MISC: Refactor favor code (#1321) 2024-05-28 12:04:16 -07:00
David Walker 38d99ff15e IPVGO: Remove unneeded functions from boardState.ts (#1270) 2024-05-16 12:26:18 -07:00
Snarling e23db93c8b GO: Alternate fix for race conditions (#1260) 2024-05-11 19:58:59 -04:00
Michael Ficocelli 1e5f7184a2 IPVGO: Remove current game history from savefile, re-implement superko (#1175) 2024-03-20 20:37:20 -04:00
Michael Ficocelli d81358c80f IPVGO: Add support to netscript API for game state, current player, and alternate ways to check/wait on AI turn (#1142) 2024-03-19 14:07:15 -04:00
Michael Ficocelli 1547581c24 IPVGO: Fix self-capture move evaluation (#1140) 2024-03-06 16:23:16 -05:00
Snarling 373ced2efe GO: Various changes before 2.6.0 (#1120) 2024-02-26 08:05:10 -05:00
Michael Ficocelli 87c4cbbc57 [IPvGO] Performance enhancement: async move option lookup (#1028) 2024-01-09 18:46:01 -05:00
Michael Ficocelli 7ef12a0323 BITNODE: IPvGO territory control strategy game (#934) 2023-12-26 11:45:27 -05:00