Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Баллистический калькулятор для пушек из Create Big Cannons
- -- Функция для вычисления дальности снаряда
- function calculateRange(initialVelocity, angle)
- local g = 9.81 -- Ускорение свободного падения в м/с²
- local radians = math.rad(angle) -- Преобразуем угол в радианы
- -- Формула для дальности полета снаряда
- return (initialVelocity^2 * math.sin(2 * radians)) / g
- end
- -- Функция для отображения простого GUI
- function drawGUI()
- term.clear()
- term.setCursorPos(1, 1)
- print("Баллистический калькулятор для Create Big Cannons")
- print("===============================================")
- print("1. Введите начальную скорость (м/с):")
- print("2. Введите угол выстрела (градусы):")
- print("3. Нажмите Enter для расчета дистанции.")
- end
- -- Основная функция
- function main()
- drawGUI()
- -- Ввод данных
- term.setCursorPos(1, 5)
- write("Начальная скорость (м/с): ")
- local v0 = tonumber(read())
- term.setCursorPos(1, 6)
- write("Угол выстрела (градусы): ")
- local angle = tonumber(read())
- -- Проверка на наличие корректных вводов
- if not v0 or not angle then
- print("Ошибка: Пожалуйста, введите действительные числа.")
- return
- end
- -- Расчет и вывод результата
- local range = calculateRange(v0, angle)
- term.setCursorPos(1, 8)
- print("Дальность полета снаряда: " .. range .. " метров")
- end
- -- Запуск основной функции
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement