Як зламати приховану гру динозавра Google Chrome

Більшість з нас стикалися з неприємним повідомленням “Немає з’єднання з Інтернетом” у Google Chrome. Але чи знали ви, що цей екран можна перетворити на захоплюючу гру, де динозавр безкінечно бігає, і навіть більше – можна зробити його невразливим? Розглянемо, як це зробити.

Як запустити приховану гру про динозавра в Google Chrome

Якщо ваш комп’ютер не має підключення до мережі, ви можете легко запустити гру. Просто введіть будь-яку URL-адресу в адресний рядок браузера, і ви потрапите на потрібну сторінку.

Якщо ви все ж підключені до Інтернету, але хочете пограти, введіть у адресний рядок chrome://dino і ви одразу опинитеся на сторінці з динозавром.

Щоб розпочати гру, натисніть пробіл. Ваш динозавр почне бігти, а ваша мета – ухилятися від кактусів і птахів. Якщо динозавр зіткнеться з перешкодою, гра закінчиться.

Це чудова можливість зайняти себе на деякий час і спробувати побити власний рекорд. З кожним разом гра стає складнішою. Цікаво, який же рекорд був встановлений чесним шляхом? Це підводить нас до наступного кроку.

Як зробити динозавра непереможним в грі Google Chrome

Цей трюк дозволить вашому динозавру стати невразливим, а ви зможете грати без страху програти.

Щоб зламати гру, перейдіть на сторінку з динозавром, ввівши chrome://dino у адресному рядку. Потім клацніть правою кнопкою миші будь-де на сторінці та виберіть “Перевірити” (або “Inspect”) у меню, яке з’явиться.

Відкриються інструменти розробника Chrome. У панелі DevTools оберіть вкладку “Консоль”.

Також можна скористатися клавіатурним скороченням Ctrl+Shift+I, щоб одразу потрапити на вкладку “Консоль” у Chrome DevTools.

У консолі вставте наступну команду та натисніть Enter:

var original = Runner.prototype.gameOver

На перший погляд, нічого не сталося, але ми пояснимо, навіщо це потрібно.

Тепер введіть цю команду:

Runner.prototype.gameOver = function (){}

Після натискання Enter ви побачите f (){}.

Ось що відбувається. Коли гра завершується (тобто, коли динозавр врізається в перешкоду), викликається функція Runner.prototype.gameOver(), яка відповідає за зупинку гри, відтворення звуку та показ повідомлення “Гра закінчена”.

Наш код замінює цю функцію на порожню, тобто нічого не відбувається при зіткненні. Динозавр просто продовжує бігти.

Перевірте це самі. Закрийте DevTools і натисніть пробіл, щоб розпочати гру.

Як бачите, динозавр невразливий до кактусів та птахів. Місію виконано.

Припустимо, ви грали 25 хвилин і хочете зупинити гру, щоб зберегти свій рекорд. Вам потрібно повернути функціонал завершення гри, який ви відключили.

Саме для цього потрібен був перший код, який зберігав оригінальну функцію gameOver у змінній original. Тепер ви можете ввести таку команду:

Runner.prototype.gameOver = original

Якщо вам цікаво, ви можете перевірити, що саме відбувається під час виклику звичайної функції gameOver.