Советы по Melon Cascade: складывайте фрукты и дойдите до арбуза (2026)
Попробуйте сами — играйте в Melon Cascade сейчас
Бесплатно в браузере, без скачивания и регистрации.
melon_cascade.js (оригинал Playnesta, MIT), прочитанная в этой сессии, а не цитата третьей стороны. Проверенные константы: холст 480 x 360; банка x в [120, 360], пол y = 336; линия опасности y = 70, линия предупреждения y = 92, высота падения y = 32; 11 уровней фруктов с радиусами 11 / 14 / 18 / 23 / 28 / 34 / 40 / 46 / 52 / 57 / 62 (вишня до арбуза); очередь выдаёт только три младших уровня (вишня, клубника, виноград) в смеси [0, 0, 0, 1, 1, 2]; слияние уровня n даёт (n + 1) x (n + 2) / 2 очков; два арбуза взаимно гасятся и дают 100 очков; первый арбуз запускает событие победы; раунд заканчивается, когда неподвижный фрукт пересекает линию опасности; защиты: 100 мс слияния, 900 мс покоя, 320 мс перезарядки падения; лучший счёт хранится в localStorage под pn_melon_cascade_best; билд принимает ?seed= и ?tier=0..10. Дальше — стратегия; страница игры уже описывает прицеливание и бросок.
1. Цельтесь в колонку, а не в щель
Банка шириной 240 px, удерживаемый фрукт — только превью: это не физическое тело и ничего не касается до броска. Прицеливание сдвигает центр удерживаемого фрукта, а clampAim держит край фрукта в 2 px от стены, поэтому самый широкий фрукт (арбуз, радиус 62) можно центрировать только между 184 и 296. В конце партии не удастся бросать в крайние точки; планируйте вокруг колонок, до которых ещё достаёте.
После каждого броска проходит 320 мс, прежде чем появится следующий фрукт. Используйте это окно, чтобы увидеть, куда упала куча, а не тыкать подряд. Панель NEXT показывает фрукт после удерживаемого, так что вы всегда видите на два броска вперёд.
2. Стройте две колонки и держите канал открытым
Куча растёт вверх, линия опасности на y = 70 — всего 38 px ниже высоты броска. Одна высокая колонка в центре быстрее всех достигает линии, потому что каждый новый фрукт падает на неё. Разделите банку на две рабочие колонки у левой и правой стенок и оставьте между ними вертикальный канал: через него фрукт может упасть на пол, когда одна сторона заполнена, и там самый большой фрукт может устояться, не толкая соседа за линию.
Избегайте бросать один и тот же уровень дважды подряд в одну точку. Два одинаковых фрукта сливаются, как только касаются, поэтому второй такой же фрукт на первом сразу становится следующим уровнем и высота колонки прыгает на целый шаг радиуса. Если нужна высота — бросайте разные уровни; если нужны очки — намеренно бросайте одинаковые уровни в щель, где оба могут двигаться.
3. Математика слияния: маленькие рано, большие поздно
Слияние уровня n даёт (n + 1) x (n + 2) / 2 очков, лестница: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55; пара арбузов взаимно гасится за 100. Большие числа появляются только наверху, и добраться туда стоит одиннадцать слияний в одной цепочке. Ранняя игра служит освобождению места маленькими фруктами, а не погоне за очками: слияние вишни в клубнику стоит 1 очко, но убирает тело из банки и освобождает слот.
Первый созданный арбуз запускает событие победы, но раунд на этом не останавливается. Считайте этот момент вехой, а не концом: банка уже несёт самый большой предмет, который может вместить, и каждый следующий бросок должен ложиться вокруг него.
4. Два арбуза гасятся: не слейте их случайно
Когда два арбуза касаются, они не становятся тринадцатым уровнем. Они взаимно гасятся и прибавляют 100 очков — это максимальный разовый счёт в игре и причина держать в банке два арбуза одновременно. Проблема в геометрии: два тела радиуса 62 занимают большую часть 240 px банки, их нужно разнести по противоположным сторонам с чистым путём между ними, и оба должны быть неподвижны, прежде чем сработают защита (100 мс) и проверка столкновения.
Арбуз, который ещё скользит после броска, несёт боковую скорость, а стенки банки намеренно сделаны без трения, поэтому он может укатиться далеко. Подождите, пока он уляжется, прежде чем бросать второй, иначе создадите арбуз, который дрейфует в другой под неверным углом и толкает соседа за линию опасности.
5. Читайте защиты, не боритесь с ними
Три таймера решают, когда вещи засчитываются, и все они из билда:
- Только что слитый фрукт не может слиться снова 100 мс (
MERGE_GUARD_MS). Если два одинаковых фрукта коснулись и ничего не произошло — подождите; пара удерживается и слияние сработает на следующем проходе столкновений. Не бросайте третий фрукт сверху «в помощь»: обычно куча только ухудшается. - Только что брошенный фрукт не считается «неподвижным» 900 мс (
REST_GUARD_MS). Фрукт, пересёкший линию опасности за эти 900 мс, не заканчивает раунд, потому что игра проверяет только фрукты, переставшие двигаться. Поэтому бросок, отскочивший у потолка, не автоматический game over. - Броски ограничены одним в 320 мс (
DROP_COOLDOWN_MS). Билд навязывает это таймером, так что долбить по кнопке не ускорит игру.
Физический шаг также ограничивает вертикальную скорость 9 px за кадр (TERMINAL_VY) и применяет сопротивление качению каждый кадр (горизонтальная скорость x0,93, угловая x0,9). Фрукты быстро останавливаются на полу, но сохраняют небольшой боковой дрейф, поэтому куча может сдвигаться в сторону даже после прекращения бросков.
6. Линия опасности — не конец банки
Game over срабатывает только когда верхний край неподвижного фрукта ниже y = 70 и скорость ниже 0,35 px за кадр. Линия предупреждения на y = 92 и краснеет пунктир, когда верхний край любого неудерживаемого фрукта выше неё. Между двумя линиями вы в опасной зоне: фрукт, движущийся достаточно быстро (скорость выше 0,6), игнорируется, но в момент остановки раунд заканчивается.
Практическое правило: прекращайте бросать, когда высшая точка кучи близка к линии предупреждения, и используйте 900 мс защиты покоя, чтобы дать пограничному фрукту улечься перед решением. Экран game over пишет "No room left" и предлагает Play again, который очищает все фрукты, сбрасывает счёт и очередь и запускает событие перезапуска.
7. Отрабатывайте конкретные ситуации параметрами URL
Билд принимает два query-параметра, оба проверены в опубликованном коде:
?seed=123закрепляет случайную последовательность, так что один и тот же порядок бросков повторяется при каждой загрузке. Используйте для отработки раскладки, которую не смогли решить, или для сравнения двух стратегий на одинаковых фруктах.?tier=0..10принуждает каждый бросок к этому уровню.?tier=0отрабатывает укладку вишни и мелкие слияния;?tier=9— расстановку дынь рядом без перелива. Значение вне диапазона игнорируется, используется обычный случайный пул.
Сид — 32-битное беззнаковое целое из собственного генератора билда, пул бросков — [0, 0, 0, 1, 1, 2], так что даже без сида первый фрукт — вишня три раза из шести.
FAQ
Чем это отличается от правил на странице игры?
Страница игры объясняет управление: двигайте указатель или тащите по тачскрину для прицеливания, тапните или кликните для броска, стрелки влево/вправо или A и D двигают прицел на 12 px, пробел/Enter/стрелка вниз бросают, на экране game over кликните Play again. Этот гайд предполагает, что вы это умеете, и играет на слое выше: какую колонку строить, когда сливать, как работает взаимное гашение двух арбузов, что делают три защиты и когда линия опасности реально заканчивает раунд.
Почему два одинаковых фрукта коснулись и не слились?
Защита слияния блокирует фрукт на 100 мс после создания, а билд регистрирует и collisionStart, и collisionActive, так что пара предлагается заново на каждом физическом шаге, пока защита не истечёт. Подождите долю секунды. Если всё ещё не сливаются, один из них, вероятно, всё ещё в 900-мс окне покоя или имеет скорость выше порога, который использует проверка опасности; в любом случае третий бросок сверху ухудшит ситуацию.
Может ли раунд закончиться, хотя ничего не выглядит вышедшим за линию?
Только когда верхний край неподвижного фрукта ниже y = 70 и скорость ниже 0,35 px за кадр. Фрукт, который ещё отскакивает или скользит, игнорируется, а фрукт, брошенный менее 900 мс назад, не проверяется вообще. Поэтому экран может выглядеть заполненным, пока игра ждёт оседания кучи, и вдруг закончиться. Это и есть практическое чтение линии предупреждения на y = 92: считайте её последним моментом для прекращения бросков.
Что на самом деле показывает панель NEXT?
Очередь хранит два уровня: тот, который вы бросите, и следующий. Когда появляется фрукт, первый уровень выходит из очереди, а второй становится превью. Пул бросков — три вишни, две клубники и один виноград, так что превью всегда один из этих трёх уровней.
Есть ли способ тренироваться без случайных бросков?
Да. Используйте ?seed=, чтобы повторить последовательность, или ?tier=, чтобы принудить каждый бросок к уровню. Билд читает оба параметра прямо из URL; неверное значение игнорируется. Лучший счёт хранится только в этом браузере под pn_melon_cascade_best, и страница не публикует средний счёт или сравнение с другими игроками.
Где можно играть?
На странице Melon Cascade этого сайта. Механика броска фруктов в банку и слияния двух одинаковых фруктов в следующий уровень вплоть до арбуза в других местах продаётся под зарегистрированным торговым знаком, поэтому этот билд написан Playnesta с нуля без побайтово переиспользованных игровых файлов: таблица уровней, геометрия банки, правило слияния, линия опасности, HUD, обработка ввода и рендерер (melon_cascade.js), таблица стилей (cascade_style.css), аналитический мост и тач-слой — всё оригинал Playnesta (MIT, см. LICENSE.txt в пакете). Единственный поставляемый upstream-код — физический движок matter-js 0.19.0 (MIT, коммит 07aec9ff5ed7e09da6106c73587716d7a1165125), vendored побайтово как vendor/matter.min.js (sha256 bdf68e297d6c4ec85b8dd693b8781d99db0090449c9a3ba69948eede08c9275a) с лицензией в vendor/matter.LICENSE.txt; он даёт только физику твёрдых тел, без рендеринга, ввода и игровой логики. Каждый фрукт рисуется во время выполнения из примитивов canvas плюс глифа системного эмодзи, так что никакие битмапы, шрифты иконок, аудио или webfont не поставляются и не загружаются, и ни один запрос не покидает страницу во время выполнения. Playnesta Games — разработчик и издатель этой веб-реализации.
Ещё игры
Ещё бесплатные игры на Playnesta — выберите следующую партию.