def __init__(self, opts=None, spec=None): self.bots = [] for i in range(opts.num_bots): x = random.randint(0, WORLD_SIZE - 1) y = random.randint(0, WORLD_SIZE - 1) eid = i botname = "target" + str(i) bot = Bot(eid, botname, Pos(x, y, 0), Look(0, 0)) self.bots.append(bot)
def get_all_players(self): """This function is a wrapper around self.cagent.get_other_players and adds a new player called "dashboard" if it doesn't already exist.""" all_players = self.cagent.get_other_players() updated_players = all_players player_exists = False for player in all_players: if player.name == "dashboard": player_exists = True if not player_exists: newPlayer = Player(12345678, "dashboard", Pos(0.0, 64.0, 0.0), Look(0.0, 0.0), Item(0, 0)) updated_players.append(newPlayer) return updated_players
def __init__(self, opts, name="Locobot"): super(LocobotAgent, self).__init__(opts) logging.info("LocobotAgent.__init__ started") self.opts = opts self.entityId = 0 self.no_default_behavior = opts.no_default_behavior self.last_chat_time = -1000000000000 self.name = name self.player = Player(100, name, Pos(0, 0, 0), Look(0, 0)) self.pos = Pos(0, 0, 0) self.uncaught_error_count = 0 self.last_task_memid = None self.point_targets = [] self.init_event_handlers() # list of (prob, default function) pairs self.visible_defaults = [(1.0, default_behaviors.explore)]
def get_look(self): return Look(self.pitch, self.base_yaw + self.pan)
def test_triggers(self): joe_memid = PlayerNode.create( self.memory, Player(10, "joe", Pos(1, 0, 1), Look(0, 0))) joe_tag_memid = self.memory.tag(joe_memid, "joe") jane_memid = PlayerNode.create( self.memory, Player(11, "jane", Pos(-1, 0, 1), Look(0, 0))) joe_mems = self.memory.basic_search({ "base_exact": { "name": "joe" }, "triples": [] }) jane_mems = self.memory.basic_search({ "base_exact": { "name": "jane" }, "triples": [] }) assert len(joe_mems) == 1 assert len(jane_mems) == 1 joe_mems_from_tag = self.memory.basic_search({ "base_exact": {}, "triples": [{ "obj_text": "joe", "pred_text": "has_tag" }] }) jane_mems_from_tag = self.memory.basic_search({ "base_exact": {}, "triples": [{ "obj_text": "jane", "pred_text": "has_tag" }] }) assert len(joe_mems_from_tag) == 1 assert len(jane_mems_from_tag) == 0 self.time.add_tick() brother_of_memid = self.memory.add_triple(subj=joe_memid, pred_text="brother_of", obj=jane_memid) sister_of_memid = self.memory.add_triple(subj=jane_memid, pred_text="sister_of", obj=joe_memid) triples = self.memory.get_triples(subj=jane_memid, pred_text="sister_of") assert len(triples) == 1 self.time.add_tick() self.memory.db_write("UPDATE ReferenceObjects SET x=? WHERE uuid=?", 2, joe_memid) cmd = "SELECT updated_time FROM Memories WHERE uuid=?" joe_t = self.memory._db_read(cmd, joe_memid)[0][0] jane_t = self.memory._db_read(cmd, jane_memid)[0][0] assert joe_t == 2 assert jane_t == 0 self.memory.forget(joe_memid) triples = self.memory.get_triples(subj=jane_memid, pred_text="sister_of") assert len(triples) == 0