Add prototype for create_random_room; change return value of attach_doors and create_circular_room so we have info on door direction; minor syntax change
This commit is contained in:
parent
ddbd0299a0
commit
42f0c195aa
|
@ -69,8 +69,8 @@ class Generator:
|
||||||
|
|
||||||
yxs = [i for i in range(len(room) * len(room[0]))]
|
yxs = [i for i in range(len(room) * len(room[0]))]
|
||||||
shuffle(xys)
|
shuffle(xys)
|
||||||
for POS in yxs:
|
for pos in yxs:
|
||||||
y, x = POS // len(room), POS % len(room)
|
y, x = pos // len(room), pos % len(room)
|
||||||
if room[y][x] == Tile.EMPTY:
|
if room[y][x] == Tile.EMPTY:
|
||||||
if room[y-dy][x-dx] == Tile.FLOOR:
|
if room[y-dy][x-dx] == Tile.FLOOR:
|
||||||
build_here = True
|
build_here = True
|
||||||
|
@ -82,7 +82,7 @@ class Generator:
|
||||||
for i in range(l):
|
for i in range(l):
|
||||||
room[y+i*dy][x+i*dx] == Tile.FLOOR
|
room[y+i*dy][x+i*dx] == Tile.FLOOR
|
||||||
break
|
break
|
||||||
return y+l*dy, x+l*dx
|
return y+l*dy, x+l*dx, dy, dx
|
||||||
|
|
||||||
|
|
||||||
def create_circular_room(self):
|
def create_circular_room(self):
|
||||||
|
@ -110,10 +110,13 @@ class Generator:
|
||||||
else:
|
else:
|
||||||
room[-1].append(Tile.EMPTY)
|
room[-1].append(Tile.EMPTY)
|
||||||
|
|
||||||
door_y, door_x = self.attach_doors(room, h_sup, w_sup, h_off, w_off)
|
door_y, door_x, dy, dx = self.attach_doors(room, h_sup, w_sup, h_off, w_off)
|
||||||
|
|
||||||
return room, doory, doorx
|
return room, doory, doorx, dy, dx
|
||||||
|
|
||||||
|
def create_random_room(self):
|
||||||
|
return create_circular_room(self)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
height, width = self.params["height"], self.params["width"]
|
height, width = self.params["height"], self.params["width"]
|
||||||
level = [[Tile.EMPTY for i in range(width)] for j in range(height)]
|
level = [[Tile.EMPTY for i in range(width)] for j in range(height)]
|
||||||
|
|
Loading…
Reference in New Issue