/// <summary> /// Prüft, ob der gegebene Spielstein in die gewünschte Richtung bewegt werden kann /// </summary> /// <param name="einSpielstein"></param> /// <param name="richtung"></param> /// <returns></returns> private bool Verschiebbar(Spielstein einSpielstein, Richtung richtung) { if (einSpielstein == null) { return(false); } // "Geisterstein" erzeugen Spielstein verschobenerSpielstein = einSpielstein.Kopie(); // mit Geisterstein die Bewegung simulieren verschobenerSpielstein.Verschieben(richtung); // Wenn Geisterstein an seiner neuen position setzbar, true zurückgeben return(Setzbar(verschobenerSpielstein)); }
/// <summary> /// Stein wird im Spielfeld in die gewünschte Richtung verschoben /// </summary> /// <param name="einSpielstein"></param> /// <param name="richtung"></param> private void Verschieben(Spielstein einSpielstein, Richtung richtung) { Loeschen(einSpielstein); einSpielstein.Verschieben(richtung); Setzen(einSpielstein); }