Próbuję stworzyć małego roguelike i posunąłem się do losowo generujących pokoi i korytarzy. Każdy pokój jest obiektem instancji i zawiera zestawienie pozostałych pomieszczeń połączonych korytarzem.
Mogę wyodrębnić niepołączone pokoje, ale skąd mam wiedzieć, które pokoje są połączone tylko ze sobą, ale nie z większością innych, tworząc wyspę?
Aby lepiej zilustrować problem, tutaj jest obraz z konsoli na zapadniętym poziomie. Pokoje 5 i 6 są połączone tylko ze sobą. Jakiego algorytmu mogę użyć do wykrycia tego?