Нарисовать контур круга (толщиной в 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 шт):
Вот, разберите этот пример, он содержит практически все, что вам стоит узнать про работу с консолью на текущем этапе. Ну, и немного школьной тригонометрии.
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