Игра Moon Lander (5/23)

  • 3
  • Недоступна
Мы будем часто пользоваться такими параметрами как ширина и высота игрового объекта. Следовательно, вынесем их в отдельные переменные класса GameObject. Чтобы объект мог отрисовываться на игровом поле, добавим ему метод draw. Этот метод будет принимать в качестве параметра объект класса Game. Тепер
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (12)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Oleksii
Уровень 36, Харьков
2 июля, 19:25
GameObject не подтянулся автоматически, пришлось копировать из ПРАВИЛЬНОГО РЕШЕНИЯ.
Вера
Уровень 20, Москва
25 мая, 05:17
Не забудьте импорт движка добавить в GameObject. Зачем сделали эту вставку? Можно ж было как-то дать самим написать.
Oleg
Уровень 12
1 марта, 09:03
Судя по комментариям за 2018 год, раньше метод draw для игровых объектов нужно было писать самостоятельно. Очень жаль, что сейчас он предоставляется в готовом виде. Мне лично было бы интересно написать его самостояетельно.
Davilalexius
Уровень 37, Москва, Россия
20 декабря 2020, 13:51
В методе drawScene() товарищи из JavaRush решили сделать подставу. То что Вы писали раньше правильно -испортили. Обратите на это внимание. Когда игры пишутся группой людей -важно находить такие подставы. Ты вроде как сделал всё правильно, всё работает. Но находится какой-то Бэндер, который вставил свой кусок кода в рабочий до этого метод, и, хоть компилятор не ругается, всё ломается к "мужским половым органам".
Нелли Левитан
Уровень 7
9 декабря 2020, 17:28
rocket = new Rocket(WIDTH / 2, 0); != rocket = new Rocket(WIDTH / 2.0, 0);🤬 из- за этого не принимали второй пункт! при этом компилятор не ругался!
wan-derer.ru
Уровень 40, Москва, Россия
11 июля 2020, 15:56
Изображение ракеты занимает 7 клеток, а процедура отрисовки не "центрует" её. Поэтому она рисуется не по центру, а несколько правее. Это так задумано?
Михаил Клименко
Уровень 25, Краснодар, Россия
Expert
10 июня 2020, 06:38
Snapshot: Всего эту задачу решили 585 учеников.
Alukard Vampire hunter в The Hellsing Expert
23 сентября 2020, 17:52
716
Тарас
Уровень 35, Киев, Украина
15 апреля 2020, 19:22
Как по мне, так могли бы дать дописать изменения нам самим.
Rif
Уровень 17
17 декабря 2018, 22:33
Вы меня конечно извините, но условие - "В методе draw(Game game) для каждой ячейки матрицы matrix у объекта game должен быть вызван метод setCellColor(int, int, Color). В качестве параметров необходимо передать: x класса + x в матрице, y класса + y в матрице, цвет из матрицы." без пол-литра не разобрать. После долгих попыток и обращения за помощью вышел таки на решение. x и y класса ещë понятно (только зачем тип double - это для меня большая загадка), а x и y - это не значения матрицы, это индексы. Неужели нельзя как то внятнее писать условия?
public void draw(Game game) {
       if (matrix == null) return;
       for (int w = 0; w < width; w++) {
           for (int h = 0; h < height; h++) {
               game.setCellColor((int)x + w , (int)y + h, Color.values()[matrix[h][w]]);
           }
       }
   }
Ксения
Уровень 16, Минск, Беларусь
16 декабря 2018, 18:20
Добрый день! Возник вопрос по условию: В методе draw(Game game) для каждой ячейки матрицы matrix у объекта game должен быть вызван метод setCellColor(int, int, Color). В качестве параметров необходимо передать: x класса + x в матрице, y класса + y в матрице, цвет из матрицы. В цикле вызываю метод: game.setCellColor((int)(x+i), (int)(y+j), Color.values()[matrix[(int)y][(int)x]]); Что не так с логикой?
Ксения
Уровень 16, Минск, Беларусь
17 декабря 2018, 13:39
Вопрос снят. Ответ в разделе помощь.