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(); }
public Strecke(Point _A, Point _B, Hindernis _Hindernis) { A = _A; B = _B; Hindernis = _Hindernis; }