Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

При расчете количества шагов до цели я просто вычислил длину вектора и данный способ оказался неверным, поскольку по диагонали не всегда получается целое число и при такой отрисовке снаряд отображается некорректно для выстрела по диагонали. Я надеюсь более опытные программисты подправят данную функцию и скажут о решении, которое они нашли в комментариях.
Посмотрите https://ru.wikipedia.org/wiki/Алгоритмы_построения_отрезка, например, алгоритм Брезенхэма https://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма.
Написание консольного симулятора баттл-арены на языке С++ с реализацией «умных» ботов