Exemplo n.º 1
0
 def getNextPosition(self):
     # Diffusion is one-way down.
     positions = Position.getSameHeightNeighborPositions(self.position)
     unoccupied_positions = []
     for position in positions:
         if not Context.getField().isSiteOccupied(position):
             unoccupied_positions.append(position)
     if len(unoccupied_positions) == 0:
         return self.position
     rn = random.randint(0, len(unoccupied_positions)-1)
     position = unoccupied_positions[rn]
     return Context.getField().getLowestUnoccupiedPosition(position.x, position.y)