<< Вернуться на главную МАРСИАНСКИЙ ДЕСАНТСкоро новый год, и мы с радостью представляем Вам новый конкурс программистов под названием "МАРСИАНСКИЙ ДЕСАНТ". В настоящее время человечество готовится к колонизации различных планет и в том числе марса. Для этого предлагаются самые различные конструкции аппаратов и разнообразные способы посадки. Наиболее перспективным методом считается спуск на управляемой реактивной тяге. Такой спуск является одним из самых сложных, но зато, позволяет произвести посадку в заранее заданной точке. Компания Илона Маска несколько лет разрабатывала проект в котором первая (самая дорогая) ступень ракетоносителя возвращалась на аэродром и садилась на бетонную площадку (или даже на палубу баржи в океане). Построить подобную систему управления посадкой и будет задачей конкурса. Спускаемый аппарат представляет собой цилиндрический блок, имеющий посадочные опоры и два двигателя, разнесенные вправо и влево. Участник конкурса вызывает программу управления и задает расход (в процентах) на каждый двигатель. Если расход задан одинаково, то опрокидывающий момент остается прежним, если есть перекос, то посадочный модуль начинает вращаться в ту или другую сторону. Организаторами конкурса написана модель спускаемого аппарата в которой учтены основные факторы полета. Конечно, всякая модель имеет упрощенный характер. Так в нашей модели не учтена третья координата и аппарат "не умеет" вращаться вокруг вертикальной оси "Y". Мы сочли, что для того чтобы посоревноваться нам хватит и таких неприятностей. Проще рисовать и проще управлять. Если Вам удастся стабилизировать аппарат и посадить его на поверхность с более-менее приемлимыми параметрами, то мы уверены, что и третья координата и поворот Вас не испугают. Внешний вид Программы выглядит примерно так: На экране будет отображаться траектория полета и основные параметры.
Игрушку с ручным управлением для ознакомления можно скачать
тут. В игрушке аппарат садится на поверхность с автоматическим управлением, но стрелками можно управлять перекосом тяги. Левая стрелка слегка заваливает аппарат влево, а правая вправо (нажимать нужно часто). Игровое поле показано сбоку. Вертикальная белая линия - "0" оси Х (тоесть это идеальное место посадки). Если Ваш аппарат выйдет за пределы экрана по "Х", то происходит автоматическое масштабирование. Сверху-слева внешний вид аппарата, по которому можно визуально прикинуть угол наклона. Задача конкурса - посадить аппарат с минимальным отклонением по "Х", минимальной скоростью (по "Х" и по "Y"), да еще и сэкономить как можно больше топлива. И учтите, двигатели работают не очень устойчиво (как и в реальности) и поэтому аппарат постоянно стремится завалиться куда-нибудь набок. А если аппарат наклонился, то часть тяги расходуется на торможение а часть на перемещение вбок! И поверьте, управлять таким капризным аппаратом, это не такая простая задача, как может показаться с первого раза :-) Как всегда за месяц предлагается освоить управление, попробовать максимально улучшить показатели, наработать полезные подпрограммы (можно конечно ничего не делать если вас не интересует результат :-) ). Ну а на очном этапе милости просим в СЮТ с готовыми исходниками и собственными идеями. Обещаем как минимум усложнить жизнь. В конкурсе поддержано несколько оболочек и языков программирования. В зависимости от того какая оболочка вам более комфортна вы можете выбрать то что вам ближе. А почему именно такой выбор? Да просто потому, что именно эти оболочки официально куплены нами в СЮТ. А значит, на очном этапе вы можете выбрать любую из этих оболочек. Если у вас другие версии, то вы можете адаптировать проект под вашу оболочку. Это легко делается, потому что основные функции вынесены в DLL. Но учтите, что на очном этапе мы можем обеспечить вам только указанные версии! Впрочем вы можете прийти и со своим ноутбуком, если вас не устраивают наши средства. Игра написана так, что от производительности компьютера она совершенно не зависит.
Для участия в конкурсе качаете готовую затравку ВНИМАНИЕ! ПОКА ЗАТРАВКА ВЫЛОЖЕНА ТОЛЬКО ДЛЯ LAZARUSA . ЭТО БУДЕТ ИСПРАВЛЕНО В БЛИЖАЙШЕЕ ВРЕМЯ! Качаете подходящий вам проект, распаковываете его, и смотрите. Там есть подпрограмма пользователя (HOD), которая Вот в идеале вы можете править только ее. Желательно в другие места затравок не лазить, а то может проект рассыпасться! Хотя если очень хочется, и вы понимаете что там делается..... Например, можно добавить дополнительные глобальные переменные (они вам наверняка понадобятся).
Для управления существует только одна подпрограмма, которая называется "M_UPR" Подпрограммы "M_BEGIN", "M_HOD" являются служебными, и трогать их категорически не рекомендуется!. А вот например с подпрограммой "M_OTRIS" при желании можно поэкспериментировать. Там ей передается параметр, от значения которого зависит как она станет рисовать. Сейчас реализован только вид "1" (3-и проекции). однако может к очному этапу появится еще. Если у вас очень медленный компютер, то можно вызывать отрисовку например раз в 10 ходов.
Ну а для того, чтобы вы могли как-то анализировать ситуацию предусмотрена информационная подпрограмма
X,Y - текущее попложение аппарата в пространстве
Как только аппарат коснется поверхности, производится подсчет очков. Дерзайте, все в ваших руках и головах! Мало того, чтобы потом на очном этапе сюрпризов не случилось, нужно хорошенько погонять это ПО. Вдруг что-то работает не совсем так как заявлено. Пишите, ошибки подправим. На очном этапе все ошибки обзываются "багами" и исправлению не подлежат!
Месяц всем на ознакомление с задачей, наработки своих методик и подпрограмм, тестирование. А в новогодние каникулы (а конкретно 06.01.2018, в 12:00 в кабинете 2-24 СЮТ) состоится очный этап.
ВНИМАНИЕ!
Желающим принять участие в конкурсе очень желательно зарегистрироваться.
Чтобы заранее "застолбить" место на очном этапе. (тем более что предполагаются подарки) Учтите, если вы зарегистрировались, то сразу в таблице себя не увидите. Мы постараемся внести информацию в течении 2-х дней. На сегодня зарегистрировались:
По всем вопросам обращайтесь к администрации "Звездного Мира" через систему Вопрос-ответ (предпочтительно). или по почте |