Есть в программировании такой алгоритм Поиск в ширину. Если сильно(!) постараться, то его можно сделать на эвентах.