<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_collisions(self):
 """ Test player for collisions with items """

        if not self.mode['items'] or len(self.mode['items']) == 0: return

        # update collman
        # FIXME: Why update each frame?
        self.collman.clear()
        for z, node in self.children:
            if hasattr(node, 'cshape') and type(node.cshape) == cm.CircleShape:
                self.collman.add(node)

        # interactions player - others
        for other in self.collman.iter_colliding(self.player):
            typeball = other.btype
            self.logger.debug('collision', typeball)

            # TODO: Limit player position on non-removable items
            #if not other.removable:
            #    pass

            if other.removable:
                self.to_remove.append(other)

            self.reward_item(typeball)

        #
        #    elif (typeball == 'wall' or
        #          typeball == 'gate' and self.cnt_food > 0):
        #        self.level_losed()
        #
        #    elif typeball == 'gate':
        #        self.level_conquered()

        self.remove_items()