TGViewer
Moth Moth @namlessmoth · 44 subscribers
Post #350 50
Первая тема в напильнике называется "Инкапсуляция" задание называется "Оружие" и звучит так:
Боты ходят по карте и когда видят игрока стреляют в него.
Систему обнаружения игрока оставим за кадром и ограничимся публичным методом OnSeePlayer который условно кто-то будет вызывать.

Разберитесь с инкапсуляцией в этом коде - https://gist.github.com/HolyMonkey/9290ed63c38fc732ed8f58693077095d

Моё первое решение:
Сделал поля приватными
Добавил проверки и условия для здоровья и пуль чтобы они не оказались меньше нуля
Оружие не должно получать игрока целиком это не его ответственность
https://gist.github.com/NoNameDeleted/e5d55a42c1e45c0800e9bf083ef71553

Ответ ментора на это решение:
Оружие может получать IDamageable
В кодстайле не принято писать if в одну строку if (damage <= 0) return;
А фигурные скобки пишутся на отдельных строках if (_health < 0) {
У классов должны быть конструкторы.
Нужно валидировать все параметры публичным методов и конструкторов. Если значения некорректны, бросай исключение, а не делай return
More from @namlessmoth
  1. Mar 7, 2026Как сломать босса одним прокачанным навыком Причём первую заратану я победил точно так же,…
  2. Mar 3, 2026Наиграл уже 150+ часов и даже не прошел половину игры Мне капец как не везёт почти в каждо…
  3. Feb 17, 2026Один месяц подписки на впн Вдруг кому надо https://t.me/gruVPNbot?start=g_UZhunlWNfFC_2127…
  4. Feb 16, 2026оставлю тут, чтобы не потерять вам смотреть нельзя, это только для меня
  5. Feb 13, 2026Вчера сделал всего три задания и все три оказались не правильными 1) Задание: Проведите ре…
  6. Feb 12, 2026Оказалось что всё-таки можно сдавать несколько заданий за один раз. Я вчера сдал 7 заданий…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →