ASCII-Часы

Программа, которая отображает аналоговые часы в окне консоли. Подразумевает настройку длины стрелок, радиус циферблата, символы для отрисовки.

Больше про саму программу можно почитать тут. Исходный код доступен на GitHub тут

Программа также реагирует на изменения размера окна/шрифта.

Начало работы

Нуждается в .NET 8.0 (скорее всего будет работать и со старыми версиями). Загрузить .NET 8.0 можно на https://dotnet.microsoft.com/en-us/download.

Для сборки используйте

$ dotnet build

Настройка

Во время запуска программа создает файл parameters.json или читает его, если он уже есть. Он содержит следующие параметры:

  • dialSymbol — символ, используемый для отрисовки циферблата
  • secondHandSymbol — символ, используемый для отрисовки секундной стрелки
  • minuteHandSymbol — символ, используемый для отрисовки минутной стрелки
  • hourHandSymbol — символ, используемый для отрисовки часовой стрелки
  • dialRadius — радиус циферблата относительно окна (где 0 это 0, а 1 это половина высоты окна)
  • secondHandLength — длина секундной стрелки относительно окна
  • minuteHandLength — длина минутной стрелки относительно окна
  • hourHandLength — длина часовой стрелки относительно окна
  • smooth — определяет, плавно ли двигаются стрелки или резко (плавно/true по умолчанию)
  • renderLastLine — определяет, выводить ли последнюю строку фреймбуфера в терминал. Убирает мерцание в некоторых терминалах (например, cmd.exe)
(этот сайт написал человек; код написал человек; текст написал тоже человек)