Game.rooms[roomName] 为什么是 undefined:Screeps 房间视野与 Observer 排查
解释 Game.rooms[roomName] 为什么会是 undefined,区分当前视野与 Memory 历史状态,并用 Game.getObjectById()、lastSeenAt 和 Observer 的下一 tick 时序安全恢复远程房间任务。
WRITING
汇总全部公开内容,包括 12 篇连续的新手路线与 68 篇基础工程、运行诊断和进阶专题文章。
解释 Game.rooms[roomName] 为什么会是 undefined,区分当前视野与 Memory 历史状态,并用 Game.getObjectById()、lastSeenAt 和 Observer 的下一 tick 时序安全恢复远程房间任务。
比较getRangeTo、inRangeTo、isNearTo、isEqualTo、findClosestByRange和findClosestByPath,区分线性距离与真实可达路径。
用RoomVisual绘制Creep状态、目标连线和任务标记,控制可视化开关、对象数量与数据大小,并区分画面提示和真实行为结果。
比较findClosestByPath与findClosestByRange,从FIND_SOURCES_ACTIVE选择可达Source,保存目标ID,并处理无视野、能量恢复和多Creep竞争。
当房间没有采集者时,统一选择一座可用Spawn,计算最小身体、检查当前Energy和dryRun结果,并避免多Spawn重复生成。
用一次性确认任务让指定Creep移动到己方Spawn旁边,检查名称、所有权、相邻距离和recycleCreep返回值,并说明资源返还边界。