128
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Chrome】"恐竜ゲーム"チート集🦖🌵

Last updated at Posted at 2022-07-06

TL;DR

一例として、Lonely T-Rexくんがレーザーを撃てるようになります。下のgif画像はちょっとコマ落ちしてるのでレーザーが見えづらいですが
laser.cut.gif

はじめに

ウェブブラウザ Google Chrome には恐竜ゲームと呼ばれるイースターエッグが存在します。インターネット接続がないときのエラー画面でスペースキーを押して横スクロールアクションゲームを楽しむことができます。こんな感じでジャンプしたりしゃがんだりしながらなるべく遠くまで走って行くゲームです。
network_error.cut.gif
また、アドレスバーに chrome://dino/ と入力することでオンライン状態でもゲームを遊ぶことができます。
image.png
それではチートを使っていきましょう。F12キーで開発者ツールを開き、以下に掲載しているコードを入力してみてください。

走行速度を変更する

Runner.instance_.setSpeed(XXX) // default: 6

XXXには好きな数値を入れてください。

  • 速度20
    velocity20.cut.gif

ちなみに速度をマイナスにすると後ろに走って行きます。

ジャンプ速度を変更する

Runner.instance_.tRex.setJumpVelocity(XXX) // default: 12
  • 速度20
    jumpv20.cut.gif

重力を変更する

Runner.instance_.tRex.config.GRAVITY = XXX // default: 0.6
  • 重力0.2
    g02.cut.gif

ティラノを浮かす

Runner.instance_.tRex.groundYPos = XXX // default: 93 (15以下に設定すると何にもぶつからなくなる)

gypos15.cut.gif

不死身化

Runner.prototype.gameOver = () => {}

invincible.cut.gif

全自動化 by BetaHuhn@codepen

/**
 * SOURCE: https://codepen.io/BetaHuhn/pen/ZEQgrjq
 * ORIGINALLY CREATED BY BetaHuhn
 */

function autoPlayLoop() {
    const instance = window.Runner.instance_;
    const tRex = instance.tRex;
    const currentSpeed = instance.currentSpeed;
    const jumpSpeed = 50;
    const jumpThreshold = 50 + currentSpeed * currentSpeed;

    if (tRex.jumping) {
        requestAnimationFrame(autoPlayLoop);
        return;
    }

    const tRexPos = tRex.xPos;
    const obstacles = instance.horizon.obstacles;
    const nextObstacle = obstacles.find((o) => o.xPos > tRexPos);

    if (nextObstacle && nextObstacle.xPos - tRexPos <= jumpThreshold) /* 障害物が十分近づいてきたら */ {
        if (nextObstacle.typeConfig.type === 'PTERODACTYL') {
            if (nextObstacle.yPos === 75 && !tRex.ducking) /* しゃがんでよけるタイプの鳥の場合 */ {
                tRex.setDuck(true);
            } else if (nextObstacle.yPos === 100) /* 低空飛行タイプの鳥の場合 */ {
                tRex.startJump(jumpSpeed);
            }
        } else /* サボテンの場合 */ {
            tRex.startJump(jumpSpeed);
        }
    } else if (tRex.ducking && obstacles[0].xPos - tRexPos < -40) {
        /* 鳥が過ぎ去ったらしゃがみ解除 */
        tRex.setDuck(false);
    }

    requestAnimationFrame(autoPlayLoop);
};

requestAnimationFrame(autoPlayLoop);

auto.cut.compressed.compressed.compressed.gif
ソースコード中にチラッと出てきてますが、この鳥↓はプテロダクティルスだったんですね。
image.png

レーザーを撃てるようにする by yaakovm@github

/**
 * ORIGINAL SOURCE: https://gist.github.com/JARVIS-AI/cfb916c7dc3bea73abf0edac42749ea8?permalink_comment_id=4187133#gistcomment-4187133
 * ORIGINALLY CREATED BY yaakovm
 */

// Dキーが押されたらレーザー射出
window.addEventListener(
    "keydown",
    event => { if (event.code == "KeyD") drawline() }
);

originalClearCanvas = Runner.instance_.clearCanvas;

function drawline() {
    if (Runner.instance_.horizon.obstacles.length > 0) {
        // 勝手に再描画されないようにする
        Runner.instance_.clearCanvas = () => {};

        // レーザーの描画
        Runner.instance_.canvasCtx.beginPath();
        Runner.instance_.canvasCtx.moveTo(Runner.instance_.tRex.xPos + 23, Runner.instance_.tRex.yPos + 20);
        Runner.instance_.canvasCtx.lineTo(Runner.instance_.horizon.obstacles[0].xPos + 10, Runner.instance_.horizon.obstacles[0].yPos + 10);
        Runner.instance_.canvasCtx.stroke();
        
        // 15ミリ秒だけレーザーを表示したら再描画する
        setTimeout(() => Runner.instance_.clearCanvas = originalClearCanvas, 15);

        // レーザーの当たった物体を消去
        Runner.instance_.horizon.removeFirstObstacle();
    }
}

laser.cut.gif

おわりに

新しいチートのアイデア募集中です。🌵₍₍⁽⁽🦖₎₎⁾⁾🌵

128
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
128
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?