.Notation Путаница и сохранение значений в свойствах для последующего использования. - PullRequest
0 голосов
/ 01 января 2019

Итак, я пытаюсь создать небольшую игру, в которой вы сражаетесь с боссом, но я не думаю, что понимаю, как использовать для этого точечную запись для объектно-ориентированного программирования.

В моем основном классе я предположил, что свойство очков защиты в моем классе 'Босс' равно 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?

Обычно я бы не стал обращаться за помощью в отладке, но, возможно, поскольку это такая фундаментальная концепция, ее можно было бы квалифицировать как вопрос о концепции.Может быть, глупость может быть добродетелью в этом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...