Space Invaders

Рекомендованный уровеньУровень
10+
Если вы думаете, что самая успешная игра в мире — какой-нибудь многомиллионный блокбастер последних лет, вы ошибаетесь! Это старая добрая (не такая уж и добрая, откровенно говоря) Space Invaders («Космические захватчики»), принесшая разработчикам около 10 млрд. долларов прибыли со скидкой на инфляцию. Она оказала огромное влияние не только на индустрию видеоигр, но также на массовую культуру: вы наверняка узнаете очертания пришельцев и противостоящего им бравого космического корабля на фоне звёздного неба, даже если никогда не играли в Space Invaders. А появилась игра об одиночке, который отражает орды агрессивно настроенных инопланетных «крабов» ещё в 1978 году на аркадных автоматах. После этого она выдержала массу переизданий на самых разных платформах, спасла от гибели приставку Atari 2600, а самые новые на сегодняшний день коммерческие версии вышли под Android и iOS. Теперь ваша очередь! Напишите собственную версию Space invaders прямо здесь, на JavaRush под чутким руководством разработчиков курса. Ваша игра будет похожа на «классику»: космический сеттинг с симпатичной графикой а-ля 8 бит, стрельба по агрессивным захватчикам, рядовым и «генералам», которые прячутся за их спинами, возможность уворачиваться от вражеских выстрелов, перемещаясь вправо и влево. Игроку предстоит сражаться до тех пор, пока он не убьет всех рядовых и босса. Или пока его не сразит инопланетная пуля. Мы не ищем лёгких путей, поэтому наша версия суровей оригинала: у героя будет всего одна жизнь.
Комментарии (44)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Mikhail Levitin 2 уровень, Москва
9 декабря 2020, 18:20
№16 - баг - матрицу ShapeMatrix.PLAYER не добавляют при переходе на задание
Mikhail Levitin 2 уровень, Москва
9 декабря 2020, 17:43
Добрый день, можете объяснить механику команды (как выполняется) : gameobject.draw(this); например: bullet.draw(this); star.draw(this); и.т.п.
Alex 22 уровень, Москва
28 ноября 2020, 17:57
не очень корректно описан алгоритм работы метода nextFrame() класса Ship...
Alukard Vampire hunter в The HellsingExpert
26 ноября 2020, 22:46
379
Борис Юхименко Full Stack Developer в PKS Software GmbH
18 октября 2020, 21:01
  уважаемые коллеги, как написать Ship.nextFrame() метод, чтобы валидатор не конил? public void nextFrame(){ if(frameIndex < frames.size() || loopAnimation) { if (frameIndex < frames.size()) { super.setMatrix(frames.get(frameIndex)); frameIndex++; } if (frameIndex >= frames.size() && loopAnimation) frameIndex = 0; } } Валидатор ругает два раза : Метод nextFrame() класса Ship не должен ничего делать, если значение frameIndex больше либо равно количеству фреймов в списке frames и loopAnimation равен false. и Метод nextFrame() класса Ship должен устанавливать полю frameIndex значение 0, если значение frameIndex больше либо равно количеству фреймов в списке frames и loopAnimation равен true. Программа работает как часы. Босс даже с двумя фреймами ручками махает. Заранее благодарен.
Alex 22 уровень, Москва
28 ноября 2020, 18:20
не совсем корректно описан алгоритм работы этого метода в условии... посмотрите реализацию "правильного решения", оно не соответствует условиям, потому и валидатор ругается...
Ivan 1 уровень, Ternopil
12 июля 2020, 11:19
вк
Арсений 0 уровень
30 июня 2020, 07:34
как начать?
Антоний Шаламов 19 уровень, Хабаровск
2 июля 2020, 19:59
Создать класс SpaceInvadersGame.java
LuneFox богатый программист в далёких мечтахExpert
3 июля 2020, 06:25
Сомневаюсь, что анон 0 уровня осознанно просил о помощи, и вряд ли он вернётся за ответом, и вряд ли ему поможет этот ответ)
Антоний Шаламов 19 уровень, Хабаровск
3 июля 2020, 10:18
🤭
LuneFox богатый программист в далёких мечтахExpert
29 июня 2020, 12:56
Уфф, неужели я закончил делать последнюю игру из списка!) Кому интересно оценить модификацию, welcome :) https://javarush.ru/projects/apps/50729
Антоний Шаламов 19 уровень, Хабаровск
2 июля 2020, 20:00
У вас сама ссылка ведёт на страницу https://javarush.ru/
LuneFox богатый программист в далёких мечтахExpert
3 июля 2020, 06:14
Fixed. Последнее время такое часто происходит, везде исправляю, что-то не так с сайтом. Там href="" вставляется, несмотря на заполненную форму.
On Girame 20 уровень, Москва
20 июля 2020, 19:28
а нельзя сделать побыстрее движения? Марио тормоз ваще
LuneFox богатый программист в далёких мечтахExpert
20 июля 2020, 23:07
Увы, это в браузере на HTML тормозит. При этом у всех по-разному. Могу только кодом поделиться, чтобы запустить локально, там всё работает шустро. В комментах я делился видео с примером.
Карим 37 уровень
16 июня 2020, 18:16
в IDEA не выводит окно, валидацию пропускает но окно не выводит, или оно так и должно быть ?
Антоний Шаламов 19 уровень, Хабаровск
20 июня 2020, 09:53
Зелёный треугольник для запуска напротив метода initialize() есть?
Карим 37 уровень
20 июня 2020, 16:19
там компилятор запускается просто java fx не запускалась, решил проблему добавив launch(args); в main() потом все сработало
Михаил Backend Developer в EY
23 июня 2020, 12:21
Если не сложно, распиши пожалуйста, как исправить этот косяк. не могу понять что не так...
test_user 17 уровень
7 июня 2020, 03:10
Для тех, кому лениво самостоятельно придумывать координаты для новых звёзд
star = new Star(getRandomNumber(64),getRandomNumber(64));