Newer
Older
JumpingGame / src / Acceleration.java
import java.util.*;

public class Acceleration {
    private double massValue;
    private Map.Entry<Double, Double> forceValue;
    private Velocity velocity;
    private Onground onground;
    private Map.Entry<Double, Double> value;

    public void updateByMass(double mass) {
        this.massValue = mass;
        Map.Entry<Double, Double> temp_l0;
        if (this.onground.getOnground()) {
            temp_l0 = new AbstractMap.SimpleEntry<>((forceValue.getKey() / mass), 0.0);
        } else {
            temp_l0 = new AbstractMap.SimpleEntry<>((forceValue.getKey() / mass), (forceValue.getValue() / mass));
        }
        value = temp_l0;
        velocity.updateByAcceleration(value);
    }

    public void updateByForce(Map.Entry<Double, Double> force) {
        this.forceValue = force;
        Map.Entry<Double, Double> temp_l1;
        if (this.onground.getOnground()) {
            temp_l1 = new AbstractMap.SimpleEntry<>((force.getKey() / massValue), 0.0);
        } else {
            temp_l1 = new AbstractMap.SimpleEntry<>((force.getKey() / massValue), (force.getValue() / massValue));
        }
        value = temp_l1;
        velocity.updateByAcceleration(value);
    }

    public Acceleration(Velocity velocity, Onground onground) {
        this.onground = onground;
    }

    public Map.Entry<Double, Double> getValue() {
        return value;
    }
}