Загрузка данных


// Добавляем новые переменные состояния в класс
private int _turnCount = 0;
private int _enemyStrength = 0; // Накопленная сила врага

// Модифицированный метод начала хода игрока
private void StartPlayerTurn()
{
    _turnCount++; // Считаем ходы
    _energy = 3;
    _playerBlock = 0; 

    Hand.Clear();
    for (int i = 0; i < 5; i++)
    {
        Hand.Add(_cardPool[_random.Next(_cardPool.Count)]);
    }

    // Теперь намерение врага зависит от строгого паттерна, а не от рандома
    DetermineEnemyIntent(); 
    UpdateUi();
}

// Предсказание хода по канонам Slay the Spire
private void DetermineEnemyIntent()
{
    if (_turnCount == 1)
    {
        // Первый ход Культиста — ВСЕГДА бафф "Ритуал"
        _enemyIntentType = "Buff";
        _enemyIntentValue = 3; // На сколько увеличится сила
        TxtEnemyIntent.Text = "Намерение: Ритуал (+3 к Силе каждый ход)";
        TxtEnemyIntent.Foreground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Violet);
    }
    else
    {
        // Все последующие ходы — Атака, которая становится сильнее
        _enemyIntentType = "Attack";
        _enemyIntentValue = 6 + _enemyStrength; // Базовый урон 6 + сила
        TxtEnemyIntent.Text = $"Намерение: Атака ({_enemyIntentValue} урона)";
        TxtEnemyIntent.Foreground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.OrangeRed);
    }
}

// Модифицированный ход врага
private void BtnEndTurn_Click(object sender, RoutedEventArgs e)
{
    if (_enemyHp <= 0 || _playerHp <= 0) return;

    _enemyBlock = 0; 

    if (_enemyIntentType == "Buff")
    {
        // Враг не бьет, а увеличивает свою силу на будущее
        _enemyStrength += _enemyIntentValue;
        TxtLog.Text = $"Культист кричит 'Вжик-вжик!' и получает +{_enemyIntentValue} к Силе!";
    }
    else if (_enemyIntentType == "Attack")
    {
        TakeDamagePlayer(_enemyIntentValue);
        TxtLog.Text = $"Культист атаковал вас на {_enemyIntentValue} урона!";
        
        // После атаки сила культиста снова растет по его пассивке
        _enemyStrength += 3; 
    }

    UpdateUi();

    if (_playerHp <= 0)
    {
        TxtLog.Text = "ВЫ ПОГИБЛИ. ИГРА ОКОНЧЕНА.";
        return;
    }

    StartPlayerTurn();
}