这个谜题并不太难,我发现自己只是做了很多函数以及很多 if 语句和循环。
今天我对 2D 网格导航有点厌倦了,因此很晚才发布这篇文章(我不得不休息一天)。
您一如既往地可以在这里找到我的解决方案。
再说一次,今天没什么值得讨论的重大问题。主要概念是:
a) 在网格中循环导航指令以确定移动方向。
b)跟踪盒子的位置,并检查我们的下一步移动是墙还是盒子,如果是盒子,检查我们是否可以移动盒子。
第 2 部分:
a) 应用相同的逻辑,只是使用不同的参数,能够按照谜题说明同时移动两个盒子。
查找框:find_boxes 函数识别成对的半框([ 和 ]),代表框的左侧和右侧,并映射它们的关系以用于框推送逻辑。
在第二仓库移动机器人
move_robot_in_second_warehouse 函数扩展了机器人逻辑以处理修改后的网格。它使用更复杂的策略来推动盒子([])并确保有足够的可用空间。它跟踪盒子关系并在需要时将它们集体移动。
第 1 部分 使用基本网格和机器人逻辑根据框 (O) 的位置计算结果。然而,第 2 部分 处理修改后的网格,应用高级移动规则,并为框 ([])
计算类似的结果实际上也没有更多,只是一个包含大量条件和动作的 2D 网格导航。从好的方面来说,我觉得我的 Python 知识在语法和有用的库函数方面得到了更多的提高。
一如既往,请随时在 Twitter 上与我联系
以上是代码日的到来仓库困境的详细内容。更多信息请关注PHP中文网其他相关文章!