Commit Graph

172 Commits

Author SHA1 Message Date
Tim Van Baak 421e84b559 Update timeline designator usage
Timelines are now identified by strings and come first in timeline-turn tuples.
2024-08-14 09:06:04 -07:00
Tim Van Baak 780ae8b948 Refactor timeline factory to generate string ids
The strings are immediately shimmed back to ints for now
2024-08-14 09:06:03 -07:00
Tim Van Baak 40254b0fca Add Makefile 2024-08-14 09:04:56 -07:00
Tim Van Baak bd8e0da6b6 Refactor province and power information into Map 2024-08-14 09:04:56 -07:00
Tim Van Baak 9fd63f4317 Update and refactor documentation
The README will become an entry point for using the project. Notes on design decisions and explanations of the rules are split off into their own documents.
2024-08-09 13:18:49 -07:00
Tim Van Baak 3db01c0ffd Update projects to dotnet 8 2024-08-09 06:53:22 -07:00
Tim Van Baak 0fd9c93a70 Get nix-ld to work with the Roslyn analyzer 2024-08-08 07:51:08 -07:00
Tim Van Baak 5b4758a4ed Update to dotnet 8 2024-08-08 07:49:39 -07:00
Tim Van Baak 7b2176b1d2 Update nixpkgs pin 2024-08-08 07:49:26 -07:00
Tim Van Baak 4bbd29ac93 Fix broken VS code shells
See https://github.com/NixOS/nix/issues/6982#issuecomment-1236743200
2024-08-08 07:47:37 -07:00
Tim Van Baak 26e268c3a0 Remove custom PS1 2024-08-08 07:45:27 -07:00
Jaculabilis 0f201610d2 Fix path separator in sln 2022-11-08 22:18:52 -08:00
Jaculabilis a63ff3992b Remove broken validation assert
Validation only happens for orders in the current batch, so the test can't validate an order from the previous batch
2022-11-08 19:59:27 -08:00
Jaculabilis b241d206f4 Only fork on new moves into a season 2022-11-08 19:12:03 -08:00
Jaculabilis 069cb4c548 Prevent orders from being double counted if they affect multiple seasons 2022-11-08 18:55:27 -08:00
Jaculabilis 95ed8c7682 Fix error caused by decisions with no history 2022-11-08 18:41:46 -08:00
Jaculabilis 39c3aabe45 Implement AdvanceTimeline resolution 2022-11-08 16:25:47 -08:00
Jaculabilis 7471a035f0 Log decision updates 2022-11-06 22:01:36 -08:00
Jaculabilis a565ee1b05 Add better ToString overrides to decision classes 2022-11-06 21:58:21 -08:00
Jaculabilis 25d707b3b8 Log recursive decision traversal 2022-11-06 21:55:46 -08:00
Jaculabilis c0a9330d2e Add depth tracking to decision resolution 2022-11-06 21:51:45 -08:00
Jaculabilis 23a826c815 Add adjudicator logger 2022-11-06 21:09:22 -08:00
Jaculabilis 46c28a087c Shorten string representations
The new format for representing timeline, province, and season is T-PRO@S. Hopefully this is easier to read than the PRO T:S format.
2022-11-06 20:27:28 -08:00
Jaculabilis 6347b52d4a Make the dev shell a bit prettier 2022-11-06 20:26:29 -08:00
Jaculabilis 63289bce54 Update flake 2022-11-06 20:26:29 -08:00
Jaculabilis 2e1d72d0f4 Add more VS Code profile settings 2022-11-06 20:26:29 -08:00
Jaculabilis 94037959e1 Replace README with rules document that better explains what is going on 2022-11-06 15:07:48 -08:00
Jaculabilis 15fde7340c Fix incorrect unit in 3.A.5 2022-11-06 14:43:45 -08:00
Jaculabilis 18c11c7ffd Add an AdvanceTimeline decision type 2022-11-06 14:39:01 -08:00
Jaculabilis f5acb8325c Add solution file 2022-11-06 14:32:06 -08:00
Jaculabilis 12c307d835 Create a DATC-inspired document for illustrating time travel test cases 2022-04-22 13:33:17 -07:00
Jaculabilis 076f1f7f29 Add more tests around time travel 2022-04-09 21:10:44 -07:00
Jaculabilis 105c372779 Add ToString overrides for orders 2022-04-07 15:58:17 -07:00
Jaculabilis 5e74ffc19f Apply null-forgiving operator where relevant 2022-04-07 15:48:46 -07:00
Jaculabilis d491ea9f64 Fix missing temporal dimension to dislodge checks 2022-03-30 13:00:51 -07:00
Jaculabilis 9f5ecaa16a Add province shortcuts to decrease verbosity 2022-03-30 12:52:57 -07:00
Jaculabilis b679558d9c Make adjudicator reusable to decrease verbosity 2022-03-30 08:04:44 -07:00
Jaculabilis 604dda95e8 Enable fluent definitions of multiple turns 2022-03-29 21:01:58 -07:00
Jaculabilis b347cc88aa Make TestCaseBuilder reusable 2022-03-29 20:59:30 -07:00
Jaculabilis 6948db29df Save previous orders so time travel can re-adjudicate them 2022-03-29 20:40:19 -07:00
Jaculabilis 6a6810ef07 Add basic movement phase update tests 2022-03-29 17:16:00 -07:00
Jaculabilis d4e68844c6 Simplify world updates and expose root season 2022-03-28 22:34:57 -07:00
Jaculabilis aa9c9c548b Enable hold strength across parallel worlds 2022-03-28 17:41:38 -07:00
Jaculabilis ff64b459ca Reduce verbosity of test case assertions 2022-03-28 15:05:04 -07:00
Jaculabilis 609e8cc60c Add dislodge checks to DATC A tests 2022-03-28 09:39:03 -07:00
Jaculabilis b026adbfbc Add some basic unit tests for the movement adjudicator 2022-03-27 15:10:34 -07:00
Jaculabilis 6b1b9dce10 Refactor adjudication into separate adjudication and update steps
This makes it easier to unit test adjudication decisions directly.
2022-03-27 14:39:00 -07:00
Jaculabilis 36ea621782 Move decision classes out of the movement adjudicator 2022-03-24 09:22:13 -07:00
Jaculabilis d2ec79647a Add movement phase order adjudication
This implementation does not handle convoys nor account for circular movement and convoy paradoxes.
2022-03-24 08:18:33 -07:00
Jaculabilis 1ea4ac0ded Remove obsolete test fixture 2022-03-24 07:29:50 -07:00