Нарисовать контур круга (толщиной в 2 символа) с радиусом 15 символов по центру окна

using System;
 
namespace ConsoleApp4
{
    class Program
    {
        
        {
            Console.WindowWidth = 40;
            Console.WindowHeight = 40;
            Console.Write("Введите сивол  ");
            string n = Console.ReadLine();
            Console.Clear();
            Console.ForegroundColor = ConsoleColor.Green; // устанавливаем цвет
            Console.BackgroundColor = ConsoleColor.Blue;
            Console.WriteLine("");
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.WriteLine("{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", n);
            Console.ReadKey();
        }
    }

Установить размер окна и буфера консоли равные 40 символов по ширине и 40 символов по высоте. Запросить у пользователя символ, вывести на экран сообщение о том что будет нарисовано на экране на следующем этапе выполнения программы. После нажатия на любую клавишу очистить экран, сделать фон окна консоли серого цвета и нарисовать при помощи введенного пользователем символа белого цвета с черным задним фоном контур круга (толщиной в 2 символа) с радиусом 15 символов по центру окна. Не получается круг вообще и как в задание требуется.


Ответы (1 шт):

Автор решения: aepot

Вот, разберите этот пример, он содержит практически все, что вам стоит узнать про работу с консолью на текущем этапе. Ну, и немного школьной тригонометрии.

public static void Main(string[] args)
{
    Console.SetWindowSize(40, 40);
    Console.BufferWidth = 40;
    Console.BufferHeight = 40;
    Console.Write("Введите символ:  ");
    char n = Console.ReadKey().KeyChar;

    Console.ForegroundColor = ConsoleColor.White;
    Console.BackgroundColor = ConsoleColor.Gray;
    Console.Clear();

    Console.BackgroundColor = ConsoleColor.Black;
    string draw = new string(n, 2);
    int lastX = 0, lastY = 0;
    double step = 0.05;
    for (double i = 0; i < Math.PI + step; i += step)
    {
        int x = (int)Math.Round(Math.Sin(i) * 16);
        int y = (int)Math.Round(Math.Cos(i) * 16);
        if (lastY != y || Math.Abs(lastX - x) > 1)
        {
            Console.SetCursorPosition(x + 19, y + 20);
            Console.Write(draw);
            Console.SetCursorPosition(19 - x, y + 20);
            Console.Write(draw);
            lastX = x;
            lastY = y;
        }
    }
    Console.SetCursorPosition(0, 0);
    Console.ReadKey();
}

Вывод в консоль

Введите символ: 0
               0000000000
             00          00
           00              00
         00                  00
        00                    00
       00                      00
       00                      00
      00                        00
     00                          00
    00                            00
    00                            00
    00                            00
   00                              00
   00                              00
   00                              00
   00                              00
   00                              00
   00                              00
   00                              00
   00                              00
    00                            00
    00                            00
    00                            00
     00                          00
     00                          00
      00                        00
      00                        00
        00                    00
         00                  00
          00                00
            00            00
              00        00
               0000000000
→ Ссылка