Files
hexo/README.md

3.0 KiB
Raw Blame History

hexo

Учебный проект. Игра, клон https://www.gamedesign.jp/games/dicewars/

Запуск игры

npm run serve    # Запустить веб-сервер (http://localhost:8080)
npm test         # Запустить тесты
npm start        # Консольная версия карты

Настройки игры

При запуске можно выбрать:

  • Количество игроков: 2-4
  • Тип каждого игрока: Человек (Human) или AI бот

Правила игры

1. Карта

  • Гексагональная сетка 20×20 ячеек
  • Каждая ячейка может быть:
    • Проходима (пустая или принадлежит игроку)
    • Непроходима (заблокирована)

2. Игровые единицы

  • Кубик: 6-гранный, значения 1-6
  • На поле может быть до 8 кубиков
  • Сила юнита: F = (cnt-1)*6 + current_dice
    • cnt — количество кубиков
    • current_dice — значение верхнего кубика

3. Ход игры

Перемещение/Атака

  • Можно ходить, если сила > 1
  • На целевую клетку переходит сила-1, на исходной остаётся 1
  • При атаке оба игрока бросают кости:
    • Атакующий: attack_roll = rnd(1..сила-1)
    • Защищающийся: defense_roll = rnd(1..сила)

Результат боя

  • Если attack_roll > defense_roll:
    • Атакующий побеждает, занимает клетку с attack_roll-1
    • На исходной клетке остаётся 1
  • Если attack_roll <= defense_roll:
    • Атака отбита, атакующий уменьшается до 1
    • Защитник остаётся с defense_roll - attack_roll (мин. 1)

Снабжение

  • После хода игрок получает снабжение
  • Снабжение = размер наибольшей непрерывной территории
  • Непрерывная территория — связанные между собой клетки игрока
  • Если территория разорвана врагом — считается только largest кусок
  • Снабжение распределяется по 1 единице случайным клеткам (не максимальным)
  • Максимум на клетке: 48 (8 кубиков × 6)

4. Победа

  • Последний игрок, оставшийся с клетками на карте

Управление

  • Клик на свою клетку → выбор
  • Клик на соседнюю вражескую/пустую → атака
  • Cancel → отмена выбора
  • End Turn → завершить ход