Exemplo n.º 1
0
    public override void AgentAction(float[] vectorAction, string textAction)
    {
        if (dataCollection)
        {
            positionDrawer.DrawPositions(addNoise, randomQuarter, randomPosition);
        }
        else
        {
            engine.Move(vectorAction[0], vectorAction[1], vectorAction[2], vectorAction[3]);
        }
        pos   = GetPosition();
        angle = GetAngle();
        float reward = CalculateReward();

        SetReward(reward);
        if (engine.isAboveSurface())
        {
            result = 1;
            Done();
        }
        else if (missed)
        {
            result = 2;
            Done();
        }
        else if (success)
        {
            result = 3;
            Done();
        }
    }