view clients/rio_de_hola/scripts/agents/beekeeper.py @ 129:9a1529f9625e

* Indentation patch by GreyGhost
author mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
date Thu, 07 Aug 2008 15:46:46 +0000
parents ae3b8139c7c7
children
line wrap: on
line source

from agent import Agent
import fife, random

_STATE_NONE, _STATE_TALK = 0, 1

class Beekeeper(Agent):
	def __init__(self, model, agentName, layer, uniqInMap=True):
		super(Beekeeper, self).__init__(model, agentName, layer, uniqInMap)
		self.state = _STATE_NONE

	def onInstanceActionFinished(self, instance, action):
		self.talk()

	def start(self):
		self.facingLoc = self.agent.getLocation()
		c = self.facingLoc.getExactLayerCoordinatesRef()
		c.x += random.randint(-1, 1)
		c.y += random.randint(-1, 1)
		self.talk()

	def talk(self):
		self.state = _STATE_TALK
		self.agent.act('talk', self.facingLoc, True) # never calls back