2048 (10)

  • 16
  • Недоступна
Пора приступить к реализации метода main в классе Main, чтобы иметь возможность наконец-то запустить игру и отдохнуть! Метод main нам нужен только для того чтобы запустить приложение, все внутренности мы уже реализовали. Для этого мы создадим в нем модель и контроллер, а также объект типа JFrame. Д
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (22)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Rodriguez32 уровень
26 октября, 19:37
Вызов диалоговых окон "Вы выиграли" и "Вы проиграли" вынес в Controller, туда где осуществляются все остальные проверки. P.S. Какая-то невероятно тупая игра.
Aleksandr Pivovarov31 уровень, Киев
16 октября, 22:53
В моей версии где-то баг и в нее невозможно проиграть. Всегда выигрыш. Будем искать ...
Nikita Krutov37 уровень
3 октября, 10:21
Красота, но как теперь сделать движения плавными?
Philip J.40 уровень, Днепр
13 сентября, 17:20
у меня в методе left класса model стояло побитовое И вместо ИЛИ, так что на определённом этапе игры новые плитки просто переставали добавляться
NodeOne32 уровень
23 октября, 16:19
Сдается мне что | в left() нельзя заменить на ||. Материал этого уровня. Если поставить || то в случае если compressTiles вернет true метод mergeTiles не будет выполнен.
LexSav35 уровень
20 мая, 08:11
я у мамы программист хотя и понаходил некоторые баги
Олег Хрулёв40 уровень, Киев
9 декабря 2017, 09:46
Наконец то, что то с графическим интерфейсом. :)
Artem Murk35 уровень, Днепр
9 января, 11:21
Да вроде и раньше были задачки с графическим интерфейсом.
Олег Хрулёв40 уровень, Киев
10 января, 14:06
Значит мы с вами в разном порядке задачки решаем ;)
Vra40 уровень
15 ноября 2017, 14:12
а я косяк выявил у себя)) if (compressTiles(gameTiles[i]) | mergeTiles(gameTiles[i])) нужно побитовое | .. а стояло ленивое ||.. забыл поменять после тестов
Маша Малыгина35 уровень
28 сентября 2017, 07:00
Ой-ой-ой!!!! Как круто, мне понравилось)) не уж то мой кодик работает без косяков)
Ната Винокурова38 уровень, Брянск
11 мая 2017, 14:31
диалоговое окно с сообщением о выигрыше/проигрыше зацикливается и намертво вешает игру. только у меня такой косяк?
Вячеслав Арнатович40 уровень, Минск
13 мая 2017, 09:46
та же фигня
astronarh40 уровень
19 июня 2017, 12:41
Аналогично, закрывается только через крест.
Игорь Сукалин35 уровень
30 июня 2017, 06:01
а по-моему это не косяк, а очень полезная умышленная ошибка, ведь оно не просто виснет, а вызывает окно сообщения, очень быстро. Всего то надо условные операторы вытащить из отрисовки в что-то вроде checkWonLost(), и вызывать его где надо
Антон Никольский33 уровень, Москва
27 декабря 2017, 21:06
Аналогично. Причем зацикливается весь метод paint (проверял засунув туда sout). Метод keyPressed в контроллере при этом не вызывается. Почему так - непонятно. При игре там цикла нет, вызывается только из keyPressed при нажатии на клавишу. В Интернете всего пару жалоб на это, советуют JOptionPane.showMessageDialog() запускать в отдельном треде. Пробовал - не помогает. Лечится (хоть и криво), если в main добавить строку
game.setAlwaysOnTop(true);
Макс Вишняк31 уровень, Киев
18 февраля, 14:51
По моему это очень полезно, так как не дает тебе начать игру заново) Так как очень тяжело оторваться от этой игры)
Максим39 уровень
28 февраля, 19:28
Ну это наверно не косяк. Как бы все логично. Мы при проигрыше или выигрыше установили поле isGameLost или isGameWon в true. Так как проверка этих полей в методе print(), то при каждой последующей отрисовке игрового поля, каждый раз вылазит диалоговое окно, отчего создается впечатление, что зациклилась программа. Лечится элементарно нажатием клавиши escape. И вуаля - новая игра!) Ведь предыдущая уже проиграна или выиграна! Вот мне другой момент не понятен: почему когда я нажимаю кнопку ОК в диалоговом окне оно как бы исчезает из центра фрейма и появляется в его левом верхнем углу. По идее оно ведь должно пропадать. Че за глюк?
Anonimus1506331 уровень
12 марта, 17:47
Можно в классе View перед выводом сообщения установить поля sGameLost и isGameWon в false, тогда сообщение выведется только 1 раз. В вот по поводу глюка я тоже не понял из-за чего это возникает
Rodriguez32 уровень
26 октября, 19:35
Вывел вызов этих двух сообщений в класс Controller в метод keyPressed