我正在使用emu8086 编写一个汇编程序。该程序使用内置机器人设备在模拟的 6x9 地图上模拟虚拟机器人。地图将包含未知数量的墙壁和灯(点亮/未点亮),机器人将在其中遍历地图并定位所有未点亮的灯并点亮它们。机器人本身只能从机器人所面对的相邻方格中获取数据,并且只能旋转 90 度。该项目建议左上角将是坐标系 (0,0) 的原点。
我了解如何将机器人与我的代码连接以移动和检查数据,但是,我不确定如何有效地穿越并检查整个地图上的所有灯,而不会陷入无限循环或死胡同。
我已经阅读过使用几种搜索算法,例如广度优先和深度优先搜索算法,但我不确定如何在汇编中实现这些概念(因为大多数示例/伪代码都是用 c++/c#/etc 编写的)。
我不是要求任何特定的编码,而是要了解如何实现这些搜索功能。由于问题提到了坐标系的原点,我制作了一个二维数组,在其中获取特定坐标处对象的值。不确定阵列对问题有多重要,但任何帮助将不胜感激。