Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 23.11.2016
Сообщений: 3
1

Не изменяются значения параметров класса

27.10.2017, 16:55. Показов 1196. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Значения HP и SP не изменяются.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class Program
    {
        static internal Hero hero = new Hero();
        static internal Enemy enemy = new Enemy();
 
        static void Main()
        {
         for (int i = 0; i < 10; i++)
            {
                Console.WriteLine($"enemyHP: {enemy.LoseHealth(hero.PhysicAttack())}");
                Console.WriteLine($"heroSP: {hero.LoseStamina()}");
            }
        }
    }
 
internal class Person
    {
        internal double HP, SP;
        protected double physicAttack;
        protected double loseSP;
 
        internal double PhysicAttack()
        {
            var rand = new Random();
            var diapason = rand.Next(-5, 5);
            var cfMiss = rand.Next(0, 5);
 
            return cfMiss > 0 ? this.physicAttack + diapason : 0;
        }
 
        internal double LoseHealth(double _damage)
        {
            return this.HP <= 0 ? 0 : this.HP >= 100 ? 100 : this.HP - _damage;
        }
 
        internal double LoseStamina()
        {
            return this.SP <= 0 ? 0 : this.SP >= 100 ? 100 : this.SP - this.loseSP;
        }
    }
 
    internal class Hero : Person
    {
        internal Hero()
        {
            this.HP = 100;
            this.SP = 100;
            this.physicAttack = 30;
            this.loseSP = 20;
        }
    }
 
    internal class Enemy : Person
    {
        internal Enemy()
        {
            this.HP = 100;
            this.SP = 100;
            this.physicAttack = 20;
            this.loseSP = 25;
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2017, 16:55
Ответы с готовыми решениями:

Почему при компилировании программы со вторым экземпляром класса изменяются значения первого?
Здравствуйте. Вопрос: почему при компилировании программы со вторым экземпляром класса изменяются...

При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не изменяются в оставшихся полей не изменяются
При удалении записей значения полей автоматически увеличивающееся на 1 (+Autoincrement) не...

Поля класса не изменяются после использования функции
Car, Ship и Plane наследуются от Vehicle, есть функция ввода полей типа &quot;scanf (&quot;%d&quot;, classfield)&quot;....

Не изменяются значения ComboBox
Не могу понять почему не изменяются значения по следующему коду if FontDialog1.Execute then ...

2
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
27.10.2017, 17:11 2
так ты их и не меняешь, вот они и не изменяются, твои методы только возвращают некоторое значение, но никак не меняют статы твоих юнитов
переделай методы для именно изменения статов, и отдельный метод для вывода "состояния" юнитов
1
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
27.10.2017, 17:14 3
Цитата Сообщение от aimbiryukov Посмотреть сообщение
C#
1
2
3
4
        internal double LoseHealth(double _damage)
        {
            return this.HP <= 0 ? 0 : this.HP >= 100 ? 100 : this.HP - _damage;
        }
Во первых не меняются сами значения, во вторых хп всегда будет выводится 100, так-как до условия, изначально =100, последнее условие так и не сработает.
Попробуй вот поставить Enemy 99 HP, у тебя только один раз выведится другое значение, а потом оно повторяться будет, потому что твой diapazon=rnd.Next(-5,5) , все 10 раз будет одно и тоже выдавать
1
27.10.2017, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2017, 17:14
Помогаю со студенческими работами здесь

Не изменяются значения в массиве
Здравствуйте, подскажите пожалуйста, не работает кусочек программы не изменяет значения, как...

ООП: почему в потомке родительского класса не изменяются координаты?
Здравствуйте, никак не могу понять,почему в потомке родительского класса не изменяются координаты в...

Не изменяются значения в ячейках JTable
Я описал свою модель для JTable для удобства. Когда пользователь меняет значение в таблице, модель...

проблема - при выводе переменных, их значения изменяются
Проблема в элементарном коде, после присваивания переменной `result1` значения `n+++m--`, значения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru