コード例 #1
0
def filter_shape(args):
    context = get_type(GameTypes.LIST, args)
    elements = get_type(GameTypes.ELEMENT, context)
    props = get_type(GameTypes.PROPERTY, args)
    prop = next(props, None)
    if not prop:
        return None
    return [element for element in elements if element.shape == prop]
コード例 #2
0
def match_element_color(args):
    elems = get_type(GameTypes.ELEMENT, args)
    props = get_type(GameTypes.PROPERTY, args)
    prop = next(props, None)
    elem = next(elems, None)
    if not prop or not elem:
        return None
    return elem.color == prop
コード例 #3
0
def filter_property(args):
    f_gen = get_type(GameTypes.COGNITIVE_FUNCTION, args)
    f = next(f_gen, None)
    function_arguments = get_type(GameTypes.COGNITIVE_FUNCTION, args)
    f_args = [arg for arg in function_arguments]
    if not f or not f_args:
        return
    elements = f(function_arguments)
    return elements
コード例 #4
0
def get_neighbors(args):
    env_gen = get_type(GameTypes.ENVIRONMENT, args)
    state_gen = get_type(GameTypes.STATE, args)
    env = next(env_gen, None)
    state = next(state_gen, None)
    if not env or not state:
        return
    return calculate_cardinal_neighbors(state.value.index[0],
                                        state.value.index[1],
                                        env.value.num_rows,
                                        env.value.num_columns)
コード例 #5
0
def select_action(args):
    act = get_type(GameTypes.ACTION, args)
コード例 #6
0
def extract_properties(args):
    elem = get_type(GameTypes.ELEMENT, args)
    for element in elem:
        print(element)