|
08b1841bdf
|
Add monsters module and define Species, Monster, Orc, and Troll
|
2022-05-06 21:16:19 -07:00 |
|
|
1e69667ba8
|
Create a Hero class for the character the player moves; stop using tcod.Color for foreground and background; use tuples instead
|
2022-05-06 21:16:00 -07:00 |
|
|
5f6247ef13
|
I decided: every dungeon map has rooms
|
2022-05-06 21:14:42 -07:00 |
|
|
c2c67ae9ef
|
Move logging hero movement into the if block where it actually does the move
|
2022-05-06 21:13:37 -07:00 |
|
|
00462f6005
|
Change Engine.Configuration to a clas and convert moved_entities to a set
|
2022-05-06 14:34:26 -07:00 |
|
|
6a431ee574
|
Tweaking the room size ratios
|
2022-05-05 08:55:49 -07:00 |
|
|
1d4882a8ac
|
Do not allow entities to move into squares previously moved entities have moved to
|
2022-05-05 08:45:30 -07:00 |
|
|
a43e403e9c
|
Let NPCs randomly walk
|
2022-05-05 08:38:06 -07:00 |
|
|
1cd45d366b
|
Add Direction.all() that returns an iterator that produces all the Direction values
|
2022-05-05 08:37:48 -07:00 |
|
|
1247617b87
|
Add diagonal movement
|
2022-05-04 09:25:35 -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 |
|
|
0b577ad5ea
|
Merge branch 'diggin-tunnels'
|
2022-05-03 19:05:57 -07:00 |
|
|
39832c7f74
|
A little script to visualize how BSP works; emits a DOT graph
|
2022-05-03 19:05:53 -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 |
|
|
fcfab9fc1b
|
Add Rect.inset_rect
|
2022-05-03 19:02:39 -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 |
|
|
e1044f3a73
|
Move MovePlayerAction.Direction to geometry.Direction
|
2022-05-03 18:21:24 -07:00 |
|
|
8aa7cd30ae
|
Merge remote-tracking branch 'origin/main'
|
2022-05-03 07:17:39 -07:00 |
|
|
558bd86b16
|
Initial commit
|
2022-05-03 07:15:41 -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 |
|