private static TimeSpan Perform(bool smooth1, bool smooth2, bool color) { DiffDraw.Clear(0, 0); Renderer.Player.Clear(); Pixel[,] init = new Pixel[1, 2]; init.Populate(new Pixel()); DiffDraw.Clear(init); DiffDraw.Draw(false, true); Stopwatch t = Stopwatch.StartNew(); (char[,] level, _) = CharArrayLoader.LoadLevel(@" ##################### # ### # ### # # # ## # # # # # ## # #####################", smooth1); DiffDraw.Clear(ColorSelector.Get(level)); Renderer.Player.Add(new Tuple <Point, Point>(new Point(1, 2), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(2, 2), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(2, 3), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(1, 3), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(1, 4), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(1, 5), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(1, 6), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(2, 6), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(2, 5), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(2, 4), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(3, 4), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(3, 3), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(3, 2), new Point(0, 0))); Renderer.Player.Add(new Tuple <Point, Point>(new Point(4, 2), new Point(0, 0))); Renderer.Enemies.Add(new Point(5, 4)); Renderer.Enemies.Add(new Point(5, 5)); Renderer.Enemies.Add(new Point(5, 6)); Renderer.Enemies.Add(new Point(6, 6)); Renderer.Enemies.Add(new Point(7, 6)); Renderer.Enemies.Add(new Point(7, 5)); Renderer.Enemies.Add(new Point(7, 4)); Renderer.Enemies.Add(new Point(6, 3)); Renderer.Enemies.Add(new Point(5, 2)); Renderer.Render(smooth2); DiffDraw.Draw(color); foreach (string t1 in Levels.levels) { (char[,] lvl, _) = CharArrayLoader.LoadLevel(t1, SettingsMan.SmoothTerrain); DiffDraw.Clear(ColorSelector.Get(lvl)); DiffDraw.Draw(true); } t.Stop(); return(t.Elapsed); }
public static void Perform() { Levels.Load(); Console.Clear(); Renderer.Enemies.Clear(); Renderer.Labels.Clear(); Renderer.Player.Clear(); DiffDraw.Clear(21, 1); Label status = new Label(new Point(0, 0), "Snakity Bench running"); Renderer.Labels.Add(status); Renderer.Render(false); Tuple <bool, bool, bool, TimeSpan>[] result = new[] { false, true }.SelectMany(b1 => new[] { false, true }, (b1, b2) => new { b1, b2 }) .SelectMany(t => new[] { false, true }, (t, b3) => new { t, b3 }) .Select(t => new Tuple <bool, bool, bool, TimeSpan>(t.t.b1, t.t.b2, t.b3, Perform(t.t.b1, t.t.b2, t.b3))) .OrderBy(s => s.Item4).ToArray(); Console.Clear(); Console.WriteLine("╔═Smooth1═╤═Smooth2═╤═Color═╤═Time═╗"); bool color2 = false; foreach ((bool smooth1, bool smooth2, bool color, TimeSpan time) in result) { color2 = !color2; Console.BackgroundColor = color2 ? ConsoleColor.Black : ConsoleColor.White; Console.ForegroundColor = color2 ? ConsoleColor.White : ConsoleColor.Black; string tmp = time.TotalSeconds.ToString(CultureInfo.InvariantCulture); if (tmp.Length > 5) { tmp = tmp.Remove(5); } else if (tmp.Length < 5) { tmp += new string(' ', 6 - tmp.Length); } Console.WriteLine( $"║ {(smooth1 ? "X" : " ")} │ {(smooth2 ? "X" : " ")} │ {(color ? "X" : " ")} │{tmp}s║"); } Console.ResetColor(); Console.WriteLine("╚═Smooth1═╧═Smooth2═╧═Color═╧═Time═╝"); Console.WriteLine(); Console.WriteLine("Impact:"); Console.WriteLine($"- Smooth1: {GetImpact(result, tuple => tuple.Item1)}s"); Console.WriteLine($"- Smooth2: {GetImpact(result, tuple => tuple.Item2)}s"); Console.WriteLine($"- Color: {GetImpact(result, tuple => tuple.Item3)}s"); Console.WriteLine(); Console.WriteLine("Press any key to return"); Console.ReadKey(); }
private static void PlayRound() { Console.Clear(); bool playing = true; Pixel[,] init = new Pixel[1, 2]; init.Populate(new Pixel()); DiffDraw.Clear(init); DiffDraw.Draw(false); Label scoreLabel = new Label(new Point(0, 0), ""); Renderer.Labels.Clear(); Renderer.Labels.Add(scoreLabel); Levels.Load(); (char[,] level, bool[,] spawnable) = CharArrayLoader.LoadLevel(Levels.levels[Rnd.Next(Levels.levels.Length)], SettingsMan.SmoothTerrain); bool hasIncreased = false; Renderer.Player.Clear(); Renderer.Player.Add(new Tuple <Point, Point>(new Point(1, 1), new Point(0, 1))); Renderer.Enemies.Clear(); DiffDraw.Clear(ColorSelector.Get(level)); DiffDraw.Draw(SettingsMan.Color); Input.Reset(); while (playing) { DiffDraw.Clear(ColorSelector.Get(level)); scoreLabel.Text = $"Score: {_score}"; Renderer.Render(SettingsMan.SmoothPlayer); Input.Get(); if (Input.Move(hasIncreased) || Input.Esc) { Renderer.Player.Clear(); Input.Reset(); playing = false; Input.Esc = false; continue; } if (Input.R) { _score = 0; init.Populate(new Pixel()); DiffDraw.Clear(init); DiffDraw.Draw(SettingsMan.Color); Console.Clear(); (level, spawnable) = CharArrayLoader.LoadLevel(Levels.levels[Rnd.Next(Levels.levels.Length)], SettingsMan.SmoothTerrain); DiffDraw.Clear(ColorSelector.Get(level)); Renderer.Player.Clear(); Renderer.Player.Add(new Tuple <Point, Point>(new Point(2, 2), new Point(0, 1))); Renderer.Enemies.Clear(); Input.Reset(); Input.R = false; } Renderer.Render(SettingsMan.SmoothPlayer); hasIncreased = Enemy.Compute(spawnable); if (hasIncreased) { _score++; } DiffDraw.Draw(SettingsMan.Color); } Console.ResetColor(); }
private static void Main(string[] args) { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; Console.Clear(); CenteredScreen cScreen = new CenteredScreen(40, 20, ConsoleColor.Green); Panel screen = cScreen.ContentPanel; Button btn1 = new Button("Test") { Point = new Point(2, 0), BackColor = ConsoleColor.DarkGreen }; screen.Controls.Add(btn1); btn1.Click += (screen1, eventArgs) => { DiffDraw.Draw(true, true); }; Label lab1 = new Label("Meem") { Point = new Point(2, 1), BackColor = ConsoleColor.Green }; screen.Controls.Add(lab1); screen.Controls.Add(new Label("Saas\nSoos") { Point = new Point(2, 2), BackColor = ConsoleColor.Green }); Button btn2 = new Button("X") { BackColor = ConsoleColor.Red, ForeColor = ConsoleColor.White }; screen.Controls.Add(btn2); CheckBox box = new CheckBox("Are u gae?") { Point = new Point(2, 3), BackColor = ConsoleColor.DarkGreen }; screen.Controls.Add(box); box.CheckedChanged += (screen1, eventArgs) => { lab1.Content = box.Checked ? "Sas" : "Meem"; }; TextBox tbox = new TextBox("Hello\nWorld1\n\nHow are u?") { Size = new Size(20, 10), Point = new Point(0, 6), BackColor = ConsoleColor.DarkYellow }; screen.Controls.Add(tbox); Slider slider = new Slider { Point = new Point(2, 4), Size = new Size(16, 2), MaxValue = 75, StepSize = 14, MinValue = -3, Value = 7, BackColor = ConsoleColor.Magenta }; screen.Controls.Add(slider); bool visible = true; btn2.Click += (screen1, eventArgs) => visible = false; cScreen.Close += (screen1, eventArgs) => visible = false; cScreen.TabChanged += (screen1, eventArgs) => btn1.Content = $"Test {cScreen.TabPoint}"; cScreen.Render(); while (visible) { Thread.Sleep(50); cScreen.ReadInput(); } Console.ResetColor(); Console.Clear(); Console.WriteLine("Test2"); Thread.Sleep(100); DiffDraw.Clear(10, 10); DiffDraw.Draw(true, false); Console.Clear(); Console.WriteLine("Bye"); }