Commit graph

27 commits

Author SHA1 Message Date
f6fe9d0f09 Move the roguebasin package to erynrl 2022-05-12 09:05:27 -07:00
85423e739c Remove the shbang from map.py 2022-05-07 17:44:30 -07:00
d0a2e2c2ef Clean up imports and terminal newlines in files according to pylint 2022-05-07 11:22:54 -07:00
3510bab79a Document return value of MapGenerator.generate 2022-05-07 11:20:41 -07:00
57bbb2c3fc Some more fixes from the linter 2022-05-07 09:57:39 -07:00
7720bc525a Address some linter issues; add doc strings
- Clean up some import ordering
- Write some Numpy style doc strings for classes and functions
2022-05-07 08:55:10 -07:00
f3d5e273db Remove this unimplemented method 2022-05-07 08:54:46 -07:00
16b4b64099 Clean up the logging; use % formats instead of f-strings 2022-05-07 08:53:58 -07:00
5f6247ef13 I decided: every dungeon map has rooms 2022-05-06 21:14:42 -07:00
6a431ee574 Tweaking the room size ratios 2022-05-05 08:55:49 -07:00
1cd45d366b Add Direction.all() that returns an iterator that produces all the Direction values 2022-05-05 08:37:48 -07:00
084385f8f2 Add a map shroud over tiles and compute field of view based on player position!!! 2022-05-04 09:22:40 -07:00
25aa5506c8 Convert the generator.Configuration class to a dataclass 2022-05-04 09:22:06 -07:00
c638ee506a Carve walls and floors out of Empty tiles
Walls fill all the Empty tiles around Floors, including rooms and hallways.
2022-05-03 19:04:59 -07:00
7c5c3c57ec Fill the map with Empty tiles instead of Wall tiles 2022-05-03 19:03:31 -07:00
09bdf8a7a6 Place NPCs randomly in a generated room 2022-05-03 19:00:45 -07:00
58e732c923 Clean up and document room rect generation 2022-05-03 18:25:30 -07:00
7ba33cc6eb Fix this type annotation 2022-05-03 18:24:14 -07:00
50d6550e17 Parameterize maximum room size; make minimum_room_size the actual floor size, not counting walls 2022-05-03 18:23:48 -07:00
010c67fd78 Attempt #1 to dig tunnels -- it does not work 2022-05-01 18:03:47 -07:00
f89ff42f02 Clean up logging, and refine some bits of the map generator algorithm 2022-05-01 17:41:07 -07:00
ed312e985d Add a __repr__ for map.RectangularRoom 2022-05-01 17:34:57 -07:00
8b9897f0cc Convert the geometry types to frozen dataclasses 2022-05-01 17:32:48 -07:00
a072ad507e Move map generation into a new MapGenerator subclass; add RoomsAndCorridorsGenerator to uses BSP 2022-05-01 10:46:30 -07:00
5ce26e310b Move the action perform logic to Action.perform() on each Action subclass
Rename Object to Entity to avoid name clashes with Python.object
2022-05-01 09:29:30 -07:00
5302b5cf5e Redo tiles to use numpy datatypes
This gives us some nice optimizations when splatting the map to the console.
2022-05-01 00:09:12 -07:00
dc78669abf Add a map module with a Map class 2022-04-30 23:29:52 -07:00