Итак, я пытаюсь создать небольшую игру, в которой вы сражаетесь с боссом, но я не думаю, что понимаю, как использовать для этого точечную запись для объектно-ориентированного программирования.
В моем основном классе я предположил, что свойство очков защиты в моем классе 'Босс' равно 20.
}
public void button5_Click(object sender, EventArgs e) // 'Challenge' Button -
{
Boss InitializeBoss = new Boss(); // the boss object created should have these values -
InitializeBoss.DefensePoints = 20;
// Boss ^ ------ ^property
Структура моего класса боссов выглядит следующим образом:
class Character
{
public int AttackPoints;
public int DefensePoints { get; set; }
public virtual void AttackMethod() {
AttackPoints = 5;
}
}
Сначала я создал класс 'Character' с парой свойств и методом атаки (который я переопределяю в классе боссов для атаки босса)
class Boss : Character
{
public int LordStrength
{
set { AttackPoints = 10; }
get { return AttackPoints; }
}
public override void AttackMethod()
{
Random Rnd1 = new Random();
int LowVar = AttackPoints - 2;
int HighVar = AttackPoints + 3;
int SmiteImpact = Rnd1.Next(LowVar, HighVar);
}
Но так как очки DefensePointsСвойство все еще доступно в моем MainMethod в моем «Классе программы», я все еще должен иметь возможность создать объект из класса «Босс» и инициализировать значение защитных очков оттуда?
Проблема заключается в том, что при следующем нажатии кнопки (кнопка атаки)
// Calculate Damage -
Boss DMeasure = new Boss();
int damage = DMeasure.DefensePoints - Move.AttackPoints;
MessageBox.Show(" Defense points left: " + damage);
ChristStatus GPBoss = new ChristStatus();
урон продолжает проявляться как неправильное значение. Как я неправильно трактую свое свойство DefensePoints?
Обычно я бы не стал обращаться за помощью в отладке, но, возможно, поскольку это такая фундаментальная концепция, ее можно было бы квалифицировать как вопрос о концепции.Может быть, глупость может быть добродетелью в этом случае?