# Install & Test — Шашки Рояль v1.1.0

## 1. Установка APK на Android

### Через файл
1. Перенеси на телефон: `release/shashki-royale-v1.1.0-debug-build-20260521.apk`.
2. В настройках Android разреши установку из неизвестных источников для проводника / браузера.
3. Открой файл — Android спросит подтверждение → "Установить".
4. После установки в меню появится иконка «Шашки Рояль».

### Через `adb` (для разработчика)
```bash
adb install -r release/shashki-royale-v1.1.0-debug-build-20260521.apk
```

## 2. Проверка свежести версии

1. Запусти приложение.
2. На главном экране внизу мелким шрифтом видна подпись:
   ```
   v1.1.0 · build 20260521 · Coin v2
   ```
3. Если build НЕ `20260521` — у тебя старый APK. Переустанови.

## 3. Тест локальной игры (один телефон, два «игрока» — белые и чёрные ходят по очереди)

1. Главный экран → **«Играть локально»**.
2. Должен загрузиться зелёный шахматный стол, баннер сверху: **«Ход белых»**.
3. Тапни любую белую шашку в нижнем ряду — появятся **зелёные точки** на доступных клетках.
4. Тапни клетку с зелёной точкой — шашка плавно «прыгнет» туда, баннер сменится на **«Ход чёрных»**.
5. Проверь, что:
   - ✅ Нет надписи «Срубл.» нигде на экране.
   - ✅ Нет надписи «Рейтинг:».
   - ✅ Под чипами «Белые» и «Чёрные» нет цифр — только иконка и название.
   - ✅ Внизу — кнопка «Сдаться» (флажок) и сверху — кнопка «Назад».

## 4. Тест онлайн-игры (нужны 2 устройства или 2 окна)

### Устройство A (создатель стола)
1. Главный экран → **«Играть на Coin»**.
2. Сверху отображается баланс (для нового гостя — 10 Coin starting bonus).
3. Нажми **«+ Создать стол»** → откроется modal.
4. Выбери быструю ставку (например, `1 Coin`) ИЛИ введи свою в поле «Своя ставка».
5. Проверь breakdown: «Ставка: 1 Coin · Банк: 2 Coin · Комиссия 5%: −0.10 Coin · Победитель получит: 1.90 Coin».
6. Нажми **«♛ Создать»** → попадёшь в `OnlineGame` с надписью **«Ожидание...»**.
7. Запиши `room_code` (виден в Debug Panel или в URL `?gameId=...`).

### Устройство B (присоединяется)
1. Главный экран → **«Играть на Coin»**.
2. Увидишь стол A в списке. Кликни **«Войти»**.
3. Партия должна начаться у обоих игроков. У белых баннер «Ваш ход», у чёрных — «Ход соперника».

### Проверь
- ✅ Имя гостя в формате **«Player NNNN»** (4 цифры), а не плоский «Player» или «Игрок».
- ✅ Когда ход переходит к сопернику, баннер у тебя сменяется на «Ход соперника» без задержек.
- ✅ После сделанного соперником хода появляется флешка «Соперник походил» (~2.5 сек).
- ✅ После завершения партии — modal с результатом, баланс обновляется.

## 5. Тест мульти-взятия (двойной/тройной удар)

### В локальной игре

**Сценарий: двойное взятие белой шашкой**

Нужно довести позицию до состояния, когда белая шашка может сбить две чёрных подряд по диагонали. Пример последовательности от стартовой позиции (упрощённо):

1. Белые: (5,2) → (4,3)
2. Чёрные: (2,3) → (3,4) — *подставляется*
3. Белые: (5,4) → (4,5)
4. Чёрные: (2,5) → (3,4) — невозможно, занято. Тогда: (2,5) → (3,6)
5. Сделай так, чтобы у белых был обязательный двойной удар.

**Что должно произойти**:
- Тапни белую шашку, готовую к двойному взятию → появится **одна зелёная точка** в позиции ПЕРВОГО хопа (НЕ финальная точка цепочки).
- Тапни эту точку → шашка прыгнет на промежуточную клетку, чёрная пропадёт.
- **Шашка остаётся выделенной** (зелёная подсветка), баннер сверху всё ещё «Ход белых» (или показывает «Взятие обязательно!»).
- Появится **новая** зелёная точка для второго хопа.
- Тапни её → шашка прыгнет на финальную клетку, вторая чёрная пропадёт.
- Теперь ход переходит к чёрным.

### Проверь
- ✅ Невозможно выбрать другую шашку, пока цепочка не закончена.
- ✅ Невозможно «снять выделение» кликом по пустой клетке во время цепочки.
- ✅ Если в цепочке шашка превращается в дамку — цепочка **прерывается** (русские правила) и ход переключается.

### В онлайн-игре
То же самое, что в локальной. Соперник увидит **сразу финальное положение** (промежуточные хопы анимируются в один проход — это ожидаемо, см. `KNOWN_LIMITATIONS.md`).

## 6. Тест ставки Coin

1. **Создать стол с быстрой ставкой**:
   - В StakeLobby → «+ Создать стол» → нажми `5 Coin` → создать.
   - Баланс уменьшается на 5 Coin (locked в эскроу).
2. **Создать стол с кастомной ставкой**:
   - Открой modal → в поле «Своя ставка» введи `17`.
   - Breakdown должен пересчитаться: Ставка 17 · Банк 34 · Комиссия 1.70 · Победитель получит 32.30.
   - Нажми «♛ Создать».
3. **Победа**:
   - Завершить партию (например, сдаться соперником на устройстве B).
   - У победителя баланс должен вырасти на `pot − 5%` = 32.30 Coin.
   - У проигравшего locked Coin списываются.
4. **Откат при отмене**:
   - Если соперник не пришёл и ты вышел до начала партии (cancel) — Coin должны вернуться (refund).
5. **Граничные случаи**:
   - В поле «Своя ставка» введи `0` или `-5` → не должно дать создать.
   - Введи буквы → должны фильтроваться.
   - Введи число больше баланса → кнопка «Создать» disabled, появляется предупреждение «Недостаточно Coin».

---

## Если что-то сломалось
Логи в DevTools (Chrome remote debug по `chrome://inspect`). На production-устройстве — Capacitor logcat:
```bash
adb logcat | grep -i "chromium\|console"
```
