检查→重建→更改

重建恐龙的速度规则。

要复现游戏的加速效果,先找到控制速度的规则。REA 返回了正在运行的脚本;我们用它的规则做了这个速度可调的小游戏。

游玩并调整速度

点击「开始」,然后跳过仙人掌。拖动速度滑块可以试玩更慢或更快的游戏;也可以切换为固定速度。选择还原后的规则,从 6 开始再次逐步加速。

试玩重建版

6 → 10 → 13

原始规则:从6开始,然后向13增加。

移动滑块设置速度。按空格键或点「跳跃」即可越过仙人掌。

阅读 REA 返回的脚本

我们用 REA 检查了 wayou 基于 Chromium 的浏览器版本。它返回了已加载的 index.js,其中包含游戏更新函数里的这个分支:

REA · 选定脚本源
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}

设置为 SPEED: 6、ACCELERATION: 0.001 和 MAX_SPEED: 13。在没有发生碰撞的那次更新中,游戏会执行这个分支。

在新游戏中使用相同的规则

还原结果 · dino-speed.js
function advanceSpeed(speed) {
  return speed < 13 ? speed + 0.001 : speed;
}

这个迷你游戏用这个函数实现自动加速。拖动滑块则改为固定速度。绘图、跳跃物理和矩形碰撞检测是这个教学游戏中新写的代码;它的模拟以每秒 60 次更新的速度推进。

下载速度规则 · 阅读游戏代码

检查重建

我们在禁用障碍物和自动调度的情况下调用了原游戏的更新函数。把这些记录下来的速度与重放还原出的规则所得的结果做个比较。

更新次数 原版游戏 重建规则
0 6.000 6.000
1,000 7.000 7.000
4,000 10.000 10.000
10,000 13.001 13.001

数值保留三位小数。该分支在加法前先做判断,因此最终的增量可能让速度略高于 13。

自己试试分析

  1. 配置 REA,配合你的编程助手使用。
  2. 跟随 浏览器连接步骤,使用 https://wayou.github.io/t-rex-runner/ 作为页面URL。
  3. 为你的编程助手提供页面URL和本地调试端点,然后复制此提示。
你的编程助手

使用REA检查这个恐龙游戏。 为什么它变得更快? 显示速度规则,然后构建一个可调节速度的小版本。

要求跟进: "跳跃高度在哪里计算? 在新版本中添加跳高控件。”

资料来源: 检查速度代码,Chromium作者。 版权及BSD许可证. REA4.1.0检查了Chrome150中运行的HTTP版本。

顶部