Определить время, через которое встретятся два тела, равноускоренно движущиеся навстречу - C#

Формулировка задачи:

Разработка консольных приложений Линейные алгоритмы Определить время, через которое встретятся два тела, равноускоренно движущиеся навстречу друг другу, если известны их начальные скорости, ускорения и начальное расстояние между ними.

Код к задаче: «Определить время, через которое встретятся два тела, равноускоренно движущиеся навстречу - C#»

textual
using System;
 
namespace SpeedRuner
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.SetWindowSize(80, 15);
            Background();
            Motion();
        }
 
        private static void Motion()
        {
            char bibi = '=';
            DateTime startTime = DateTime.Now;
 
            for (int i = 0; i < 37; i++)
            {
                Console.CursorTop = 10;
                Console.ForegroundColor = ConsoleColor.Green;
 
                if (i == 36)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }
 
                if ((i & 1) == 0)
                {
                    Console.CursorLeft = 4 + i;
                    Console.Write(bibi);
                }
                else
                {
                    Console.CursorLeft = 75 - i;
                    Console.Write(bibi);
                }
 
                Console.Beep();
 
                Timer(startTime);
            }
 
            End();
 
            Console.CursorLeft = 0;
            Console.CursorTop = 14;
            Console.CursorVisible = false;
        }
 
        private static void End()
        {
            Console.ResetColor();
            Console.CursorLeft = 38;
            Console.CursorTop = 7;
            Console.WriteLine("End...");
        }
 
        private static void Timer(DateTime startTime)
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.CursorTop = 5;
            Console.CursorLeft = 36;
 
            Console.Write($"{(DateTime.Now - startTime).TotalSeconds: 0.##} s.");
        }
 
        private static void Background()
        {
            Line();
            for (int i = 0; i < 12; i++)
            {
                Console.CursorLeft = 1;
                Console.Write("*");
 
                Console.CursorLeft = 78;
                Console.WriteLine("*");
            }
            Line();
        }
 
        private static void Line()
        {
            Console.CursorLeft = 1;
            Console.WriteLine($"{new string('*', 78)}");
        }
    }
}

9   голосов, оценка 4.444 из 5


СОХРАНИТЬ ССЫЛКУ