def step(self): ''' first choose an action to request., ie move or play the pd. some agents may loook at thr ooponents history, or at thrir own witution. others might play a "pure" dtrategy or a random one. this ;particular agent shooses pd 50%, 50% move ex *wihou t lokin at whhat is leagal! so t easeds a lot of turn.s ''' if world.debug > 1: print("Ag .%s step " % (self.agent_id)) if len(world.agent_list) < 2: print "cant run with 1 or fewer agents" return None other = world.pickRandomOther(self) play = world.cooperate grec = world.requestPlayPD(self, other, play)
def step(self): ''' first choose an action to request., ie move or play the pd. some agents may loook at thr ooponents history, or at thrir own witution. others might play a "pure" dtrategy or a random one. this ;particular agent shooses pd 50%, 50% move ex *wihou t lokin at whhat is leagal! so t easeds a lot of turn.s ''' if world.debug > 1: print("Ag .%s step " % (self.agent_id)) if len(world.agent_list) < 2: print "cant run with 1 or fewer agents" return None if world.debug > 0: # testing openvis = world.space.openVisibleCells(self) if world.debugb > 2: print "%s at %s can see open " % \ (self.agent_id, world.space.posStr(self.position)) # openplay = world.space.getPlayableAgents(self) if random.random() < 0.5: # play pd now, pick ran oppdo if world.debug > 1: print "Chose to playe,,," other = world.pickRandomOther(self) play = world.cooperate grec = world.requestPlayPD(self, other, play) else: # see if theere is randomly chosesn place to momve if world.debug > 1: print "Chose to move,,," opensps = world.space.getOpenSpaces(self.position, self.agentCapabilitiesDict["speed"]) if len(opensps) == 0: if world.debug > 1: print " aid %s no where to go" % (agent.agent_id) # focal, action, rmv, omv, fresult , oresult, other ): grec = GameRecord( self, World.move, None, None, None, None, None) world.add_to_history(grec) return # opick abn oprex cell to go to r = random.randrange(len(opensps)) pickpos = opensps[r] grec = world.requestMoveTo(self, pickpos)