---
title: Chrome恐龙游戏：重建其速度规则-REA
url: https://rea.tools/zh-CN/examples/dino-lab/
---

[首页](https://rea.tools/zh-CN/)/恐龙速度实验室

检查→重建→更改

# 重建恐龙的速度规则。

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

## 游玩并调整速度

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

试玩重建版

速度 6.0
 使用恢复的加速规则

原始规则：从6开始，然后向13增加。

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



启用 JavaScript 即可游玩重建版。上方的代码和说明仍可阅读。

## 阅读 REA 返回的脚本

我们用 REA 检查了 [wayou 基于 Chromium 的浏览器版本](https://wayou.github.io/t-rex-runner/)。它返回了已加载的 `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 次更新的速度推进。

[下载速度规则](https://rea.tools/assets/dino-speed.js) · [阅读游戏代码](https://rea.tools/assets/dino-demo.js)

## 检查重建

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

| 更新次数 | 原版游戏 | 重建规则 |
| --- | --- | --- |
| 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](https://rea.tools/get-started/)，配合你的编程助手使用。
2. 跟随 [浏览器连接步骤](https://rea.tools/zh-CN/guides/browser/#prepare)，使用 `https://wayou.github.io/t-rex-runner/` 作为页面URL。
3. 为你的编程助手提供页面URL和本地调试端点，然后复制此提示。

你的编程助手

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

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

资料来源: [检查速度代码](https://github.com/wayou/t-rex-runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571)，Chromium作者。 [版权及BSD许可证](https://rea.tools/assets/licenses/dinosaur.txt). REA4.1.0检查了Chrome150中运行的HTTP版本。
