2034 Letture
Chrome Dino, il gioco integrato nel browser può essere d'insegnamento

Chrome Dino, il gioco integrato nel browser può essere d'insegnamento

Un aspetto curioso legato al funzionamento di Dino, il gioco integrato in Chrome che viene proposto quando la connessione Internet non è disponibile.

Avete presente il messaggio d'errore che compare in Chrome quando si prova a visitare un sito web e la connessione Internet non è disponibile? Si otterrà qualcosa di molto simile a quanto rappresentato in figura.

Chrome Dino, il gioco integrato nel browser può essere d'insegnamento

Ma avete mai provato a verificare cosa succede premendo la barra spaziatrice sulla tastiera alla comparsa di tale messaggio? Si accederà a "Dino Game", una sorta di videogioco arcade "vecchia scuola" che permetterà di misurare le proprie abilità nell'evitare una serie di ostacoli che il dinosauro incontra lungo il suo cammino.

Chrome Dino, il gioco integrato nel browser può essere d'insegnamento

Gli sviluppatori di Google Chrome hanno aggiunto "Dino Game" al browser semplicemente per intrattenere l'utente nel momento in cui la connessione di rete dovesse venire meno per un breve periodo: Connessione Internet in treno: perché funziona male. Come lavorare.


Avete presente però quei videogiochi online in cui si trovano record incredibili ottenuti da parte degli utenti? Com'è possibile che qualcuno sia stato così abile?
Diciamo subito che la gran parte di tali inarrivabili record sono fasulli, creati ad arte.
Il comportamento di videogiochi come "Dino Game" basati su JavaScript è infatti facilmente alterabile. JavaScript ha infatti la prerogativa di essere un linguaggio interpretato e non compilato: il codice viene caricato ed eseguito in locale da parte del browser installato sul sistema dell'utente; quindi, è facilmente modificabile.

Provate innanzi tutto a digitare chrome://dino nella barra degli indirizzi di Chrome: verrà mostrato l'errore Nessuna connessione a Internet (senza la necessità di andare offline per visualizzarlo).


Premendo il tasto F12 si accederà agli Strumenti per gli sviluppatori di Chrome.
Studiando il codice Javascript di Dino su Chrome (mettendo appositi breakpoint, come spiegato nell'articolo Modificare pagina web dal browser con Ispeziona elemento), ci si accorgerà che il videogioco richiama sempre la funzione Runner.prototype.gameOver nel momento in cui il dinosauro va a cozzare contro un ostacolo.

Cliccando sulla scheda Console e digitando quanto segue, si creerà un backup del codice contenuto nella funzione citata memorizzandolo nella variabile backup, contestualmente creata:
var backup = Runner.prototype.gameOver

Dopo aver premuto il tasto Invio, scrivendo quanto segue, si eliminerà tutto il codice contenuto nella funzione annullando le conseguenze derivanti dagli scontri con gli ostacoli:
Runner.prototype.gameOver = function (){}

Facendo partire il gioco, il dinosauro diverrà "immortale" e non succederà più nulla a seguito degli urti con i cactus e con le altre insidie disseminate sul tragitto.

Per interrompere il gioco, basterà digitare nella Console quanto segue in modo da ripristinare il codice originale della funzione, precedentemente salvato nella variabile backup:
Runner.prototype.gameOver = backup

Chrome Dino, il gioco integrato nel browser può essere d'insegnamento

Un gruppo di sviluppatori ha addirittura riutilizzato il codice JavaScript alla base del gioco per realizzare il fork battezzato Dino Swords.

Chrome Dino, il gioco integrato nel browser può essere d'insegnamento