kit-programmieren-ws1920-fi.../src/edu/kit/informatik/model/ElectricalEngine.java

57 lines
1.7 KiB
Java
Raw Normal View History

2020-02-16 14:01:33 +00:00
package edu.kit.informatik.model;
2020-02-15 14:17:23 +00:00
import edu.kit.informatik.ui.InvalidInputException;
2020-02-15 15:11:13 +00:00
/**
* Electrical engine.
*
* @author Arne Keller
* @version 1.0
*/
2020-02-15 14:17:23 +00:00
public class ElectricalEngine extends Engine {
2020-02-17 09:39:26 +00:00
/**
* ASCII art of an electrical engine.
*/
2020-02-15 15:11:13 +00:00
private static final String[] ELECTRICAL_ENGINE_TEXT = new String[] {
" ___ ",
" \\ ",
" _______________/__ ",
" /_| ____________ |_\\ ",
"/ |____________| \\",
"\\ /",
" \\__________________/ ",
2020-02-19 09:20:59 +00:00
" (O)(O) (O)(O) ",
2020-02-15 15:11:13 +00:00
};
/**
* Construct a new electrical engine.
* @param series series/class of engine
* @param name name of engine
* @param length length of engine
* @param couplingFront whether the engine should have a front coupling
* @param couplingBack whether the engine should have a back coupling
* @throws InvalidInputException on invalid user input (e.g. zero-sized engine)
2020-02-15 15:11:13 +00:00
*/
2020-02-15 15:38:54 +00:00
public ElectricalEngine(final String series, final String name, final int length,
final boolean couplingFront, final boolean couplingBack) throws InvalidInputException {
2020-02-17 10:19:56 +00:00
super(series, name, length, couplingFront, couplingBack);
2020-02-15 14:17:23 +00:00
}
@Override
public String toString() {
2020-02-17 10:19:56 +00:00
return String.format("e %s %s %d %b %b", getSeries(), getName(), getLength(),
hasCouplingFront(), hasCouplingBack());
2020-02-15 14:17:23 +00:00
}
@Override
public String[] textRepresentation() {
2020-02-20 13:11:26 +00:00
// make sure caller can not modify private data
return ELECTRICAL_ENGINE_TEXT.clone();
2020-02-15 14:17:23 +00:00
}
@Override
public String description() {
return "electrical engine";
}
}