跳转到内容

Graphwar 杀手

Graphwar 截图或 Agent 状态生成函数,也可以预览已有函数的轨迹。所有计算均在本地完成。

工作流

从路径点生成可复制到 Graphwar 的函数

游戏模式

不同游戏模式的设定会分别保存

设定

输出双绝对值连接函数
算法

当前游戏模式不生效

操作栏

左键点两角落定边界;右键取消已选点

数据来源

截图

可以截屏、上传、拖入或直接 Ctrl / Cmd + V 粘贴截图
上传、拖入或粘贴截图后开始标定

函数

先点出自己的位置,再选择至少一个路径点

寻路

请先载入截图

请先开启“使用 Agent”

寻路设置
寻路算法

表达式语法

类别支持内容
变量xyy'
运算符+-/*^、括号,以及 2x2sin(x) 形式的隐式乘法
函数sqrt()log()ln()abs()sin()(别名 sen())、cos()tan()(别名 tg())、exp()log 以 10 为底,lne 为底
常量epi
兼容行为默认按 Graphwar 原版规则将 y' 视为 y,并跳过未知字符;可在“高级设定”中关闭

使用说明

基本流程

  1. 上传、拖入、粘贴或截取 Graphwar 画面。需要准确数据时,也可以开启“使用 Agent”并读取状态。
  2. 确认坐标边界、士兵和障碍。自动识别不准确时,可手工修正边界和障碍。
  3. 在生成公式模式下,先选择自己的士兵,再添加目标或中间路径点。复制生成的函数到 Graphwar 即可使用。
  4. 在模拟轨迹模式下,选择发射士兵并输入函数。y'' 还需要填写发射角。

工具会为 yy'y'' 分别保存算法设定。默认使用 y 双绝对值、y' 阶跃函数(邪道模式)和 y'' 阶跃函数。

陡峭度用于所有阶跃公式和双绝对值 y'' 的平滑折点脉冲。双绝对值 y'' 始终使用稳定脉冲公式,不使用阶跃算法的“防溢出”开关。

画布工具

  • “吸附士兵”让点选位置吸附到识别出的士兵,并使用真实命中圈。
  • “碰撞检查”用于手工解算和轨迹模拟。路径规划、一键清图和托管模式始终检查碰撞。
  • “路径规划”在点选目标后自动寻找绕障路线。数据不完整时,界面会显示缺少的条件。

路径规划

路径规划从当前路径末端寻找绕障路线,生成函数,并在更新路径前验证完整轨迹。

“一键清图”从当前路径末端开始,寻找 x+ 方向的可用士兵,并尽量规划命中更多目标的路线。

“搜索动画”会显示单目标寻路过程,以及一键清图和托管当前已验证的最佳公式与实际轨迹。中间结果不会显示控制点;搜索完成后,当前控制点才会写入正式路径。手动一键清图可在截图中右键停止并保留当前结果,但不会自动发射;托管通过“托管模式”开关停止。

支持情况

函数算法游戏模式路径规划一键清图路线特点
双绝对值yy'y''支持支持两点直连、平滑折点
阶跃函数yy'y''支持支持直角路线
阶跃函数(邪道)y'y''支持支持横向扫描、纵向瞬移
PCHIPyy'y''支持平滑曲线
Akimayy'y''支持平滑曲线

目标选择

  • 所有结果都会通过完整轨迹验证后再更新路径。
  • 阶跃路径规划优先瞄准命中圈中心;失败后再尝试命中圈 x+ 侧的内边缘。
  • 同一 x 上有多个士兵时,邪道一键清图会按像素 y 从大到小,依次分配从 x-x+ 的命中圈位置。
  • 邪道一键清图沿 x+ 方向依次处理目标。当前目标不可达时,会跳过它并继续尝试后续目标。
  • “删点优化”默认关闭。开启后会尝试删除多余控制点,最终轨迹验证不会省略。

寻路算法

算法特点
惰性可视图默认算法,通常更快、路线更直,但复杂障碍下可能漏掉可行路线
Theta*通常较慢,但更适合复杂障碍
X+ 扫描阶跃 ODE 邪道模式自动使用;沿 x 正方向扫描,并在需要时尝试纵向瞬移

邪道模式

邪道模式用于阶跃 y'y''。普通阶跃路线遇到障碍时,它会尝试生成纵向瞬移项;y'' 会在跳跃后用短刹车脉冲恢复原来的 y'。该模式需要准确的障碍和士兵位置,推荐通过 Agent 读取游戏状态。

托管模式

开启“使用 Agent”并填写有效地址后即可使用托管模式。托管会在房间内自动准备本地玩家,并在己方回合读取状态、计算一键清图和发射。

如果某个游戏模式的算法不支持一键清图,开启托管时会先列出需要调整的设定,并在确认后修改。搜索完成后会短暂显示耗时并立即提交发射,不等待页面渲染。

托管始终在后台保存当前最佳公式。“搜索动画”只控制页面预览,不影响搜索或截止时发射。

回合只剩 3 秒时,托管会发射已经验证的最佳方案;没有可用方案时,会提交跳过回合函数。它不会故意撞击障碍作为兜底,以免改变地图并为对手打开通道。

托管期间请让页面保持在前台,以免浏览器限制后台任务而延迟发射。

如何使用 Graphwar Agent

graphwar-agent.jar 放入游戏目录,然后在该目录运行:

bash
java -javaagent:graphwar-agent.jar -jar graphwar.jar

该命令会同时启动 Graphwar Agent 和游戏。回到工具后开启“使用 Agent”,即可读取状态或开启托管模式。更多信息请查看 Graphwar Agent

代码 MIT · 文稿 CC BY-SA 4.0 + SATA · 版权说明