Example #1
0
 def on_start(self, event):
     # random assignment of object to location
     self.state.learner_pos = self.get_world().state.learner_pos
     pos = self.state.learner_pos
     pe = self.get_world().put_entity
     for i in range(0, len(dirs)):
         np = pos + self.get_world().valid_directions[dirs[i]]
         pe(np, objects[self.dir2obj[i]], True, True)
     self.dir = random.choice(self.dir2obj)
     self.obj = objects[self.dir2obj[self.dir]]
     self.instructions_completed = False
     self.set_message("Pick the " + self.obj + " next to you.")
     obj_count = self.get_world().state.learner_inventory[self.obj]
     self.add_handler(
         on_state_changed(lambda ws, ts: ws.learner_inventory[self.obj] ==
                          obj_count + 1)(self.on_object_picked.im_func))
 def on_start(self, event):
     # random assignment of object to location
     self.state.learner_pos = self.get_world().state.learner_pos
     pos = self.state.learner_pos
     pe = self.get_world().put_entity
     for i in range(0, len(dirs)):
         np = pos + self.get_world().valid_directions[dirs[i]]
         pe(np, objects[self.dir2obj[i]], True, True)
     self.dir = random.choice(self.dir2obj)
     self.obj = objects[self.dir2obj[self.dir]]
     self.instructions_completed = False
     self.set_message("Pick the " + self.obj + " next to you.")
     obj_count = self.get_world().state.learner_inventory[self.obj]
     self.add_handler(
         on_state_changed(
             lambda ws, ts: ws.learner_inventory[self.obj] == obj_count + 1)
         (self.on_object_picked.im_func)
     )
Example #3
0
    def on_start(self, event):
        # choose some random object
        self.target_obj, = random.sample(objects, 1)
        # find the cell in front of the learner
        ws = self.get_world().state
        ld = self.get_world().valid_directions[ws.learner_direction]
        lp = ws.learner_pos
        self.state.initial_count = ws.learner_inventory[self.target_obj]
        # place the object there
        self.get_world().put_entity(lp + ld, self.target_obj, True, True)

        self.add_handler(
            on_state_changed(lambda ws, ts: ws.learner_inventory[
                self.target_obj] == ts.initial_count + 1)(
                    self.on_object_picked_up))

        self.set_message("You have {indef_object} in front of you. "
                         "Pick up the {object}.".format(
                             indef_object=msg.indef_article(self.target_obj),
                             object=self.target_obj))
    def on_start(self, event):
        # choose some random object
        self.target_obj, = random.sample(objects, 1)
        # find the cell in front of the learner
        ws = self.get_world().state
        ld = self.get_world().valid_directions[ws.learner_direction]
        lp = ws.learner_pos
        self.state.initial_count = ws.learner_inventory[self.target_obj]
        # place the object there
        self.get_world().put_entity(lp + ld, self.target_obj, True, True)

        self.add_handler(
            on_state_changed(lambda ws, ts:
                             ws.learner_inventory[self.target_obj] ==
                             ts.initial_count + 1)
            (self.on_object_picked_up))

        self.set_message("You have {indef_object} in front of you. "
                         "Pick up the {object}.".format(
                             indef_object=msg.indef_article(self.target_obj),
                             object=self.target_obj))
Example #5
0
    def on_start(self, event):
        # choose a random object
        self.target_obj, = random.sample(objects, 1)
        ws = self.get_world().state
        # select a random number of steps
        self.n = random.randint(1, PickUpInFrontTask.max_steps_forward)
        # place the object that number of steps in front of the learner
        p = ws.learner_pos + self.n * self.get_world().valid_directions[
            ws.learner_direction]
        self.state.initial_count = ws.learner_inventory[self.target_obj]
        self.get_world().put_entity(p, self.target_obj, True, True)

        self.add_handler(
            on_state_changed(lambda ws, ts: ws.learner_inventory[
                self.target_obj] == ts.initial_count + 1)(
                    self.on_object_picked_up))

        self.set_message("There is {indef_object} {n} steps forward, "
                         "pick up the {object}.".format(
                             indef_object=msg.indef_article(self.target_obj),
                             n=msg.number_to_string(self.n),
                             object=self.target_obj))
Example #6
0
    def on_start(self, event):
        # choose a random object
        self.target_obj, = random.sample(objects, 1)
        # find a random cell around the learner
        self.direction = random.choice(
            list(self.get_world().valid_directions.keys()))
        ws = self.get_world().state
        p = ws.learner_pos + self.get_world().valid_directions[self.direction]
        self.state.initial_count = ws.learner_inventory[self.target_obj]
        # place the object there
        self.get_world().put_entity(p, self.target_obj, True, True)

        self.add_handler(
            on_state_changed(lambda ws, ts: ws.learner_inventory[
                self.target_obj] == ts.initial_count + 1)(
                    self.on_object_picked_up))

        self.set_message("There is {indef_object} {direction} from you, "
                         "pick up the {object}.".format(
                             indef_object=msg.indef_article(self.target_obj),
                             direction=self.direction,
                             object=self.target_obj))
    def on_start(self, event):
        # choose a random object
        self.target_obj, = random.sample(objects, 1)
        # find a random cell around the learner
        self.direction = random.choice(list(self.get_world().valid_directions
                                            .keys()))
        ws = self.get_world().state
        p = ws.learner_pos + self.get_world().valid_directions[self.direction]
        self.state.initial_count = ws.learner_inventory[self.target_obj]
        # place the object there
        self.get_world().put_entity(p, self.target_obj, True, True)

        self.add_handler(
            on_state_changed(lambda ws, ts:
                             ws.learner_inventory[self.target_obj] ==
                             ts.initial_count + 1)
            (self.on_object_picked_up))

        self.set_message("There is {indef_object} {direction} from you, "
                         "pick up the {object}.".format(
                             indef_object=msg.indef_article(self.target_obj),
                             direction=self.direction,
                             object=self.target_obj))
    def on_start(self, event):
        # choose a random object
        self.target_obj, = random.sample(objects, 1)
        ws = self.get_world().state
        # select a random number of steps
        self.n = random.randint(1, PickUpInFrontTask.max_steps_forward)
        # place the object that number of steps in front of the learner
        p = ws.learner_pos + self.n * self.get_world().valid_directions[
            ws.learner_direction]
        self.state.initial_count = ws.learner_inventory[self.target_obj]
        self.get_world().put_entity(p, self.target_obj, True, True)

        self.add_handler(
            on_state_changed(lambda ws, ts:
                             ws.learner_inventory[self.target_obj] ==
                             ts.initial_count + 1)
            (self.on_object_picked_up))

        self.set_message("There is {indef_object} {n} steps forward, "
                         "pick up the {object}."
                         .format(
                             indef_object=msg.indef_article(self.target_obj),
                             n=msg.number_to_string(self.n),
                             object=self.target_obj))