Ошибка "UnboundLocalError: local variable 'fired_block' referenced before assignment" возникает, когда вы пытаетесь использовать переменную `fired_block`, которая не была определена или не была присвоена значения перед использованием в коде.
Ошибка "UnboundLocalError: local variable 'human_ships_set' referenced before assignment" возникает, когда вы пытаетесь использовать переменную `human_ships_set`, которая также не была определена или не была присвоена значения перед использованием в коде.
Оба этих исключения могут быть исправлены путем проверки, определены ли эти переменные перед их использованием или присвоением им значений.
Вот несколько способов исправления этих ошибок:
1. Проверьте, что переменные `fired_block` и `human_ships_set` определены и им присвоены значения до их использования в коде. Например:
```python
def main():
fired_block = None # Присваиваем переменной значение по умолчанию до использования
human_ships_set = set() # Инициализируем переменную пустым множеством
# Далее следует ваш код
# ...
```
2. Проверьте, что вы не случайно переопределили эти переменные где-то внутри функции `main()`. Например, если внутри `main()` есть вложенная функция, которая имеет свою собственную переменную с тем же именем, это может вызвать ошибку. В этом случае вам нужно использовать ключевое слово `nonlocal` или `global`, чтобы указать на использование переменных из внешней области видимости. Например:
```python
def main():
fired_block = None
def nested_function():
nonlocal fired_block # Добавьте это, чтобы указать, что вы используете переменную из внешней функции
fired_block = 5
nested_function()
print(fired_block) # Распечатает 5
```
3. Если ничто из вышеупомянутого не помогает, убедитесь, что вы вызываете функцию `main()` в правильном порядке и из правильного контекста. Если функция `main()` определена в другом модуле, убедитесь, что вы импортировали метод и вызвали его.