package blatt3; /**Interface fuer das Spielfeld * @author rguderlei * */ public interface Field { /**Diese Funktion setzt Schiffe auf das Spielfeld. * @param x x-Koordinate des ersten Schiffelements * @param y y-Koordinate des ersten Schiffelements * @param length die Länge des Schiffs * @param direction die Ausrichtung des Schiffs (entweder parallel zur x- oder y-Achse) * @throws Exception Eine Exception wird geworfen, wenn das Schiff nicht auf das Spielfeld passt oder * an der selben Stelle sich schon ein anderes Schiff befindet */ public void placeShip(int x, int y, int length, int direction) throws Exception; /**diese Funktion soll benutzt werden, um das Spielfeld auf der Konsole auszugeben. * @return die (String-) Darstellung des Spielfelds. */ public String toString(); /**diese Funktion soll benutzt werden, um eine Bombe auf dem Spielfeld zu platzieren. * Dabei soll auf dem Spielfeld das Ergebnis der Bombe vermerkt werden. * @param x x-Koordinate der Bombe * @param y y-Koordinate der Bombe * @return true, falls ein Schiff getroffen wurde. * @throws Exception falls die Bombe nicht auf dem Spielfeld platziert wurde. */ public boolean placeBomb(int x, int y) throws Exception; /**diese Funktion soll anzeigen, ob das Spiel beendet ist oder nicht. * @return true falls das Spiel beendet ist */ public boolean isFinished(); }