Here is the code we wrote today (5th period; 6th did some of this today and some on Monday):

public class Car {

    private int originalValue;  //car's original value
    private int speed;    //car's current speed
    private int damage;   //amount of damage sustained 

    public Car(int value) {
        this.originalValue = value;
        this.speed = 0;
        this.damage = 0;
    }
    
    public int getSpeed() {
        return speed;
    }
    
    public void accelerate(int amount) {
        speed = speed + amount;
    }
    
    public void crash() {
        this.damage += (20 * this.speed);
        this.speed = 0;
    }
    
    public int currentValue() {
        return originalValue - damage;
    }    
}

public class Train {
     private int numLocos;
     private int numCars;
     
     public Train() {
         numLocos = 1;
         numCars = 0;
     }
     
     public void increaseSize(int newCars) {
         numCars += newCars;
         numLocos += (newCars / 5);  
     }
     
     public double speed() {
         return 20 - (double)numCars / numLocos;
     }
}