public override void AgentAction(float[] vectorAction, string textAction)
    {
        //print("AGENT STEP #" + stepCounter);
        int direction = (int)vectorAction[0];

        axisController.Move(direction);

        // Determine reward based on rotation of pendulum shaft
        float zRot = pendulum.transform.rotation.eulerAngles.z;

        Debug.Log("zRot = " + zRot);

        float zDiff = Mathf.Abs(Mathf.DeltaAngle(optimialZRot, zRot));

        Debug.Log("zDiff = " + zDiff);
        float reward = (1 - zDiff / 180f) * 2 - 1;

        AddReward(reward);

        if (Mathf.Abs(transform.position.x) > 1)
        {
            print("OUT OF BOUNDS");
            Done();
        }

        print("Reward = " + reward);
    }
 public void Move(Vector2 amount)
 {
     body.Move(amount.x);
     cannon.Move(amount.y);
 }