Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузись в удивительный мир настоящей рыбалки! Лови живую рыбу в естественных водоёмах, открой для себя новые рыбные места и поймай свой долгожданный трофей!

Реальная Рыбалка

Симуляторы, Мультиплеер, Спорт

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 44 поста
  • Antropogenez Antropogenez 18 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
43
motivFor

Как я движущиеся кубики делал⁠⁠

9 лет назад

примерно год назад, когда я взялся учить java и программирование под android, попалась мне такая вот игрушка в гуглплей -

идея проста, но гениальна - для прохождения левела нужно все квадратики передвинуть на нужные местоположения, которые помечены кружками нужного цвета. при этом у кубиков задано направление движения и по тапу по кубику он двигается в определенном направлении. также кубики могут двигать друг друга. и позже добавляются клетки при прохождении которых кубик меняет направление движения.


уровней было немного и я их все быстро прошел. игра сильно понравилась, поскольку при минимум геймплея давала широкий простор для фантазии в плане придумывания заковыристых уровней, чтобы пройти которые не нужно быть семи пядей во лбу, достаточно логического мышления. в общем игра рассчитана на широкую аудиторию.


ну и после того как я научился рисовать кнопочки в андроид и заставлять их что-то делать задумал я создать такую игру. ну и не получилось. мышления в духе ооп (объектно-ориентированного программирования) еще не было и попробовал я это сделать в духе процедурного прогроммирования, один "божественный класс" где происходят все действия. в общем вскоре стало понятно что это бредовая затея и чтоб реализовать подобное нужно знать ооп и джаву.


прошел год. java core и ооп на норм уровне и решил я еще раз попробовать это дело. сперва пошел я в гуглмаркет искать подобные приложения. нашел аж с десяток, попутно выяснив, что автор оригинала - молодой парень с украины.


вот такой симпатишный деревянный дизайн нашел, например:

и вот такой не очень симпатичный, имхо:

поиграв в разные варианты вычислил слабые места многих приложений. в основном они были сделаны тяп-ляп лишь бы закинуть в гуглмаркет. у кого-то кубы уезжали за экран, у кого-то никак не отображалось, когда куб наезжал на клетку-дом или клетку-менятель_движения, у кого-то игровая площадь наглядно было поделена на квадраты вот как на примере выше, где-то кубы при тапе не постепенно переезжали куда надо, а просто исчезали и появлялись на новом месте. в общем в основном все это было некрасиво кошмарно и играть в такое не хотелось.


все выше конечно имхо, ну и исходя из этого стал ваять свою игрушку. вот тогда я и почувствовал всю силу ооп. описать имеющиеся объекты, распределить по классам и прописать их взаимодействия оказалось не так сложно, как может показаться начинающему программисту. использованы конструкции джава: Thread, Enum, HashMap, Deque, InputStream/OutputStream. ну эт так уточнение для специалистов.

в итоге удалось избежать всех недостатков выше - кубы плавно ездят по экрану, за экран не уезжают, все корректно отображается, есть отмена хода.


также заметил что многие уровни в таких играх построены схожим образом - в кучку на небольшом пространстве - обычно 4х4 клетки - три куба и три дома, несколько менятелей движений. ну и частенько там без особой логики только наобум можно догадаться как куда чего двигать. мне же было интересно создавать уровни на пространствах побольше 6х6 или 7х7 со многими менятелями движений и частыми взаимодействиями кубов, чтоб было интереснее думать. на скриншоте ниже уже моя игра, вот про примерно такие уровни говорю -

приложение есть в гуглплей. мне не очень понятно что тут на пикабу с рекламой, потому ссылку не привожу. кому интересно можете написать на почту ssk29@yandex.ru - дам ссылку.


ну и уже идет работа над второй частью игры) достаточно очевидно что просто двигать кубы быстро надоедает, потому раз в 10 примерно уровней думаю нужно вводить новые фишки - например клетки телепортации кубов, или непроходимая стена посреди игрового поля, или клетки которые меняют цвет куба, в общем большой простор для фантазии.


занимайтесь тем, что вам интересно) всем пис)

Показать полностью 4
Игры Coub Программирование Android Java Gamedev Squares Длиннопост
27
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии