andrey 1f224822a9 Механика веса рыбы
- у каждой рыбы свой вес (wMin..wMax кг), цена за 1 кг (price)
- удилища: предел веса (3-40 кг); перегруз -> шнур лопает почти мгновенно
- лучшая удочка/приманка -> выше шанс крупного улова (rollWeight)
- сложность вываживания зависит от веса и перегруза (ov, aggr)
- дневник: максимальный вес по каждому виду
- карточка улова: вес, цена/кг, бейдж «РЕКОРД!» при новом максимуме
- миграция старых сейвов (caught: число -> {n, best})
- автотест: 24 -> 26 проверок (перегруз, рекорд/антирекорд)
- обновлены README и скриншоты
2026-08-27 06:43:54 +00:00
2026-08-27 06:43:54 +00:00
2026-08-27 06:43:54 +00:00
2026-08-27 06:43:54 +00:00

🎣 Рыбалка

Браузерная мобильная игра про рыбалку. Один HTML-файл, без зависимостей — просто открой в браузере и играй.

Меню Клёв Вываживание Улов
меню клев вываживание улов

Как играть

Управление одним пальцем (вертикальный экран):

  1. Держи палец — заряжается мощность броска, отпусти — кидаешь удочку. Чем дальше, тем реже, но ценнее рыба.
  2. Когда поплавок нырнул и появилась «!» — быстро нажми экран, чтобы зацепить. У редких рыб окно на подсечку всего доли секунды.
  3. Вываживание: держишь палец — втягиваешь, но растёт нагрузка на шнур (жёлтая полоса справа). Рыба периодически тянет (⚡, с вибрацией) — отпусти в этот момент, иначе шнур лопнет. Полоса снизу — оставшаяся дистанция: доведи рыбку до лодки. Чем крупнее рыба, тем сильнее рвёт и дольше тянет.
  4. У каждой рыбы свой вес, продажа — по цене за кг своего вида (от 20 до 1500 🪙/кг). Крупная рыба = большие деньги.
  5. У удочек есть предел веса (3–40 кг): зацепишь более тяжёлую — шнур лопнет почти мгновенно. Чем лучше удочка и приманка, тем выше шанс зацепить крупную. Новый максимум по виду отмечен бейджем «🏆 РЕКОРД!» на карточке улова.
  6. На монеты — новые удилища и приманки в магазине 🛒.

Возможности

  • 8 видов рыб с собственным весом (0.05–40 кг) и ценой за кг (5 уровней редкости)
  • Удилища: предел веса, прочность шнура, скорость подсечки, бонус на крупную рыбу
  • Приманки: частота клёва, дальность броска, шанс редких и крупных
  • Дневник рыбака — коллекция, максимальный улов по каждому виду, статистика
  • Прогресс и коллекция сохраняются в localStorage (старые сейвы мигрируются автоматически)
  • Звуки на WebAudio, вибрация на телефоне
  • Вся графика нарисована на Canvas — внешних ресурсов нет

Документация

📋 Процесс разработки — этапы (ТЗ → прототип → автотесты → публикация), инструменты, найденные баги, гигиена секретов и как развивать игру дальше.

Запуск

Просто открой index.html в браузере (десктоп или телефон). Для локальной разработки:

python3 -m http.server 8000
# → http://localhost:8000

Тесты

Автотест прогоняет весь геймплей (бросок, подсечка, все исходы вываживания, магазин, дневник, сохранение) в headless Chromium:

cd tests
npm install          # ставит puppeteer-core
node test.js         # 21 проверка

Нужен установленный Chromium (executablePath в test.js при необходимости поправить).

S
Description
Браузерная мобильная игра про рыбалку: один HTML-файл, без зависимостей
Readme
228 MiB
1.0.0
Latest
2026-09-08 17:51:06 +03:00
Languages
HTML 63.6%
JavaScript 35.5%
Python 0.9%