* Na początku sprawdza czy kolejka jest pusta, jeśli tak zwraca *None*
* Jeśli test spełnienia celu się powiedzie, sprawdzamy dodatkowo czy nasz punkt docelowy nie jest elementem kolizyjnym, jeśli jest, to *cel = cel.parent* i zwracamy ciąg akcji
* Umieszczamy cel docelowy w tej iteracji w liście odwiedzonych pól
* Następnie w pętli *for* deklarujemy nowy stan i priorytet zgodnie z funkcją następnika
* Jeśli stan nie jest w kolejce i nie ma go w odwiedzonych polach, umieszczamy go w kolejce
zgodnie z priorytetem, zapobiegamy też wystąpienia dwóch takich samych priorytetów poprzes *self.testCount += 1*
* A jeśli stan *newNode* należy do kolejki i jakiś inny stan *node* z kolejki posiada od niego większy priorytet,