Chrome⼩恐龙前端修改代码代码总结
Chrome⼩恐龙前端修改代码代码总结
偶然间发现⾕歌浏览器的离线⼩恐龙游戏,上⽹查的攻略总结。
Chrome⼩恐龙是什么?
在Chrome(⾕歌浏览器)断⽹之后访问在线页⾯,如a会出现以下界⾯,叫做Chrome⼩恐龙游戏.这是⼀个隐藏的彩蛋。
除了断⽹以外,直接在Chrome⾥访问⽹站chrome://dino/也可以看到的。
这时按空格就可以开始游戏了。
怎么控制游戏?
按键名称⽤途
UpKey箭头上跳跃
DownKey箭头下下蹲/快速降落
Space空格开始游戏/重新开始游戏/跳跃
修改代码使⽤说明
提供的以下所有修改代码都可以这样使⽤!
第⼀步打开Chrome浏览器打开这个⽹站
第⼆步按F12调出开发者⼯具
第三步点击下⾯图中的Console
第四步然后会弹出这个界⾯
第五步然后复制代码(这⾥选⽤下⾯的修改代码1中的压缩代码即可
第六步然后按⼀下回车,就可以运⾏代码了。
修改代码1 (复制压缩版即可)
将下⾯的代码贴到控制台(console)中,即可完成⼩恐龙⾃动奔跑的神操作。
原版代码:
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 (peConfig && pe === '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 = querTheGame, 2);
压缩版代码:
function TrexRunnerBot(){function f(){Runner().onKeyDown(d);setTimeout(function(){Runner().onKeyUp(d)},500)}var b=function(a){return{keyCode:a,preventDefault:function(){}}},c=b(38),d=b(40),e=b(32);Runner().playing||(Runner().onKeyDown(e),set 原理:检测物体,⾃动按键模拟。这⾥还为了观看做了⼀点优化。
修改代码2
将下⾯的代码贴到控制台中,即可⽆视任何伤害。(同理操作即可)
Runner.instance_.gameOver=function(){}
原理:把gameOver函数置空。(好简单emmm)
修改代码3:(复制压缩版即可)
*积分提升速度修改为1000倍…(数值可以⾃⼰定义 1000)
原版代码:
let hackScore = 0;
Object.defineProperty(Runner.instance_, 'distanceRan', {
get: () => hackScore,
set: (value) => hackScore = value + Math.floor(Math.random() * 1000),
configurable: true,
enumerable: true,
});
压缩版代码:
var hackScore=0;Object.defineProperty(Runner.instance_,"distanceRan",{get:function(){return hackScore},set:function(a){return hackScore=a+Math.floor(1E3*Math.random())},configurable:!0,enumerable:!0});
原理:
借助Object.defineProperty(),我们能够轻易的修改现有对象上的属性,配合重新定义对象具体内容的getter、setter描述符,可以做到对于属性的劫持操作。
修改代码4
刷分BUG,输进控制台按回车后再开始游戏即可
Runner.instance_.setSpeed(99999);
恢复正常请输⼊:
Runner.instance_.setSpeed(10);
倒退模式(没有什么⽤)请输⼊:
Runner.instance_.setSpeed(-10);
最后特别提⽰:
这些代码可以叠加使⽤。
在输⼊完⼀个代码后按回车,然后输⼊另⼀个代码再按回车即可实现叠加。
总结
游戏还得⾃⼰慢慢玩才有意思,当修改之后,这个游戏就失去原有的味道了…..
总之,想有意思地玩的话,建议还是不修改以上代码,⾃⼰慢慢地好好玩,靠⾃⼰玩得的分数才有意义。
以上修改相关代码,仅供参考。最后,祝⼤家愉快。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论