/
Odisseywolf
/
BioSphere
Обзор
Документация
Войти
/
Odisseywolf
/
BioSphere
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
difficulty_system/difficulty_manager.py
32 строки
1 KB
Odisseywolf
Create: difficulty_levels.py, adaptive_engine.py, difficulty_manager.py, schema.sql, common_species.sql, queries.py, Update: ecosystem_engine.py
09 июн 2026, 14:42
Верифицирован
09 июн 2026, 14:42
e0bb572
Код
Авторство
О чём код?
# FILE: difficulty_system/difficulty_manager.py from difficulty_system.difficulty_levels import get_difficulty_level from difficulty_system.adaptive_engine import AdaptiveEngine from species_db.manager import SpeciesDBManager class DifficultyManager: def __init__(self): self.level_id = 1 self.db = SpeciesDBManager() self.adaptive_engine = None def set_level(self, new_level_id: int): if new_level_id not in range(1, 8): raise ValueError("Уровень должен быть от 1 до 7") self.level_id = new_level_id self.adaptive_engine = AdaptiveEngine(new_level_id) print(f"[LEVEL] Установлен уровень {new_level_id}: {get_difficulty_level(new_level_id).name}") def is_param_visible(self, param: str) -> bool: return param not in get_difficulty_level(self.level_id).hidden_params def get_available_biomes(self) -> List[str]: return get_difficulty_level(self.level_id).available_biomes def apply_corrections(self, zone_data: dict) -> dict: """Применяет авторежим, если он включен""" if not get_difficulty_level(self.level_id).auto_correction: return zone_data if self.adaptive_engine: corrections = self.adaptive_engine.step(zone_data, zone_data.get("species", [])) zone_data.update(corrections) return zone_data