/// <summary>
        /// Erstellt eine Regel aus der Konfiguration.
        /// </summary>
        /// <param name="regel">Eine beliebige Regel.</param>
        /// <param name="element">Das zugehörige Element.</param>
        /// <returns>Gesetzt, wenn die Regel ausgewertet werden konnte.</returns>
        private static bool RegelAnwenden( Energieregel regel, GrundElement element )
        {
            // Prüfen
            if (regel == null)
                return false;

            // Lebensenergie auslesen und Regel erzeugen
            var lebensenergie = regel.Lebensenergie;
            if (lebensenergie != 0)
                element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.LebenskraftDesSpielersÄndern( lebensenergie ) );

            // Fertig
            return true;
        }
        /// <summary>
        /// Erstellt eine Regel aus der Konfiguration.
        /// </summary>
        /// <param name="regel">Eine beliebige Regel.</param>
        /// <param name="element">Das zugehörige Element.</param>
        /// <returns>Gesetzt, wenn die Regel ausgewertet werden konnte.</returns>
        private static bool RegelAnwenden( Verschieberegel regel, GrundElement element )
        {
            // Prüfen
            if (regel == null)
                return false;

            // Anwenden
            element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.HindernisVerschieben() );

            // Fertig
            return true;
        }
        /// <summary>
        /// Erzeugt eine Regel, die ein Element bei Kollision aktiviert.
        /// </summary>
        /// <param name="regel">Die zu untersuchende Regel.</param>
        /// <param name="element">Das betroffene Element auf dem Spielfeld.</param>
        /// <returns>Gesetzt, wenn die Regel angewendet wurde.</returns>
        private static bool RegelAnwenden( Erscheineregel regel, GrundElement element )
        {
            // Prüfen
            if (regel == null)
                return false;

            // Erzeugen und anwenden
            element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.ElementAktivieren( regel.Name ) );

            // Fertig
            return true;
        }
        /// <summary>
        /// Erzeugt eine Regel, die ein Element bei Kollision ausblendet.
        /// </summary>
        /// <param name="regel">Die zu untersuchende Regel.</param>
        /// <param name="element">Das betroffene Element auf dem Spielfeld.</param>
        /// <returns>Gesetzt, wenn die Regel angewendet wurde.</returns>
        private static bool RegelAnwenden( Verschwinderegel regel, GrundElement element )
        {
            // Prüfen
            if (regel == null)
                return false;

            // Erzeugen und anwenden
            switch (regel.WasSollVerschwinden)
            {
                case WasSollVerschwinden.Fest: element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.ElementDeaktivieren ); break;
                case WasSollVerschwinden.Beweglich: element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.BeweglichesElementDeaktivieren ); break;
                case WasSollVerschwinden.Selbst: element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.BestimmtesElementDeaktivieren( element ) ); break;
                default: throw new NotSupportedException( regel.WasSollVerschwinden.ToString() );
            }

            // Fertig
            return true;
        }
        /// <summary>
        /// Erzeugt eine Kollisionsregeln, die das Spiel beendet.
        /// </summary>
        /// <param name="regel">Die zu untersuchende Regel.</param>
        /// <param name="element">Das betroffene Element auf dem Spielfeld.</param>
        /// <returns>Gesetzt, wenn die Regel angewendet wurde.</returns>
        private static bool RegelAnwenden( Enderegel regel, GrundElement element )
        {
            // Prüfen
            if (regel == null)
                return false;

            // Erzeugen und anwenden
            element.RegelAnmelden( regel.ArtDerKollision, regel.Gewonnen ? KollisionsRegel.SpielGewonnen : KollisionsRegel.SpielVerloren );

            // Fertig
            return true;
        }
        /// <summary>
        /// Erstellt eine Regel aus der Konfiguration.
        /// </summary>
        /// <param name="regel">Eine beliebige Regel.</param>
        /// <param name="element">Das zugehörige Element.</param>
        /// <returns>Gesetzt, wenn die Regel ausgewertet werden konnte.</returns>
        private static bool RegelAnwenden( Punkteregel regel, GrundElement element )
        {
            // Prüfen
            if (regel == null)
                return false;

            // Punkte verteilen
            var punkte = regel.Punkte;
            if (punkte != 0)
                element.RegelAnmelden( regel.ArtDerKollision, KollisionsRegel.PunkteAnDenSpielerÜbergeben( punkte ) );

            // Fertig
            return true;
        }