Commit graph

41 commits

Author SHA1 Message Date
e1044f3a73 Move MovePlayerAction.Direction to geometry.Direction 2022-05-03 18:21:24 -07:00
010c67fd78 Attempt #1 to dig tunnels -- it does not work 2022-05-01 18:03:47 -07:00
3e87ef7279 Implement __iter__ on the geometry types so you can tuple(thing) 2022-05-01 17:43:13 -07:00
33c147d670 Default --debug on 2022-05-01 17:41:42 -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
a54828c7fb Fix up all the runtime errors caused by the previous refactoring 2022-05-01 09:51:22 -07:00
f1b95a697e Remove the commented out RegenerateRoomsAction handling
It still is not implemented but RegenerateRoomsAction will handle it when I
bring it back.
2022-05-01 09:29:58 -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
cde6ea2065 Make the MovePlayerAction.Direction values Vectors 2022-05-01 09:27:59 -07:00
cf64d517de Add some error logging to main and a --debug argument 2022-05-01 09:26:57 -07:00
a422a74a17 Refine the geometry classes; add __add__ method for Points and Vectors 2022-05-01 09:26:20 -07:00
7f225e9e01 Start the player in the middle of the first room 2022-05-01 00:09:45 -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
e7a5af59ed Add mid coordinate and midpoint properties to Rect 2022-05-01 00:08:10 -07:00
52a71b3b8a Clean up now-unused imports in main.py 2022-05-01 00:07:54 -07:00
d56bcc7b4a Add an Engine class and move all the engine-y bits over there from main 2022-04-30 23:30:23 -07:00
dc78669abf Add a map module with a Map class 2022-04-30 23:29:52 -07:00
3e4f065b96 Fix the max properties on Rect; add min properties 2022-04-30 23:29:24 -07:00
82f16a81e3 Add map regeneration, first pass at BSP room generation 2022-04-30 22:06:34 -07:00
730e36a721 Actually install the stderr log handler 2022-04-30 22:06:15 -07:00
204fa66e22 Place player and NPC in the map, not in the whole console 2022-04-30 22:06:01 -07:00
4f6361a7ce Overhaul the event handling to use the new EventHandler class 2022-04-30 22:05:38 -07:00
4f6d04456c Add some basic geometry primitives
Point, Vector, Size, and Rect. These are modeled on the CoreGraphics types.
2022-04-30 21:59:33 -07:00
9ddeef2561 Add actions and events modules 2022-04-30 21:59:01 -07:00
367b284d31 Add a map with tiles that can block player movement 2022-04-27 13:53:42 -07:00
4419eb360d Draw a PLAYER and NPC @; make the NPC yellow 2022-04-27 08:19:56 -07:00
638f2d8826 Make the roguebasin a proper module 2022-04-26 22:25:22 -07:00
d069ca4981 Define an Object with a position and symbol; make the player an Object 2022-04-26 22:25:04 -07:00
f98243b047 Add a launch.json to run the module 2022-04-26 22:23:17 -07:00
9826cd9e73 Use the terminal16x16 font for the 01 script 2022-04-26 20:36:33 -07:00
f6ed6f0627 Add a basic event loop, print an @ and move it with vim keys! 2022-04-26 20:14:41 -07:00
8ec8a094fd Add a VSCode workspace 2022-04-26 19:50:40 -07:00
8a5892cd3c Add terminal 16x16 font and move font PNGs to fonts/ 2022-04-26 19:06:49 -07:00
2c9b390b23 Add the two scripts from the libtcod docs. These are mostly useful basic functionality checks. 2022-04-26 19:00:22 -07:00
8130a8ee82 Update the README 2022-04-26 18:59:51 -07:00
092f822829 Basic Makefile and requirements.txt 2022-04-26 18:58:03 -07:00
b72b8f7408 Add this font PNG from the libtcod docs 2022-04-26 18:47:02 -07:00
aeaf2c5ac6 Add README 2022-04-26 18:46:15 -07:00