예제 #1
0
        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;
                        }
                    }
                }
        }
예제 #2
0
        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);
        }