Fixed lasermirror room bug where levers are unaccessible.
This commit is contained in:
parent
c16fc5cd6a
commit
a1e05a19fd
|
@ -82,12 +82,13 @@ def generate_simple_playfield(nmirrors):
|
|||
succs = (lambda s: lambda d: succ(s(d)))(succs)
|
||||
source_direc = succ(source_direc)
|
||||
|
||||
occup = set(playfield.keys())
|
||||
emptys = list(
|
||||
set([(0, y) for y in range(12)]
|
||||
+ [(11, y) for y in range(12)]
|
||||
+ [(x, 0) for x in range(12)]
|
||||
+ [(x, 11) for x in range(12)])
|
||||
- set(playfield.keys()))
|
||||
set([(0, y) for y in filter(lambda y: (1, y) not in occup, range(12))]
|
||||
+ [(11, y) for y in filter(lambda y: (10, y) not in occup, range(12))]
|
||||
+ [(x, 0) for x in filter(lambda x: (x, 1) not in occup, range(12))]
|
||||
+ [(x, 11) for x in filter(lambda x: (x, 10) not in occup, range(12))])
|
||||
- occup)
|
||||
if len(emptys) < nlevers:
|
||||
raise Exception("Not enough space for all levers!")
|
||||
for pos in misc.pick_random_elements(emptys, nlevers):
|
||||
|
|
Loading…
Reference in New Issue