de.hska.java.aufgaben.backtracking
Class SolitaerSpielfeld

java.lang.Object
  extended by de.hska.java.aufgaben.backtracking.SolitaerSpielfeld

public class SolitaerSpielfeld
extends java.lang.Object

Das Spielfeld für das Englische Solitär mit 32 Feldern. Die einzelnen Felder haben "kartesische" Koordinaten von 0 bis 6 in der Breite und 0 bis 6 in der Höhe.

0123456
0 XXX
1 XXX
2XXXXXXX
3XXXOXXX
4XXXXXXX
5 XXX
6 XXX

Author:
pape

Constructor Summary
SolitaerSpielfeld()
           
 
Method Summary
 void ausgeben()
          Gibt den Inhalt dieses Spielfelds auf dem Bildschirm aus.
 void feldBesetzen(int x, int y)
           
 void feldFreimachen(int x, int y)
           
 int getBreite()
          Die Breite des Spielfelds (sollte immer 7 sein).
 int getHoehe()
          Die Höhe des Spielfelds (sollte immer 7 sein).
 int[] getRichtungen()
          Gibt ein Feld mit allen Werten für die Sprungrichtungen zurück.
 boolean isBesetzt(int x, int y)
          Gibt genau dann true zurück, wenn eine Spielfigur an der Position (x,y) vorhanden ist.
 void kopiereSpielfeld(SolitaerSpielfeld vonSpielfeld, SolitaerSpielfeld nachSpielfeld)
          Kopiert den Zustand des Spielfelds vonSpielfeld in das Spielfeld nachSpielfeld
 boolean springe(int x, int y, int richtung)
          Nimmt die "Spielfigur" vom Feld (x,y) und spring in die gegeben richtung zwei Felder weiter in das leere Feld.
 void zurueckSpringen(int x, int y, int richtung)
          Macht einen Sprung von (x,y) in die gegeben richtung wieder rückgängig.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SolitaerSpielfeld

public SolitaerSpielfeld()
Method Detail

getBreite

public int getBreite()
Die Breite des Spielfelds (sollte immer 7 sein).


getHoehe

public int getHoehe()
Die Höhe des Spielfelds (sollte immer 7 sein).


feldFreimachen

public void feldFreimachen(int x,
                           int y)

feldBesetzen

public void feldBesetzen(int x,
                         int y)

kopiereSpielfeld

public void kopiereSpielfeld(SolitaerSpielfeld vonSpielfeld,
                             SolitaerSpielfeld nachSpielfeld)
Kopiert den Zustand des Spielfelds vonSpielfeld in das Spielfeld nachSpielfeld


springe

public boolean springe(int x,
                       int y,
                       int richtung)
Nimmt die "Spielfigur" vom Feld (x,y) und spring in die gegeben richtung zwei Felder weiter in das leere Feld. Die Spielfigur dazwischen wird weggebenommen. Wenn es sich nicht um einen gütligen Sprung handelt, dann wird false zurückgegeben und das Spielfeld bleibt unverändert.

Returns:
true, wenn es sich um einen gültigen Sprung handelt, ansonsten false.

zurueckSpringen

public void zurueckSpringen(int x,
                            int y,
                            int richtung)
Macht einen Sprung von (x,y) in die gegeben richtung wieder rückgängig. Es wird nicht geprüft, ob der Sprung wirklich erlaubt ist.


ausgeben

public void ausgeben()
Gibt den Inhalt dieses Spielfelds auf dem Bildschirm aus. Die Werte haben folgende Bedeutung:


isBesetzt

public boolean isBesetzt(int x,
                         int y)
Gibt genau dann true zurück, wenn eine Spielfigur an der Position (x,y) vorhanden ist.


getRichtungen

public int[] getRichtungen()
Gibt ein Feld mit allen Werten für die Sprungrichtungen zurück.



(c) Prof. Dr. Christian Pape --- Übersicht aller Java-Programmieraufgaben