邮车的路线
我们应该能够比随机机器人做得更好。 一个简单的改进就是从现实世界的邮件传递方式中获得提示。 如果我们发现一条经过村庄所有地点的路线,机器人可以通行该路线两次,此时它保证能够完成。 这是一条这样的路线(从邮局开始)。
const mailRoute = ["Alice's House", "Cabin", "Alice's House", "Bob's House","Town Hall", "Daria's House", "Ernie's House","Grete's House", "Shop", "Grete's House", "Farm","Marketplace", "Post Office"];
为了实现路线跟踪机器人,我们需要利用机器人的记忆。 机器人将其路线的其余部分保存在其记忆中,并且每回合丢弃第一个元素。
function routeRobot(state, memory) {if (memory.length == 0) {memory = mailRoute;}return {direction: memory[0], memory: memory.slice(1)};}
这个机器人已经快了很多。 它最多需要 26 个回合(13 步的路线的两倍),但通常要少一些。
runRobotAnimation(VillageState.random(), routeRobot, []);
