Всем привет
В общем, судилось мне написать игру на свинге, паззлы
Суть простая
Запускается игра, во вкладке Source можно выбрать картинку
С жёсткого диска, или по ссылке с помощью URL загрузить картинку, например из поиска картинок в Гугле
Можно выбрать сложность, решётку
Самая простая 2х2, самая сложная 10х10
Можно так же паззлы перемешать перевёрнутыми и собирать их, перемещая мышкой и переворачивая
После загрузки игра переключается на вкладку Puzzle
Есть кнопки управления
D - повернуть по часовой стрелке на 90 градусов
A - повернуть против часовой стрелки на 90 градусов
W - перевернуть сверху вниз на 180 градусов
R - перемешать паззл наново
N - убрать текущий паззл полностью и перейти к выбору нового паззла/картинки
M - "magic button", или волшебная кнопка для автоматического сбора паззла компьютером. Например, если собрать паззл всё никак не получается)
Есть так же вкладка Picture, где можно свериться с оригинальным изображением и знать как собирать
Кому интересно посмотреть код или поиграться - код на гитхабе)
https://github.com/zauberschlosss/puzzle
Dmitriy Gordievskiy
36 уровень
Swing игра Puzzle
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Agent Smith
28 ноября 2020, 22:39
Отличная работа! Сколько времени ушло на написание?
+1
Dmitriy Gordievskiy Пасу барашек в горных полянах
28 ноября 2020, 23:26
Три полных дня, плюс один день на написание альтернативной версии, где кнопка "magic button" вообще ничего не знает об исходной картинке
Тоесть, анализируются цвета, градиенты граней каждой части, и на основе этого собирается паззл
На гите есть код в ветке "pixelAnalysis"
На 20+ уровнях есть мини-проекты, в том числе игры на свинге, думал мне такой опыт поможет, но нет, только отчасти помогло ознакомиться с написанием GUI приложений
Одно дело когда тебя ведут за руку, "пойди туда, сделай это" плюс проверка валидатором, совсем другое дело когда с нуля сам продумываешь приложение, от общей архитектуры до наименьших составных частей)
Судорожно гуглил и читал stackoverflow, но получилось осуществить желаемое 😎
+1