private void WoundEvent(object sender, CombatEventArgs e) { if (e.actor.Name != "Противник") { label_PlayerHP.Text = e.actor.HP.ToString(); progressBar_Player.Value = e.actor.HP; } else { label_OpponentHP.Text = e.actor.HP.ToString(); progressBar_Opponent.Value = e.actor.HP; } richTextBox_FightLog.Text += e.actor.Name + " решил защитить " + GetBodyPartString(e.actor.Blocked) + " вместо " + GetBodyPartString(e.attackedPart) + ", поэтому теперь у него " + e.currentHP + " здоровья\n"; }
private void Attack(Actor attacker, Actor defender) { if (isFullRound == isPlayerTurn) { roundCount++; label_Round.Text = "Раунд " + roundCount; } BodyComponents attackedPart = BodyComponents.NONE; Array bodyParts = Enum.GetValues(typeof(BodyComponents)); if (attacker.Name == "Противник") { attackedPart = (BodyComponents)bodyParts.GetValue(randomGenerator.Next(1, 3)); if (radioButton_Head.Checked) { defender.SetBlock(BodyComponents.HEAD); } if (radioButton_Body.Checked) { defender.SetBlock(BodyComponents.BODY); } if (radioButton_Legs.Checked) { defender.SetBlock(BodyComponents.LEGS); } } else { if (radioButton_Head.Checked) { attackedPart = BodyComponents.HEAD; } if (radioButton_Body.Checked) { attackedPart = BodyComponents.BODY; } if (radioButton_Legs.Checked) { attackedPart = BodyComponents.LEGS; } defender.SetBlock((BodyComponents)bodyParts.GetValue(randomGenerator.Next(1, 3))); } isPlayerTurn = !isPlayerTurn; CombatEventArgs e = new CombatEventArgs(defender, attackedPart, 0, randomGenerator); defender.TryBlock(attackedPart, e); }
private void DeathEvent(object sender, CombatEventArgs e) { richTextBox_FightLog.Text += e.actor.Name + " не выдержал удара и упал навзничь\n"; FinishGame(); }
private void BlockEvent(object sender, CombatEventArgs e) { richTextBox_FightLog.Text += e.actor.Name + " успешно отбил атаку\n"; }