d6349d081e
Clear the tile before warping to it
2020-07-10 16:59:55 +01:00
96a137ad2f
Simplify - remove duplicate command types in favor of a better defined Command type in proto
2020-07-10 00:12:54 +01:00
d4d82c38e0
Add "broadcast" command
...
This will send a readable ascii triplet to all rovers in range
2020-07-09 22:05:12 +01:00
b2f169d99f
Remove Warped log, unneeded
2020-07-09 18:31:51 +01:00
8866f28bf5
Add test coverage checks for logging additions
2020-07-09 18:26:24 +01:00
0386617c51
Add error checks in TestWorld_RadarFromRover
2020-07-07 23:01:28 +01:00
3e1e3a5456
Amend to TestWorld_RadarFromRover to show the issue
2020-07-07 22:49:34 +01:00
5980de5ba7
Fix lint check
2020-07-07 21:33:32 +01:00
254957cde5
Add a test to check daytime and rover recharge
2020-07-07 21:30:51 +01:00
75910efbe5
Apply all golangci-lint fixes
2020-07-06 18:04:10 +01:00
87af905bc8
Rename charge command to recharge
2020-07-04 22:56:58 +01:00
15c337c067
Make moving and stashing cost rover charge
2020-07-04 22:35:25 +01:00
b066277ddf
Add MaximumIntegrity to the rover
2020-07-04 12:26:42 +01:00
2eaed1447d
Add rover inventory capacity and test
2020-07-04 12:26:42 +01:00
062f9cfec8
Split Atlas chunks into tiles and objects
2020-07-03 17:00:04 +01:00
b116cdf291
Convert Atlas to infinite lazy growth
...
The atlas will now expand as needed for any query, but only initialise the chunk tile memory when requested
While this may still be a pre-mature optimisation, it does simplify some code and ensures that our memory footprint stays small, for the most part
2020-06-27 14:48:21 +01:00
693b8a54f1
Add repair command to repair using inventory item
2020-06-27 01:39:10 +01:00
1ed1c60de0
Simplify - remove RoverAttributes and rover UUIDs
2020-06-27 00:32:27 +01:00
e1bff92a56
Remove Item type in favor of just byte
2020-06-26 23:41:36 +01:00
71c2c09270
Write test to check rover has item in inventory
2020-06-26 23:37:10 +01:00
6c09ee3826
Refactor main to accept commands and arguments
2020-06-26 23:31:06 +01:00
383e834cef
Add RoverStash test
2020-06-26 20:14:00 +01:00
2846ed796e
Refactor tiles to objects to be re-used
2020-06-26 19:45:24 +01:00
db3c2c2c2e
De-scope, remove rover speed
2020-06-26 18:48:07 +01:00
7ee340e976
Move Rover position into main class
2020-06-26 18:22:37 +01:00
93b99b7989
Fix tests after rover change
2020-06-25 23:51:31 +01:00
5c12fabb63
Refactor so Rover's aren't in the atlas
2020-06-25 23:27:07 +01:00
faaa556ad0
Move the Atlas code into it's own package
2020-06-11 20:42:59 +01:00
14c4e61660
Fix up gocritic issues
2020-06-10 12:34:04 +01:00
51fe918090
Split out maths functions into maths, vector and bearing
2020-06-09 18:08:07 +01:00
520f78b5c3
Stop spawning rovers outside the chunks or warping into other rovers
2020-06-09 00:07:25 +01:00
43588c0e4b
Fix world spawning and radar
...
Also expand test coverage a little to ensure it's correct
2020-06-08 23:32:52 +01:00
b0e076ac1a
Refactor radar to return a full set of the tiles within rover range
2020-06-08 18:14:24 +01:00
43648926ca
Large refactor to properly implement radar
...
/radar now returns a set of non-empty tile blips
2020-06-07 22:30:03 +01:00
fc54775df9
Stop movement into non-empty tiles
2020-06-07 19:03:16 +01:00
5e1f9b0d31
Refactor rover attributes to add a name
2020-06-06 16:52:30 +01:00
0a0a32cf58
Implement a command queue on the world
...
Not currently executed
2020-06-06 14:44:59 +01:00
be0f4f1aff
Convert bearings to compass points and locations to int coords
2020-06-05 16:37:52 +01:00
ae369715ec
Implement rover radar and use and test it
2020-06-05 15:48:55 +01:00
14977de5bc
Rename /view to /radar and fill in more of the response
2020-06-04 22:14:55 +01:00
6461b51c5c
Fully implement the bearing based movement
...
Instant, and without limit, for now
2020-06-04 21:59:00 +01:00
0fbad15c01
Huge Instance -> Rover refactor, for clarification
2020-06-04 21:19:25 +01:00
33f25a7414
Prepare to refactor movement to be based on attributes
2020-06-04 18:54:33 +01:00
e5d5d123a6
Add the concept of commands to the world and executing them
2020-06-03 18:12:08 +01:00
a0657b32e7
Try and clean up a failed primary instance creation
2020-06-03 12:31:52 +01:00
c5ebbc3c40
Extract persistence code into own class
2020-06-03 12:10:31 +01:00
68d117e0d8
Serialise the World as well
2020-06-02 18:00:51 +01:00
50c970fea2
Add /spawn command to let an account spawn it's primary instance
2020-06-02 18:00:51 +01:00
93decc027b
Refactor into server object to handle registered accounts
2020-05-31 11:18:26 +01:00