Помощь в доработке 2D игры Java

Выполнен
Заказ
4928019
Раздел
Программирование
Предмет
Антиплагиат
Не указан
Срок сдачи
14 Сен 2022 в 21:55
Цена
Договорная цена
Блокировка
10 дней
Размещен
7 Сен 2022 в 15:51
Просмотров
130
Описание работы

Доброго времени суток! Нужна помощь в доработке логики игры и редактор уровней, который считывает и записывает уровни в файл.

Класс GraphicApp, содержит UI часть игры и следующие объекты:

XButton buttons[][] = new XButton[row][col]; - инициализация массива кнопок;

byte[][] checksumm = new byte[row][col]; - инициализация массива, содержащего вид рельса для данной кнопки.

int[][] checks = new int[row][col]; - инициализация массива, содержащего вариант статуса (в классе Xbutton будет подробнее)

Методы:

SetGuess() - создает маршрут, в котором checksumm - содержит номер картинки рельса, checks - доступность рельса(по умолчанию: не доступно - 0; доступно -1)

GraphicApp() конструктор класс;

CreateFrame() - создает окно;

InitPanel() - отвечает за сетку кнопок;

CreateRightPanel() - правая панель(боковая);

InitButtons() - создает массив кнопок; (кнопки с i=0 и j=0 не доступны(count поставил туда временно))

Solve() - проверяет совпадает ли номер картинки рельса, заданного массивом checksumm (переменная num) с выбранным номером картинки рельса (value) и статус (TO_GUESS - для решения, GIVEN - дано системой и др). Должен вывести true - если нет неправильных/не выбранных(у которых статус TO_GUESS) рельсов.

D() - вспомогательный метод для CreateRightPanel(), чтобы не писать много кода.

show() - здесь все ясно.

Класс Xbutton, на котором основываются кастомные кнопки:

Xbutton() - конструктор, в котором содержатся картинки рельс, переменные xi и jy - значения строки и столбца соответственно.

Далее геттеры и сеттеры.

ActionPeformed() - прослшивает кнопку, и если на нее нажали меняет в switch value на +1 и сравнивает value с num.

SetVariable(номер нужной картинки рельса, доступность рельса, строка, столбец) - используется в InitButtons(), чтобы положить в buttons[][] массив checksumm и checks, проверяет статус доступности рельса и ставит ему из CellStatus определенный статус.

SetButtons() - ставит картинку неюзабельному рельсу и другие юзабельные рельсы красит либо в желтый(неправильный статус), либо зеленый(правильный статус).

Слушатель клавиатуры аналогичен ActionPerformed.

Класс Logic - проверяет Solve() в GraphicApp, и если он true - выводит уведомление о победе.

Класс ComponentDrag - вспомогательный и работает криво(он нужен для перетаскивания мышкой рельсов с правой (боковой) панели в центральную панель с сеткой кнопок).

Класс Starter - для показа главного окна.

Остальные классы для резерва (мало используются).

Проблема - ячейки не сохраняют свой статус, а постоянно приводятся в изначальное состояние + если у value убрать static - он будет при любых решениях 0/

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
2 часа 55 минут
Выполнен в срок
Отзыв о выполненном заказе
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир