|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--Field
Klasse fuer ein Schiffe-Versenken-Spielfeld. Diese Klasse kann benutzt werden, um seine eigenen Schiffe zu positionieren und anzuzeigen, und gleichzeitig auch zur Speicherung des gegnerischen Spielfeldes, auf dem dann die Treffer markiert werden koennen. Saemtliche Zustaende und Belegungen der Felder eines Spielfeldes werden in einem zweidimensionalen Array abgespeichert. Diese Klasse enthaelt Methoden zum Zugriff und zur Manipulation dieser Felder.
Field Summary | |
static int |
bigship
Feldbelegung: groesstes Schiff |
static int |
size
Groesse des Spielfeldes in Feldern (quadratisch) |
static int |
smallship
Feldbelegung: kleinstes Schiff |
static int |
water
Feldbelegung: Wasserfeld |
Constructor Summary | |
Field()
|
Method Summary | |
void |
clear()
Loescht den Inhalt alle Felder, so dass ein leeres Spielfeld ohne Schiffe vorhanden ist. |
int |
getNeighbours(int row,
int col)
Gibt die Anzahl der Schiffsfelder in der Nachbarschaft eines Wasserfeldes an. |
int |
getShip(int row,
int col)
Liefert die Belegung des Feldes (bzw. den Schiffstyp) an der uebergebenen Position. |
boolean |
isAfloat(int row,
int col)
Fragt ab, ob sich an der uebergebenen Position ein noch nicht getroffenes, also "schwimmendes" Schiffsteil befindet. |
boolean |
isFree(int row,
int col)
Fragt ab, ob die uebergebene Position ein freies, unbeschossenes Wasserfeld ohne horizontale, vertikale oder diagonale Beruehrung eines vorhandenen Schiffes ist. |
boolean |
isHit(int row,
int col)
Fragt ab, ob die uebergebene Position schon beschossen (das heisst bei Schiffen: getroffen) worden ist. |
boolean |
isShip(int row,
int col)
Fragt ab, ob sich an der uebergebenen Position ein Schiff befindet. |
void |
manual_init(GameWindowInterface win)
Ermoeglicht dem Spieler die manuelle Positionierung aller fuenf Schiffe. |
int |
query_ship(int s)
Liefert die verbleibende Groesse bzw. den nichtgetroffenen Anteil des uebergebenen Schiffstyps. |
int |
query_ships()
Liefert die aktuelle Anzahl nichtversunkener Schiffe, die sich noch auf dem Spielfeld befinden. |
void |
random_init()
Initialisiert alle Felder zufaellig, d.h. es werden alle fuenf Schiffe zufaellig verteilt, ohne dabei die Regel zu verletzen, dass die Schiffe sich horizontal, vertikal oder diagonal nicht beruehren duerfen. |
void |
setHit(int row,
int col)
Setzt das Feld an der uebergebenen Position auf "getroffen". |
void |
setHit(int row,
int col,
boolean val)
Setzt das Feld an der uebergebenen Position auf "getroffen" bzw. |
void |
setShip(int row,
int col,
int val)
Setzt die Belegung des Feldes an der uebergebenen Position. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int size
public static final int water
getShip(int, int)
public static final int smallship
getShip(int, int)
public static final int bigship
getShip(int, int)
Constructor Detail |
public Field()
Method Detail |
public void clear()
public int query_ships()
public int query_ship(int s)
s
- Schiffstyp. Der Wert muss zwischen den Werten fuer smallship und bigship liegengetShip(int, int)
public int getShip(int row, int col)
row
- Spielfeldzeilecol
- Spielfeldspaltepublic boolean isShip(int row, int col)
row
- Spielfeldzeilecol
- Spielfeldspaltepublic boolean isAfloat(int row, int col)
row
- Spielfeldzeilecol
- Spielfeldspaltepublic boolean isHit(int row, int col)
row
- Spielfeldzeilecol
- Spielfeldspaltepublic int getNeighbours(int row, int col)
row
- Spielfeldzeilecol
- Spielfeldspaltepublic boolean isFree(int row, int col)
row
- Spielfeldzeilecol
- Spielfeldspaltepublic void setShip(int row, int col, int val)
row
- Spielfeldzeilecol
- Spielfeldspalteval
- neue Feldbelegung an der gegebenen Position (Field.water oder Zahl zwischen Field.smallship und Field.bigship)water
,
smallship
,
bigship
public void setHit(int row, int col, boolean val)
row
- Spielfeldzeilecol
- Spielfeldspalteval
- setzt das Feld an der gegebenen Position auf "getroffen" (true) bzw. "nicht getroffen" (false)public void setHit(int row, int col)
row
- Spielfeldzeilecol
- SpielfeldspaltesetHit(int, int, boolean)
public void random_init()
public void manual_init(GameWindowInterface win)
win
- GameWindow, das zu diesem Spielfeld gehoertGameWindow
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |