public void RunChapterNine()
        {
            var tuning = new ChapterNine(null);
            var canvas = tuning.Render();

            PpmOutput.WriteToFile($"world1.ppm", canvas.GetPPMContent());

            //var animation = new Animation()
            //{
            //    FrameCount = 300,
            //    StartFrame = 1
            //};

            //var tuning = new ChapterNine(animation);


            //for (int x = animation.StartFrame; x < animation.FrameCount + 1; x++)
            //{
            //    animation.CurrentFrame = x;
            //    var canvas = tuning.Render();

            //    PpmOutput.WriteToFile($"world{x}.ppm", canvas.GetPPMContent(), false);
            //}

            //var canvas = tuning.Reference(-Math.PI / 2);
            //PpmOutput.WriteToFile($"world1.ppm", canvas.GetPPMContent());
        }
示例#2
0
        public ExercisePage(ConsoleProgram program)
            : base("Exercises", program)
        {
            AddOption(new Option("Chapter One", () =>
            {
                var chapter = new ChapterOne();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Two", () =>
            {
                var chapter = new ChapterTwo();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Three", () => program.NavigateTo <ChapterThreePage>()));

            AddOption(new Option("Chapter Four", () =>
            {
                var chapter = new ChapterFour();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Five", () => Program.NavigateTo <ChapterFivePage>()));

            AddOption(new Option("Chapter Six", () => Program.NavigateTo <ChapterSixPage>()));

            AddOption(new Option("Chapter Seven and Eight", () =>
            {
                var chapter = new ChapterSeven();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Nine", () =>
            {
                var animation = new Animation()
                {
                    FrameCount = 13,
                    StartFrame = 1
                };

                var chapter = new ChapterNine(animation);
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Thirteen", () =>
            {
                var chapter = new ChapterThirteen();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Fourteen", () =>
            {
                var chapter = new ChapterFourteen();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Chapter Fifteen", () =>
            {
                var chapter = new ChapterFifteen();
                chapter.Run();
                Input.ReadString("Press [Enter] to navigate home");
                Program.NavigateTo <ExercisePage>();
            }));

            AddOption(new Option("Bonus - Area Light", () =>
            {
                var bonus = new BonusAreaLight();

                var canvas = bonus.Run();
                PpmOutput.WriteToFile("world.ppm", canvas.GetPPMContent());

                Program.NavigateTo <ExercisePage>();
            }));
        }