Ejemplo n.º 1
0
        public ProblemSpec Get(int id)
        {
            var s = ProblemSpec.Parse(File.ReadAllText(GetFilename(id)));

            s.id = id;
            return(s);
        }
Ejemplo n.º 2
0
        public void PaintOne(int index)
        {
            var painter  = new Painter();
            var filename = index.ToString("000") + ".spec.txt";
            var content  = File.ReadAllText(Path.Combine(Paths.ProblemsDir(), filename));
            var spec     = ProblemSpec.Parse(content).MoveToOrigin();

            Console.WriteLine(spec.ToString());
            var bmp  = MakeBitmap(painter, spec);
            var file = Path.Combine(Paths.ProblemsDir(), filename + ".bmp");

            bmp.Save(file);
            Process.Start(file);
        }
Ejemplo n.º 3
0
        public void MovableToOrigin()
        {
            var x = ProblemSpec.Parse(@"1
4
1267650600228229401496703205376,1267650600228229401496703205376
1267650600228229401496703205377,1267650600228229401496703205376
1267650600228229401496703205377,1267650600228229401496703205377
1267650600228229401496703205376,1267650600228229401496703205377
4
1267650600228229401496703205376,1267650600228229401496703205376 1267650600228229401496703205376,1267650600228229401496703205377
1267650600228229401496703205377,1267650600228229401496703205376 1267650600228229401496703205377,1267650600228229401496703205377
1267650600228229401496703205376,1267650600228229401496703205376 1267650600228229401496703205377,1267650600228229401496703205376
1267650600228229401496703205376,1267650600228229401496703205377 1267650600228229401496703205377,1267650600228229401496703205377").MoveToOrigin();
        }
Ejemplo n.º 4
0
        public void PaintProblems()
        {
            var painter = new Painter();
            var ps      =
                from i in Enumerable.Range(1, int.MaxValue)
                let filename = i.ToString("000") + ".spec.txt"
                               let filepath = Path.Combine(Paths.ProblemsDir(), filename)
                                              select filepath;

            foreach (var path in ps.TakeWhile(File.Exists))
            {
                Console.WriteLine($"writing {path}");
                var content = File.ReadAllText(path);
                var spec    = ProblemSpec.Parse(content);
                var bmp     = MakeBitmap(painter, spec);
                bmp.Save(path + ".bmp");
            }
        }
Ejemplo n.º 5
0
        public void BeParsable()
        {
            var         input = @"1
4
0,0
1,0
1/2,1/2
0,1/2
5
0,0 1,0
1,0 1/2,1/2
1/2,1/2 0,1/2
0,1/2 0,0
0,0 1/2,1/2";
            ProblemSpec spec  = ProblemSpec.Parse(input);

            Console.WriteLine(spec);
            spec.Polygons.Length.Should().Be(1);
            spec.Segments.Length.Should().Be(5);
            spec.ToString().Should().Be(input);
        }
Ejemplo n.º 6
0
 public IEnumerable <ProblemSpec> GetAll()
 {
     return(Directory.GetFiles(problemsDir, "*.spec.txt")
            .Select(p => ProblemSpec.Parse(File.ReadAllText(p), ExtractProblemId(p))).ToList());
 }
Ejemplo n.º 7
0
 public ProblemSpec Find(int id)
 {
     return(File.Exists(GetFilename(id)) ? ProblemSpec.Parse(File.ReadAllText(GetFilename(id))) : null);
 }