Commit graph

49 commits

Author SHA1 Message Date
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
Renamed from pkg/rovegame/world_test.go (Browse further)