コード例 #1
0
        private void DateiEinlesen(string Datei)
        {
            // Text in Zeilen unterteilen
            string[] Zeilen = Datei.Split('\n');

            string[] StartpunktStrings = Zeilen[Zeilen.Length - 1].Split(' ');

            int   HindernissAnzahl;
            Point _Startpunkt;

            Hindernis[] _Hindernisse;

            try
            {
                // Hindernisanzahl bestimmen
                HindernissAnzahl = int.Parse(Zeilen[0]);
                _Hindernisse     = new Hindernis[HindernissAnzahl];

                // Hindernisse bestimmen
                for (int I = 0; I < HindernissAnzahl; I++)
                {
                    // An Leerzeichen trennen -> Array
                    string[] HindernisString = Zeilen[I + 1].Split(' ');

                    // Punktanzahl bestimmen
                    int     PunktAnzahl = int.Parse(HindernisString[0]);
                    Point[] Punkte      = new Point[PunktAnzahl];

                    // Koordinaten bestimmen
                    for (int J = 0; J < PunktAnzahl; J++)
                    {
                        double X = double.Parse(HindernisString[J * 2 + 1]);
                        double Y = double.Parse(HindernisString[J * 2 + 2]);

                        Punkte[J] = new Point(X, Y);
                    }

                    // Hindernis-Objekt erstellen
                    _Hindernisse[I] = new Hindernis(Punkte);
                }

                // Startpunkt bestimmen
                _Startpunkt = new Point(double.Parse(StartpunktStrings[0]), double.Parse(StartpunktStrings[1]));
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Die Datei konnte nicht korrekt eingelesen werden!" + Environment.NewLine + Ex.Message);
                return;
            }

            Berechnung.SetzeHindernisse(_Hindernisse);
            Berechnung.SetzeStartpunkt(_Startpunkt);

            Berechnen();

            Zeichne();
        }
コード例 #2
0
 public Strecke(Point _A, Point _B, Hindernis _Hindernis)
 {
     A         = _A;
     B         = _B;
     Hindernis = _Hindernis;
 }