本文代码出自GTIHUB项目https://github.com/soulteary/trex-runner-bot/tree/master/src
很多应该都知道,Chrome浏览器在没有链接互联网的情况下报错界面会有一只小恐龙,没错!其实他还是个小游戏。。。只需要你长按空格!
如果你的电脑联网了,but,你可以按照下图设置,即可看到断网情况下的页面,你也可以直接访问 chrome://dino/
↑ ↓
控制跳跃和趴下
重所周知~,在游戏中取得令人叹为观止的高分,一般来说无非三种手段:
- 练习:勤学苦练,熟能生巧,加上极致的耐心。
- 工具:使用一些辅助设施来模拟人的操作。
- 外挂:针对难度或者得分倍数进行改造或者直接对结果进行修改、甚至破坏游戏规则。
第一种。。大家都那么忙,开挂一时爽,一直开挂一直爽,所以我们直接讲讲2、3如何实现
第二种
function TrexRunnerBot() {
const makeKeyArgs = (keyCode) => {
const preventDefault = () => void 0;
return {keyCode, preventDefault};
};
const upKeyArgs = makeKeyArgs(38);
const downKeyArgs = makeKeyArgs(40);
const startArgs = makeKeyArgs(32);
if (!Runner().playing) {
Runner().onKeyDown(startArgs);
setTimeout(() => {
Runner().onKeyUp(startArgs);
}, 500);
}
function conquerTheGame() {
if (!Runner || !Runner().horizon.obstacles[0]) return;
const obstacle = Runner().horizon.obstacles[0];
if (obstacle.typeConfig && obstacle.typeConfig.type === 'SNACK') return;
if (needsToTackle(obstacle) && closeEnoughToTackle(obstacle)) tackle(obstacle);
}
function needsToTackle(obstacle) {
return obstacle.yPos !== 50;
}
function closeEnoughToTackle(obstacle) {
return obstacle.xPos <= Runner().currentSpeed * 18;
}
function tackle(obstacle) {
if (isDuckable(obstacle)) {
duck();
} else {
jumpOver(obstacle);
}
}
function isDuckable(obstacle) {
return obstacle.yPos === 50;
}
function duck() {
Runner().onKeyDown(downKeyArgs);
setTimeout(() => {
Runner().onKeyUp(downKeyArgs);
}, 500);
}
function jumpOver(obstacle) {
if (isNextObstacleCloseTo(obstacle))
jumpFast();
else
Runner().onKeyDown(upKeyArgs);
}
function isNextObstacleCloseTo(currentObstacle) {
const nextObstacle = Runner().horizon.obstacles[1];
return nextObstacle && nextObstacle.xPos - currentObstacle.xPos <= Runner().currentSpeed * 42;
}
function jumpFast() {
Runner().onKeyDown(upKeyArgs);
Runner().onKeyUp(upKeyArgs);
}
return {conquerTheGame: conquerTheGame};
}
let bot = TrexRunnerBot();
let botInterval = setInterval(bot.conquerTheGame, 2);
将上面的代码贴到浏览器的控制台中,即可完成小恐龙自动奔跑的神操作。
第三种:
Runner.instance_.setSpeed(9999);
window.tempGameOver = Runner.instance_.gameOver;
Runner.instance_.gameOver = function(){}
当然速度参数你可以自己设置,这段代码可以得到一只拥有穿越障碍物能力的小恐龙:勇往无前,永不停歇,分数不停的增长,直到报错。
Leave a Reply