示例#1
0
def resolve_toggle_selection(_, info, spaceJson: dict, size: int):
    space = from_json(spaceJson)

    pop = set(space.dict.values()) - set(
        space.ignore + [default_value, inclusion_value, phase_value])

    return list(random.choices(population=list(pop), k=size))
示例#2
0
def resolve_toggle_selection(_, info, spaceJson: dict, selection: list, x: int,
                             y: int):
    space = from_json(spaceJson)
    value = space.get(x, y)
    if value != space.default:
        if type(value) is tuple:
            value = list(value)
        if value in selection:
            selection.remove(value)
        else:
            selection.append(value)
    return selection
示例#3
0
def resolve_add_inclusions(_,
                           info,
                           spaceJson: dict,
                           type_: str,
                           count: int,
                           size: int,
                           onBoundary=False,
                           rules: dict = None):
    space = from_json(spaceJson)
    if onBoundary:
        b = boundaries_space(space, rules=get_rules(rules))
        gen = b.random_occupied_position
    else:
        gen = space.random_position
    return inclusions[type_](space, gen, count, size, inclusion_value)
示例#4
0
def resolve_spaceToInclusions(_, info, spaceJson: dict):
    space = from_json(spaceJson)
    space.set_all_to(phase_value)
    space.ignore = [phase_value]
    return space
示例#5
0
def resolve_return_space(_, info, spaceJson: dict):
    return from_json(spaceJson)
示例#6
0
def resolve_step(_, info, spaceJson: dict, rules: dict):
    rules = get_rules(rules)
    return rules.step(from_json(spaceJson))
示例#7
0
def resolve_addNucleons(_, info, spaceJson: dict, count: int):
    space = from_json(spaceJson)
    seed(space, count=count, gen=gen_inclusion_value)
    return space