JavaRush /Java блог /Random UA /2048 на JAVA
timurnav
21 рівень

2048 на JAVA

Стаття з групи Random UA
Я тут між справою вирішив пару ігор написати, почав з " хрестики нулики ", але трохи підзавис на ній з вивченням багатокористування, поки вивчав натрапив на думку, що можу зробити гру щоб пограти одному. найяскравіший спогад це 2048 рік, логіка в ній досить проста. за традицією, вирішив почати писати її для консолі. Я її зробив трохи простіше, ніж оригінал:
  1. додається цифра лише крайній ряд проти напрями зсуву, тобто. зрушив вгору до нижнього ряду додалася цифра;
  2. додаються тільки 2, в оригіналі іноді ще й 4 додаються, я вирішив не морочитися;
  3. у консольній грі введення та виведення проводиться (не повірите!) через консоль, відповідно висновок повинен бути у вигляді імпровізованої таблиці, на що у мене вже є досвід :) введення спочатку планувалося цифрами, але потім я згадав великі завдання та пристосував KeyboardObserver, мінус - Шухер настає при найменших маніпуляціях з мишею, тобто. запустабо програму, і далі тільки стрілками вниз-вгору-вправо-вліво. Чесно пообіцяв собі розібратися в питанні, але поки не знаю коли, так що вашій увазі продукт опівнічного тикання пальцями в клавіатуру.
За самою логікою програми пояснювати нічого, в основному методі відстежуємо кнопки і в залежності від останньої ставимо необхідний Direction, потім переходимо до Переміщень, і виконуємо необхідний спосіб. "Потрібний метод" спочатку рухає всі зайняті осередки в потрібному напрямку, якщо є куди рухати, потім перевіряє збіги по стовпцях/рядків, якщо знаходить збіги, то підсумовує і рухає залишок стовпця/рядка. Потім малює поле заново і так у нескінченному циклі поки не програєш, або поки кіт не пробіжить клавішею мишки. Намагався у коді зробити коментарі, щоб потім було всім зрозуміло (у тому числі й мені). Посилання на архів з грою 2048 Console Edition Дод. інфо, приємніше оку грати не в ідеї, а в консолі вінди. для цього в завантаженому архіві заходиш до папки 2048 і запускаєш батник з логічною назвою RUN. але тут знову потрібно натискати тільки на клавіші зі стрілками, інакше додаток не питаючи, закривається. PS тут тільки БД треба прикрутити, потім фронтом уже зайнятися можна буде, я це зроблю найближчим часом. PPS на андроїд теж можливо напишу, але це поки що дуже далеке майбутнє, яке як відомо краще не загадувати :)
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ