Unity Void Start не запускается несколько раз между обновлениями из другого класса - PullRequest
1 голос
/ 14 марта 2020

Я пытаюсь построить алгоритм MiniMax для моей шахматной игры. Для запуска алгоритма игра должна уничтожать и возрождать игровые объекты несколько раз между обновлениями. Проблема в том, что функция Void Start запускается только в первый раз, когда я вызываю объект. При уничтожении объекта и его повторном порыве во время того же обновления, Void Start не вступает в силу.

Проблема с моими шахматными фигурами. У меня есть родительский класс для всех частей, называемый Pices.cs, и набор дочерних классов для указанного элемента c. Класс Pices.cs имеет символ, унаследованный и обновленный с помощью Void Start другими классами. По умолчанию это «F», а затем в «Void start» в классе King оно будет обновлено до «K», в «Void start» в классе «Queen» оно будет обновлено до «Q» и т. Д. *

Пример проблемы в действии во время одного обновления состояния игры:

, если у меня есть два пруда, который способен захватить вражескую королеву. Я хотел бы забрать вражескую королеву с моим первым прудом, отменить ход и восстановить королеву, затем уничтожить королеву с другим прудом, отменить ход и восстановить королеву, сделать что-то совершенно другое. Но когда королева получает экземпляр во второй раз, делая это обновление, идентификационный символ будет «F», а не «Q», как я буду sh.

Соответствующий код и примечания:

Все внутриигровым движением управляет Board_Manager.cs

Droning.cs = Королева на моем языке

Reverse move () {...} сбросить этап игры, чтобы начать и дозировать все ходы снова, за исключением последнего

Endgame () {...} Уничтожить все игровые объекты и установить их в начальной позиции

Текущее обозначение хода следующее: 1. Piece Letter , 2. от x, 3. от y, 4. до x, 5. до y, 6. Буква о смерти (если ни одна из фигур не умерла -)

Изображение соответствующего кода pices.cs 1

Изображение соответствующего кода Queen.cs

Изображение ReversMove () в Board_Manager.cs

Изображение базового алгоритма MiniMax

Печать обозначения результирующего перемещения

Я знаю, что это немного запутанно b Но я надеюсь, что некоторые из вас понимают проблему и могут помочь мне здесь. Это часть моего экзамена, поэтому я бы очень хотел исправить это (:

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