Ejemplo n.º 1
0
def main():
    grammar = History()
    rule = Rules.generate()
    grammar.add_rule(rule)
    room = Room.Blueprint(rule).generate()
    grammar.add_room(room)
    for _ in range(3, random.randint(4, 10)):
        walls = grammar.walls
        rule = Rules.generate(origin(walls[-1]))
        grammar.add_rule(rule)
        room = Room.Blueprint(rule).generate()
        room['shape'] = check_boundaries(room['shape'], grammar.rooms)
        grammar.add_room(room)
    exterior = outline(grammar)
    if exterior.geom_type == 'MultiPolygon':
        main()
    else:
        grammar.add_exterior_features(exterior)
        grammar.add_interior_features(exterior)
        Plot.make(exterior, grammar.rooms, grammar.doors, grammar.windows,
                  grammar.items)