JustCaptain kod-buduschego
6fd6c9a4bbd30b9f79d65f8e226e9c0fdc4255ba
Перейти к файлу
Код
kod-buduschego Python 2025-20264.1. Классы и объектыpracticesgamesTASK.md
anc update c70a58f 8 октября 2026 г.
TASK.md

Уровень 1 — почувствовать смысл объектов

  1. Гильдия охотников на чудовищ

Контекст: ты делаешь RPG-систему для гильдии.

Создай класс охотника.

У каждого охотника:

  • имя
  • здоровье
  • выносливость
  • уровень
  • оружие

Методы:

  • attack(enemy) — наносит урон
  • rest() — восстанавливает выносливость
  • level_up() — повышает уровень и характеристики
  • change_weapon(new_weapon)

Дополнительно:

  • если выносливость = 0 → атаковать нельзя
  • оружие влияет на урон

Что даст задача:
Ты поймёшь, почему объект = состояние + поведение.

⸻

  1. Чёрный рынок артефактов

Контекст: игроки покупают магические предметы.

Создай класс артефакта.

Свойства:

  • название
  • редкость
  • цена
  • сила магии
  • проклят ли предмет

Методы:

  • upgrade()
  • sell_price()
  • inspect()

Логика:

  • легендарные предметы улучшаются хуже
  • проклятый предмет нельзя продать

Дополнение:

Создай 10 объектов и отсортируй рынок по цене.

Что даст:
Поймёшь, как удобно хранить много похожих сущностей.

⸻

  1. Банда хакеров

Контекст: киберпанк-мир.

Класс Hacker.

Поля:

  • nickname
  • skill
  • stealth
  • crypto_balance
  • tools

Методы:

  • hack(target_security)
  • buy_tool(tool)
  • train()
  • show_stats()

Условие:

успех взлома зависит от характеристик.

Например:

chance = skill + stealth - target_security

Сделай случайность через random.

Что даст:
Начнёшь видеть классы как симуляцию мира.

⸻

Уровень 2 — взаимодействие объектов

  1. Арена гладиаторов

Контекст: два персонажа сражаются автоматически.

Сделай класс Gladiator.

Потом:

battle(gladiator1, gladiator2)

Требования:

  • разные стили боя
  • шанс критического удара
  • броня
  • уклонение

Лог боя:

Раунд 1:
Max ударил Leon на 13
Leon уклонился
...
Победил Max

Что даст:
Ты поймёшь, как объекты разговаривают друг с другом.

⸻

  1. Космический корабль

Контекст: ты капитан.

Класс Spaceship.

Состояние:

  • топливо
  • корпус
  • экипаж
  • груз
  • координаты

Методы:

  • travel(distance)
  • repair()
  • mine_resources()
  • trade()
  • fight_pirates()

Механика:

  • путешествие тратит топливо
  • пиратская атака случайна
  • если корпус = 0 → конец игры

Что даст:
Поймёшь идею инкапсуляции состояния.

⸻

  1. Менеджер преступной империи

Контекст: ты управляешь подпольной сетью.

Класс Business.

Есть:

  • деньги
  • риск полиции
  • сотрудники
  • прибыль

Методы:

  • expand()
  • launder_money()
  • hire_worker()
  • police_raid()

Случайные события:

  • рейд
  • предательство
  • крупная сделка

Что даст:
Увидишь, как классы помогают строить сложную систему без хаоса.

⸻

Уровень 3 — настоящая сила ООП

  1. Система покемонов (наследование)

Создай базовый класс:

Creature

Общие свойства:

  • hp
  • attack
  • defense
  • energy

Методы:

  • attack()
  • take_damage()

Потом наследники:

FireCreature
WaterCreature
ElectricCreature

Особенности:

  • огонь сильнее травы
  • вода сильнее огня
  • электричество критует

Что даст:
Поймёшь наследование, когда один класс расширяет другой.

⸻

  1. Криминальная организация (композиция)

Контекст: GTA/Peaky Blinders.

Класс:

Gang

У банды есть участники.

Отдельный класс:

Member

Методы банды:

  • recruit()
  • remove_member()
  • raid(other_gang)

Особенность:

банда хранит объекты участников внутри себя.

Например:

gang.members.append(member)

Что даст:
Поймёшь отношения между объектами.

⸻

  1. Симулятор средневекового города

Самая сильная задача.

Классы:

Citizen
House
Market
Kingdom

Жители:

  • работают
  • покупают еду
  • умирают
  • богатеют

Каждый день:

kingdom.next_day()

Происходят события:

  • голод
  • война
  • налоги
  • эпидемия

Цель:
запустить симуляцию на 100 дней.

Что даст:
Поймёшь, зачем ООП существует в реальных проектах.

⸻

Уровень 4 — задачи «вау, теперь я понимаю классы»

  1. Создай мини-игру «Тёмное подземелье»

Классы:

Player
Monster
Weapon
Inventory
Dungeon

Механики:

  • предметы
  • бои
  • инвентарь
  • уровни
  • лут
  • случайные комнаты

Игрок:

  1. Исследовать
  2. Сражаться
  3. Открыть сундук
  4. Отдохнуть

Что даст:
В какой-то момент ты поймёшь:

«Без классов это был бы ад из переменных».

⸻

Последовательность прохождения

  1. Гильдия охотников
  2. Чёрный рынок
  3. Хакеры
  4. Арена гладиаторов
  5. Космический корабль
  6. Преступная империя
  7. Покемоны
  8. Банда
  9. Средневековый город
  10. Подземелье

Если пройти все 10 — тема классы/объекты закрепится на уровне практики, а не теории.