// You are on a team that is creating a program to model stress on furniture.
// Your task is to model the behavior of furniture under abuse such as
// excessive weight or application of fire. There exists a prototype that
// defines the following:
class Furniture {
/**
* Furniture becomes unusable if enough weight is applied; the
* algorithm depends on shape of furniture, the strength of material, and
* the location where the weight is applied
*/
void applyWeight(double x, double y, double weight, double seconds);
/**
* Furniture becomes unusable if it is made of wood, and fire is applied
* long enough; wood will change from brown to black if it is burnt
* (whether or not the furniture becomes unusable)
*/
void applyFire(double x, double y, double fireStrength, double seconds);
/**
* possible values: Gray, Brown, Black, etc
*/
Color getColor();
/**
* possible values: OK, UNUSABLE
*/
FurnitureState getState();
}
class WoodChair extends Furniture {...}
class SteelChair extends Furniture {...}
class WoodTable extends Furniture {...}
class SteelTable extends Furniture {...}
class RubbrCouch
// We will need to start adding other furniture like couches, beds, bookcases, and desks, and also new materials such as plastic, cloth, rubber, etc. Try to improve the class design - you are free to modify it however you wish since it is only a prototype.