Как я могу удалить объект в Python? - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь создать шахматный симулятор.

рассмотрим этот сценарий: в квадрате 2B есть черная ладья (объект экземпляра класса Rook), называемая rook1.в квадрате 2C есть белая ладья, называемая rook2.

, когда игрок перемещает rook1 в квадрат 2C, я должен полностью удалить rook2 объект из памяти.

как можноя делаю это?

PS Я уже пробовал del rook2, но я не знаю, почему это не работает.

1 Ответ

0 голосов
/ 04 марта 2019

Попытка удалить объекты из памяти - неправильный путь.Python не предлагает никакой возможности сделать это вручную, и в любом случае это будет неправильная операция.

Вам необходимо изменить любую структуру данных, представляющую вашу шахматную доску, чтобы она представляла игровое состояние, в котором присутствует черная ладья.на c2 и ни одной фигуры на b2, а не игровое состояние, в котором черная черта находится на b2, а белая ладья на c2.В разумной реализации шахматной доски для начинающего проекта на Python это, вероятно, означает назначение ячеек в списке списков.Для этого не нужно вручную удалять объекты из памяти.

Наличие rook1 и rook2 переменных, относящихся к вашим ладьям, не нужно и, вероятно, контрпродуктивно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...