JavaRush /Java блог /Random UA /Зробив гру "Восьм'яшки"
don_bunny
26 рівень

Зробив гру "Восьм'яшки"

Стаття з групи Random UA

Салют, друзі!

Кілька днів тому я подумав, що одним читанням лекцій і вирішенням типових завдань ситий не будеш. Принаймні отримані знання потрібно не просто відпрацьовувати на "кішках", а й кудись спрямовувати. Звичайно, мені захотілося зробити гру ^_^. Трохи подумавши, знайшов найдоступнішою тему двовимірних масивів ("П'ятнашки", 2048, Тетріс, і хоч змійку запускай!).

Восьм'яшки, Console

Зупинився на "Плямах" (благо, виріс на цій грі. Знаю, що і як там працює). Загалом рішення прийнято, код почав писатися. Насамперед все випробував у консолі. Поле 2х2 збирати для тесту, звичайно, не комільфо. Занадто часто випадають тупикові комбінації. А ось 3х3 вже приємніше (до речі, саме через розміри поля було прийнято назву гри). У процесі зіткнувся з потоками (Нарешті! Ми зіткнулися віч-на-віч з ворогом. Виявляється, їх можна приборкати і навчити працювати тобі на благо. Я щасливий)).

Робота з бібліотекою SWING

Трохи пізніше переглянув можливості бібліотеки SWING і успішно одягнув гру в якийсь інтерфейс. Тепер у грі доступний вибір поля. Тест показав, що гра без проблем опрацьовує всі помилки. А при роботі з полем 3х3 дає 100% відповідь на питання "Чи вирішується завдання?". На жаль, приклад коду під рукою не було. Довелося всю логіку писати самому. Можливо наявність велосипедів (якщо такі є, тицьніть мене в них носом, будь ласка). Також у мене величезні питання щодо чистоти та зручності читання коду. Дуже хочеться, щоб мені якщо і не дякували за чистий код, то точно не проклинали за сміття))) І звичайно ж - наявність коментарів - де їх не вистачає? Якщо у вас є рекомендації/побажання за кодом - дайте знати. Якщо ви хочете приєднатися до проекту – дайте знати. Із задоволенням поєднаюся з кимось для роботи над цим та іншими проектами. посилання на GitHub
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ