\閲覧ありがとうございます!当サイトではリンク広告を利用しています/
グーグルChrome収録の恐竜ゲームは、自力でチートが実装できます。ここでは、チートコードと、やり方をまとめました。空中浮遊やレーザー発射、キャラクターをソニックなどに変更することができます。
アドレスバーに「chrome://dino」を打ち込んでゲームを起動したところから解説しています。
恐竜ゲーム3Dの方のチートはこちら↓
さっそく、恐竜ゲームのチートのやり方を解説していきます。この記事では、以下の種類のチートを実装することができます。
これらのチートのいくつかは、以下の動画などでも確認することができます。
まずは見た目はかえないまま、速度などを変更して遊ぶ方法を解説します。具体的な書き込みのやり方もコードとともに図で説明するので、簡単にできます。
まずは定番、空中浮遊を練習がてらやってみましょう。これには以下のコードを使います。
Runner.instance_.tRex.groundYPos = 10
コードの書き込み方は以下の通りです。
恐竜ゲームの起動状態でF12キーで開発者ツールを出し、「console」タブを開きます。
ここのコンソールウィンドウの「>」のしるしの横に上のコードをコピペで入力し、エンターキーを押します。
そしてゲームを開始すると、空中浮遊を始め空をかけだします。一切、障害物にあたりません。
画面の上が0になっているので、数値を小さくするとより高いところを飛べます。
ちなみに、スタートする前にコードを書き込む方法のほかにも書き込む方法はあり、
というやり方でもチートが反映されます。
これは最初の空中浮遊のおまけです。
上のコードを以下のように数値を大きく改変すると、恐竜が地面を潜って移動するようにもできます。
Runner.instance_.tRex.groundYPos = 140
その姿は地底を進む怪獣のようです。
この方法でも、障害物に一切当たらずにゲームをすることができますが、タイミングよく(?)ジャンプするとサボテンにぶつかります。
これもやり方は同じです。コードは以下のようになります。
Runner.instance_.tRex.config.GRAVITY = 0.1
重力をおよそ六分の一にすれば、月面での恐竜ゲームを実現できることになります。
ジャンプすると、以上に滞空時間が長くなり、画面上部に消えます。
これはパラメータの変更とはまた異なり、恐竜を不死身にできるというものです。
ぶつからないので死なないという空中浮遊と違って、こちらの場合は「ぶつかってもすり抜けていくのでゲームオーバーにならない」というものです。
Runner.prototype.gameOver = () => {}
これを実行してみると、図のように、サボテンなどの障害物にぶつかっても、恐竜が前方に描画され、すり抜けていくことがわかります。
この方法で放置しておけば、ハイスコアはどこまでも伸びていきます。
ここからは、やや長めのチートコードを使ってチートをするやり方を解説していきます。やり方自体は全く同じです。
これはボタンでレーザーを発射し、敵を倒してくれるチートコードです。
コード引用:https://gist.github.com/JARVIS-AI/cfb916c7dc3bea73abf0edac42749ea8?permalink_comment_id=3975908#gistcomment-3975908
b = Runner.instance_.clearCanvas;
window.addEventListener("keydown", checkKeyPressed, false); function checkKeyPressed(l) { if (l.keyCode == "68" ) {drawline()}};
function drawline() {
if (Runner.instance_.horizon.obstacles.length>0){
Runner.instance_.clearCanvas=function(){};
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();
setTimeout(function(){Runner.instance_.clearCanvas = b;}, 15);
Runner.instance_.horizon.removeFirstObstacle();}}
コードは長いですが書き込み方は同じです。
ボタンはDキーでレーザーを発射できます。見た目も派手になりますしまったく別のゲームのようになります。
このコードは、オートプレイ、つまり、自動で恐竜がジャンプしたりしゃがんだりすることによって、障害物を避けていくというものです。
コード引用:https://codepen.io/BetaHuhn/pen/ZEQgrjq
const autoPlayLoop=function(){const o=window.Runner.instance_,t=o.tRex,n=o.currentSpeed,e=50+n*n;if(t.jumping)return void requestAnimationFrame(autoPlayLoop);const s=t.xPos,a=o.horizon.obstacles,u=a.find(o=>o.xPos>s);u&&u.xPos-s<=e?'PTERODACTYL'===u.typeConfig.type?75!==u.yPos||t.ducking?100===u.yPos&&t.startJump(50):t.setDuck(!0):t.startJump(50):t.ducking&&a[0].xPos-s<-40&&t.setDuck(!1),requestAnimationFrame(autoPlayLoop)};requestAnimationFrame(autoPlayLoop);
こちらもコンソールにペーストしてエンターを押します。すると、自動で恐竜がジャンプする様子を見ることができます。
勝手に動いている様子はあたかも恐竜が意思を持っているかのようです。
ここからは、コンソールとは異なる部分を変えることでキャラクターの変更やメッセージの変更を行うチートを紹介していきます。
キャラ変更のチートコードでは、ソニックなどに走るキャラクターを変更できます。
書き込み方は、上の方法とは少し違います。
まず、開発者ツールで「Elements」タブに移動します。そして、offline-resources-1xという要素をさがします。
探すには、Elements欄内でCtrl+Fで文字列検索機能を出し、「offline-resources-1x」と打ち込むと早いです。
そのあと、同じ行のsrcの後の部分をダブルクリックします。ここが、イラストを指定している要素です。
この部分はバックスペースキーでクオーテーションの中(青いハイライト部分)を消すことができ、別のリンクをペーストできます。
ここに、例えば同じようなイラスト素材を提供している以下のリンクを貼ると、動くアニメーションの素材が変わるので、キャラクターを変更できるという仕組みです。
https://i.imgur.com/7BuRkS9.png
このリンクが表す素材は以下のようなものです。
ペーストすると図のようになります。
あとは、普通にゲームを開始すると、ソニックが走り出します。
このキャラ変更について英語で検索すると、マリオやバットマンなどのゲームキャラの画像リンクもあります。
キャラクター変更と同じようなやり方として、開始時のメッセージを変更することもできます。
これを行うには、「Elements」のところで、「main-message」という文字列を検索して、該当箇所を探し出します。
そうすると、その近くの要素に、「プレイするにはSpaceキーを押してください」という文章があることがわかります。
ここにある文言をダブルクリックすると、編集が可能な状態(青いハイライトの状態)になります。
あとはここを好みの文章に変えると、メッセージの変更ができます。
日本語での書き込みが可能なので、自由度は高いです。
上で解説したようなチートは、合成して同時に使うこともできます。
例えば、キャラクターをソニックにしたうえで、不死身状態にすることもでき、そうすると、障害物をすり抜けていく無敵状態でゲームを進めることができるようになります。
こうなってくるともはや別ゲームのような感じになりますが、見た目的には面白いです。
他にもいろいろな組み合わせを考えるのもこうしたコーディングの楽しみといえるでしょう。
恐竜ゲームのチートを楽しんだ後にやめたくなったら、どうすればよいかを解説します。
このゲームでのチートの止め方は簡単で、ページの再読み込みをすればよいだけです。
そうすると、いつもの恐竜ゲームに戻ります。
恐竜ゲームがここまで奥が深いものだったとは思いませんでした。自分の環境でブラウザさえあればできるというのが手軽です。