Esempio n. 1
0
 def Grasp(self, item):
     """
     pilla el bloque X
     """
     message = 'Grasp %s' % (item)
     gtree = GoalTree(message)
     if self._table.get(item) != None:
         gtree.add_child(self.ClearTop(item))
     return gtree
Esempio n. 2
0
 def GetRidOf(self, item):
     """
     saca el objeto X del medio (edited)
     """
     message = 'GetRidOf %s' % (item)
     gtree = GoalTree(message)
     if self._table.get(item) != None:
         gtree.add_child(self.PutOnTable(item))
     return gtree
Esempio n. 3
0
 def ClearTop(self, item):
     """
     despeja la parte superior del objeto X
     """
     message = 'ClearTop %s' % (item)
     gtree = GoalTree(message)
     stack = []
     blk = self._table.get(item)
     if self.pickable(blk.name):
         return gtree
     for row in range(blk.row +1, self._table.height):
         if self._table.grid[blk.col][row] != None:
             stack.append(self._table.grid[blk.col][row].name)
     while len(stack) > 0:
         new_blk = stack.pop()
         gtree.add_child(self.GetRidOf(new_blk))
     return gtree
Esempio n. 4
0
 def test_add_child(self):
     g = GoalTree('Test')
     g.add_child(GoalTree('child'))
     self.assertEqual(g._children[0].parent, 'Test')
     self.assertEqual(g._children[0].name, 'child')