Tim Van Baak
4ce5faaac2
Replace Map lookup methods with Unit methods
...
This makes the flow of data easier to read and is slightly shorter in some cases. This pattern will be better for replacing more reference members with keys.
2024-09-09 12:11:44 -07:00
Tim Van Baak
7773c571e3
Add hold-order assertion for unparseable orders
2024-09-06 16:03:43 +00:00
Tim Van Baak
4096e4d517
Implement coastal accessibility checks for support-move orders
2024-09-06 15:19:58 +00:00
Tim Van Baak
aaf2e78730
Implement coastal accessibility checks for move orders
2024-09-06 15:09:30 +00:00
Tim Van Baak
864a933ba0
Implement dislodge/hold assertions
2024-09-05 23:16:22 +00:00
Tim Van Baak
c6f10868ae
Implement support assertions
2024-09-05 23:11:29 +00:00
Tim Van Baak
5b32786904
Implement support-move parsing
2024-09-05 05:27:48 +00:00
Tim Van Baak
ae5eb22010
Implement support-hold parsing
2024-09-05 05:22:07 +00:00
Tim Van Baak
80f340c0b2
Implement assert moves/no-move
2024-09-03 04:25:37 +00:00
Tim Van Baak
e9c9999268
Implement assert has-past
2024-09-03 03:49:38 +00:00
Tim Van Baak
4fee854c4c
Refactor script handlers to return a result type
...
This moves the point of strictness from the handler to the driver, which makes more sense and keeps it in one place. Drivers choose to be strict when a script result is a failure but still gives a continuation handler. The CLI driver prints an error and continues, while the test driver fails if it wasn't expecting the failure.
2024-09-03 03:20:59 +00:00
Tim Van Baak
3984b814ca
Implement assert order-valid
2024-09-01 04:54:28 +00:00
Tim Van Baak
f18147f666
Enable suppressing adjudicator output in tests
2024-08-28 21:27:35 +00:00
Tim Van Baak
9f52c78b40
Enable repl output to /dev/null
2024-08-28 21:10:41 +00:00
Tim Van Baak
7b890046b6
Add assertion stubs and unit tests
2024-08-28 19:14:19 +00:00
Tim Van Baak
d2a46aa02d
Implement dummy assertions
2024-08-28 15:01:27 +00:00
Tim Van Baak
f02e71d4f9
Implement repl adjudication
2024-08-28 14:41:23 +00:00
Tim Van Baak
f77cc60185
Factor out common subject parsing logic
2024-08-28 14:39:21 +00:00
Tim Van Baak
44f2c25a2c
Add unit test for submitting orders in the repl
2024-08-28 00:46:32 +00:00
Tim Van Baak
43a2517a95
Fix unit declaration commands
2024-08-28 00:45:38 +00:00
Tim Van Baak
416f2aa919
Rename to OrderParser
2024-08-27 03:23:28 +00:00
Tim Van Baak
4f276df6c1
Basic order parsing and a unit test
2024-08-27 02:43:12 +00:00
Tim Van Baak
24e80af7ef
Add test cases for support-move
2024-08-26 17:47:52 +00:00
Tim Van Baak
e25191548e
Set version to 0.0.2
...
Some internal milestones may qualify as 0.x, 1.0 will be reserved for when a minimum viable game can be played
2024-08-26 16:47:00 +00:00
Tim Van Baak
33aecf876a
Add test cases for support-hold
2024-08-26 16:32:33 +00:00
Tim Van Baak
b4f8f621ca
Add test cases for move order
2024-08-26 15:39:42 +00:00
Tim Van Baak
ffe164975b
Remove power from UnitSpec and add hold regex tests
2024-08-26 04:57:30 +00:00
Tim Van Baak
ebeb178984
Move some parsing code into OrderRegex
2024-08-25 04:26:10 +00:00
Tim Van Baak
93b106da1e
Move province and power regexes to Map
2024-08-25 03:55:14 +00:00
Tim Van Baak
973f8ea0d7
Add Timelines.All shortcut
2024-08-25 03:36:31 +00:00
Tim Van Baak
55dfe0ca99
Early-out on comments
2024-08-21 09:47:13 -07:00
Tim Van Baak
e9c4d3d2d3
Re-spec validation handler for all adjudication steps
2024-08-21 09:11:39 -07:00
Tim Van Baak
5167978f8c
Update some log statements
2024-08-21 14:27:48 +00:00
Tim Van Baak
aaf3320cf8
Add a handler for asserting against orders
2024-08-21 14:25:25 +00:00
Tim Van Baak
2745d12d29
Implement regex order parsing in game script handler
2024-08-21 13:46:02 +00:00
Tim Van Baak
8e976433c8
Replace ad-hoc setup parsing with regex
2024-08-21 13:35:28 +00:00
Tim Van Baak
1689d2e9b1
Add order parsing regex
2024-08-20 14:39:49 +00:00
Tim Van Baak
f9f8ea2b5a
Add script-based test framework
2024-08-17 21:24:59 -07:00
Tim Van Baak
b2461b3736
Add strict mode to setup handler
2024-08-17 21:18:35 -07:00
Tim Van Baak
92506ac6ed
Typo in default units
2024-08-16 16:03:37 -07:00
Tim Van Baak
114379de59
Add basic game setup
2024-08-16 16:00:02 -07:00
Tim Van Baak
7ad6f3a3d3
Add a repl script handling framework
2024-08-16 14:39:13 -07:00
Tim Van Baak
6bb6c0695f
Add CLI verbs
2024-08-16 13:33:13 -07:00
Tim Van Baak
eaafdeb5a9
Eliminate sources of Unit reference equality
2024-08-16 20:13:15 +00:00
Tim Van Baak
9a64609605
Update adjudication logging
2024-08-15 22:20:03 -07:00
Tim Van Baak
889e9d173b
Reduce MoveOrder.Location to string
2024-08-15 22:01:38 -07:00
Tim Van Baak
f21b1e500c
Eliminate MoveOrder.Province
2024-08-15 21:48:41 -07:00
Tim Van Baak
3d664208b5
Add Season.First, replacing FIRST_TURN
2024-08-15 16:36:50 -07:00
Tim Van Baak
25d903d91a
Refactor Season into a value struct
...
This keeps the rich features of a Season type without requiring constant string parsing (as much) or going through World to do lookups to get the objects. Since seasons now have value equality instead of reference equality, it's easier to get access to whem when needed. They're still, fundamentally, sugar over a tuple.
2024-08-15 13:51:41 -07:00
Tim Van Baak
566d29e539
Add function to extract information from season keys
2024-08-15 08:51:17 -07:00