in gym-minigrid/gym_minigrid/minigrid.py [0:0]
def decode(type_idx, color_idx, state):
"""Create an object from a 3-tuple state description"""
obj_type = IDX_TO_OBJECT[type_idx]
color = IDX_TO_COLOR[color_idx]
if obj_type == 'empty' or obj_type == 'unseen':
return None
# State, 0: open, 1: closed, 2: locked
is_open = state == 0
is_locked = state == 2
if obj_type == 'wall':
v = Wall(color)
elif obj_type == 'floor':
v = Floor(color)
elif obj_type == 'ball':
v = Ball(color)
elif obj_type == 'key':
v = Key(color)
elif obj_type == 'box':
v = Box(color)
elif obj_type == 'door':
v = Door(color, is_open, is_locked)
elif obj_type == 'goal':
v = Goal()
elif obj_type == 'lava':
v = Lava()
else:
assert False, "unknown object type in decode '%s'" % obj_type
return v