def METHOD_NAME(self, task):
    dt = globalClock.get_dt()
    # Get mouse position and tilt maze
    if base.mouseWatcherNode.hasMouse():
        mpos = base.mouseWatcherNode.get_mouse()
        hpr = (0, mpos.y * -10, mpos.x * 10)
        # Maze visual node
        self.mazeNP.set_hpr(hpr)
        # Maze body nodes
        for bodyNP in self.maze:
            bodyNP.set_hpr(hpr)
    # Update simulation
    self.world.do_physics(dt)
    # Check if ball is touching a hole
    for holeNP in self.holes:
        if holeNP.node().get_num_overlapping_nodes() > 2:
            if self.ballNP.node() in holeNP.node().get_overlapping_nodes():
                self.lose_game(holeNP)
    return task.cont