Give MapGenerator up_stairs and down_stairs properties
This commit is contained in:
parent
d9aa8097c5
commit
fff3260d01
1 changed files with 19 additions and 1 deletions
|
@ -1,13 +1,23 @@
|
|||
from typing import List
|
||||
|
||||
import numpy as np
|
||||
|
||||
from ..tile import Empty
|
||||
from .corridor import CorridorGenerator
|
||||
from .room import RoomGenerator
|
||||
from ...geometry import Point
|
||||
|
||||
|
||||
class MapGenerator:
|
||||
'''Abstract base class defining an interface for generating a map and applying it to a set of tiles.'''
|
||||
|
||||
@property
|
||||
def up_stairs(self) -> List[Point]:
|
||||
raise NotImplementedError()
|
||||
|
||||
@property
|
||||
def down_stairs(self) -> List[Point]:
|
||||
raise NotImplementedError()
|
||||
|
||||
def generate(self, tiles: np.ndarray):
|
||||
raise NotImplementedError()
|
||||
|
||||
|
@ -21,6 +31,14 @@ class RoomsAndCorridorsGenerator(MapGenerator):
|
|||
self.room_generator = room_generator
|
||||
self.corridor_generator = corridor_generator
|
||||
|
||||
@property
|
||||
def up_stairs(self) -> List[Point]:
|
||||
return self.room_generator.up_stairs
|
||||
|
||||
@property
|
||||
def down_stairs(self) -> List[Point]:
|
||||
return self.room_generator.down_stairs
|
||||
|
||||
def generate(self, tiles: np.ndarray):
|
||||
self.room_generator.generate()
|
||||
self.room_generator.apply(tiles)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue