public static void Load() { var assembly = Assembly.GetExecutingAssembly(); var resourceName = "CompGeomVis.algorithm_text.txt"; Algorithms = new List <AlgorithmModel>(); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) using (StreamReader reader = new StreamReader(stream)) { string result = reader.ReadToEnd(); var lines = result.Split('\n'); int i = 1; int totalAlgs = Int32.Parse(lines[0].Trim()); int a = 0; while (i < lines.Length && !lines[i].StartsWith("~")) { var alg = AlgorithmModel.Parse(lines, ref i); alg.ProcessLiveCode(); alg.ProcessPseudoCode(); Algorithms.Add(alg); a++; if (a == totalAlgs) { break; } } } }
public static AlgorithmModel Parse(String[] lines, ref int index) { var a = new AlgorithmModel(); a.AlgorithmIndex = Int32.Parse(lines[index++].Trim()); a.AlgorithmId = Int32.Parse(lines[index++].Trim()); a.Name = lines[index++]; a.ShortDescription = lines[index++]; a.Description = NextChunk(lines, ref index); a.DegenerateCaseText = NextChunk(lines, ref index); a.PseudoCodeText = NextChunkAsList(lines, ref index); a.LiveCodeText = NextChunkAsList(lines, ref index); return(a); }