private bool Drehbar(Spielstein einSpielstein) { if (einSpielstein == null) { return(false); } Spielstein verschobenerSpielstein = einSpielstein.Kopie(); verschobenerSpielstein.Drehen(); return(Setzbar(verschobenerSpielstein)); }
/// <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)); }