5 Commits

Author SHA1 Message Date
george
da783d9f0d Этап 5: анимация поедания еды
В момент съедания на месте еды расходится затухающее кольцо.

- Animatable popProgress (0->1 за один укус), запуск из step()
- отрисовка кольца в drawBoard() через drawCircle + Stroke,
  радиус растёт, прозрачность падает с прогрессом
- цвет кольца — цвет еды

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 18:00:07 +03:00
george
05d65eab14 Этап 4: звук при поедании еды
Короткий звуковой эффект при съедании еды через SoundPool.

- res/raw/eat.wav — короткий синтезированный «блип» (PCM 16-bit моно)
- SoundPool с AudioAttributes USAGE_GAME, загрузка сэмпла один раз
- воспроизведение в step() при поедании еды
- освобождение SoundPool в DisposableEffect при уходе с экрана

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 17:44:46 +03:00
george
d8efaa53a6 Этап 3: сохранение рекорда через DataStore
Рекорд теперь сохраняется между запусками приложения.

- ScoreStore.kt — обёртка над Preferences DataStore (Flow на чтение,
  suspend saveBest на запись; работа с диском вне UI-потока)
- загрузка рекорда при старте экрана через LaunchedEffect
- сохранение нового рекорда из step() через scope.launch
- зависимость androidx.datastore:datastore-preferences:1.1.1

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 17:07:42 +03:00
george
6a1719c148 Этап 2: ускорение змейки
Змейка ускоряется по мере роста счёта: задержка между шагами
уменьшается со 150 мс до 60 мс (по 6 мс за каждую съеденную еду).

- stepDelay(score) — пересчёт задержки в игровом цикле LaunchedEffect
- speedLevel(score) — уровень скорости для индикатора на экране
- в шапке добавлен показатель «Скорость»

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:54:52 +03:00
george
1ccb52cfb5 Этап 1: Змейка на Jetpack Compose
Простое Android-приложение для студентов: классическая «Змейка»
на одном экране (Compose Canvas + игровой цикл на корутине).

- управление свайпами, тап для рестарта
- сетка 20x30, рост змейки, счёт и рекорд за сессию
- стек: Kotlin, Jetpack Compose, AGP 8.13.2 / Gradle 8.13

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:41:06 +03:00