我目前处于开发游戏的早期阶段,其中玩家通过将个别系统(货舱,武器控制,船员宿舍等)放置在2D网格上来建造宇宙飞船。船的“根”部分是船长所在的桥梁,并命令周围的人。
我需要的是一种算法,可以检查以确保每个部件都直接连接到桥,或者通过连接到可以追溯到桥的另一系列部件。
当然,一部分将被删除,它不会以某种方式连接到桥。
任何人都知道可以做到这一点的算法吗?
答案 0 :(得分:3)
这是一种简单的“填充”方法,可以满足您的需求
scanning
同时创建一个名为checked
的集合(在开头留空)
虽然未找到B点且集合scanning
不为空:
scanning
集合中的每个点,执行以下操作:scanning
集中删除该点
添加到checked
checked
或scanning
然后将邻居添加到scanning