package de.jaujau.daten;


/**
 * Klasse Karte
 * Verwaltet die Daten einer Spielkarte
 * @author Sebastian Kacza
 */
public class Karte {
	private final Farbe FARBE;
	private final Wert WERT;
	private Ablageort Ablageort;
	
	/**
	 * Konstruktor für die Klasse Karte
	 * Ablageort dird Standartmäßig auf Zielstapel gestezt
	 * @param f Farbe der Karte
	 * @param w	Wert der Karte
	 */
	public Karte(Farbe f, Wert w) {
		FARBE = f;
		WERT = w;
		Ablageort = de.jaujau.daten.Ablageort.ZIEHSTAPEL;
	}
	
	/**
	 * Gibt die Farbe der Karte zurück
	 * @return Farbe der Karte
	 */
	public Farbe getFARBE() {
		return FARBE;
	}
	
	/**
	 * Gibt den Wert einer Karte zurück
	 * @return Wert der Karte
	 */
	public Wert getWERT() {
		return WERT; 
	}
	
	/**
	 * Gibt den Ablageort der Karte zurück
	 * @return Ablageort der Karte
	 */
	public Ablageort getAblageort() {
		return Ablageort;
	}
	
	/**
	 * Ändert den Ablageoert der Karte
	 * @param ablageort Neuer Ablageort der Karte
	 */
	public void setAblageort(Ablageort ablageort) {
		Ablageort = ablageort;
	}

	/**
	 * Gibt die Eigenschaften der Karte aus Text aus
	 * !!!Diese Methode ist nur für Debug-Ausgaben notwendig und kann Später entfernt werden!!!
	 * @return String mit den Karten Eigenschaften
	 */
	@Override
	public String toString() {
		return "Karte [FARBE=" + FARBE + ", WERT=" + WERT + ", Ablageort=" + Ablageort + "]";
	}
	
}
