// Добавляем новые переменные состояния в класс
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();
}