Moon Lander

Recommended levellevel
10+
In the late 1970s to early 1980s, when men were men and video games were truly difficult, there was one video game that could be called hardcore among hardcore video games. It was called Lunar Lander. For game first made people suffer in 1979, when these gluttons for punishment put their hard-earned quarters into the coin slot of an Atari arcade machine. After that, they became pilots and took control of a lunar landing module steadily approaching the lunar surface. Consisting of mountains and hills, the Moon's topography wasn't very accommodating. This meant there were hardly any places suitable for a soft landing. The player had to resist the Moon's gravitational pull and descend gently using thrusters. Thrust and acceleration were controlled proportionally. The lander consumed fuel rapidly, and when the fuel ran out, the ship stopped responding to the pilot's actions. At this point, the player could throw more coins into the arcade machine (the ancestor of modern loot boxes!). The game required remarkable patience. Setting the landing module down slowly and on an even keel was incredibly difficult. Basically, the better the pilot lands the module, the more points he or she gets. We invite you to improve yourself and write your own version of Lunar Lander. Our version, which we'll call Moon Lander, will be like the classic game, but the graphics will be better (40 years have passed, after all!). We'll create a nice landing module that you'll need to carefully put on the Moon without hitting any mountains. For a gentle, even landing, we'll use the main engine, which slows descent and provides a little altitude boost. And we'll use the side engines for horizontal movement. Think this is a difficult task? Difficult, but not unbearable. Our team has already provided recommendations and broken the task into steps that a beginning programmer can handle. So be brave!
Comments (70)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
YUREC
Level 36
7 March, 12:07
Мне вот эти : "у вас появился новый класс ShapeMatrix" и "всё описанное выше уже реализовано в классе GameObject, посмотри и разберись" не нравятся. Тут надо бить это всё на задачи и делать самостоятельно. Пусть с подробными объяснениями к каждому действию, но обязательно самостоятельно! А иначе какой смысл ?
Даниил
Level 33
23 November 2023, 18:54
у меня у одного setScore не работает на сайте? А еще после публикации сайт не воспринимает изменения в коде?
ToTAmon Программист 1С at Медконсалт
5 March, 10:01
У меня тоже.
YUREC
Level 36
7 March, 12:03
тоже не работает
Denis Gritsay
Level 37
11 November 2023, 15:47
делаю на автопилоте, ничего не понял как это работает
Edf
Level 28
25 October 2023, 18:16
что за дичь происходит??? "Обрати внимание, что у нас появился вспомогательный класс ShapeMatrix, который хранит матрицу, отвечающую за внешний вид ракеты." - Ничего не появилось!!!
ToTAmon Программист 1С at Медконсалт
5 March, 10:04
Нужно создать его самостоятельно в IDE и скопировать содержимое из браузерной версии.
10 March 2023, 15:32
Привет, обьясните на что ссылается this в классе MoonLoaderGame
rocket.draw(this);
        landscape.draw(this);
LuneFox Java Developer at BIFITExpert
4 May 2023, 19:34
На экземпляр самой игры.
Vlad V
Level 35
7 February 2023, 19:04
WARNING: '}' at column 9 should be alone on a line. Это пишет "анализ кода" когда видит такой синтаксис
} else {
Так писать не принято?
LuneFox Java Developer at BIFITExpert
4 May 2023, 19:35
видимо забыли про это, когда писали проверятор
Vlad V
Level 35
6 May 2023, 17:40
Просто чаще всего встречаю именно такой вариант написания
Vlad V
Level 35
7 February 2023, 14:51
А где найти документацию к классам движка?
Stanislav
Level 40
17 February 2023, 21:23
установи плагин javarush в Intellij IDEA, там в папке com.javarush.engine.cell
6 February 2023, 18:41
Информация для авторов курса. В моей версии задачи был создан метод isStopped, проверяющий величину скорости ракеты, однако в дальнейшем нигде в коде он не использовался, ни в каких заданиях на него не ссылались. Как я понял, он используется для проверки "мягкой посадки" ракеты на платформу. Т.е. для победы в игре недостаточно простой "встречи" ракеты с платформой, скорость ракеты при этой "встрече" должна быть не более заданного значения, иначе ракета "разбивается", и игра считается проигранной. P.s. в своем коде дописал isStopped в метод chek
Pavel V.
Level 41
24 August 2022, 01:59
Сделал конечно, но почему-то понимания процесса от силы процентов 50 наберется, остальное как-то смешалось в голове в кашу непонятную 😐
Denis Gritsay
Level 37
11 November 2023, 16:35
аналогично, как настоящий джун, че то сделал, что , сам не понял
Omega0x0 Java Developer
24 July 2022, 16:49
В KSP захотелось поиграть что-то...