Volete un ottimo esempio delle potenzialità dell’HTML5? A questo indirizzo trovate un completo gioco degli scacchi realizzando con tale tecnologia. La vista è selezionabile tra 2D e 3D e in quest’ultima modalità si può anche ingrandire lo schermo utilizzando i tasti “+” e “-“ del tastierino numerico. Essendo sviluppato in HTML5 il gioco funziona perfettamente anche sull’iPhone, su iPad e altri dispositivi portatili. Il gioco è stato sviluppato da Stefano Gioffré, Jacob Seidelin (vista 3D) e Oscar Toledo (le routine d’intelligenza artificiale). E’ possibile giocare contro avversari umani o contro il computer. E’ anche possibile importare file in notazione PGN (Portable Game Notation), un formato usato in ambito digitale per registrare le partite di scacchi supportato dalla maggior parte dei programmi per giocare a scacchi tramite computer.
// 1. Configura l'URL e l'identificativo esatto per questo articolo
var disqus_config = function () {
this.page.url = window.location.href.split('?')[0]; // Prende l'URL pulito della pagina
this.page.identifier = window.location.pathname; // Usa il percorso come ID univoco
};
document.addEventListener("DOMContentLoaded", function() {
var disqus_shortname = 'macitynet'; // INSERISCI QUI IL TUO SHORTNAME DISQUS
var disqus_loaded = false;
function loadDisqus() {
if (!disqus_loaded) {
disqus_loaded = true;
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.setAttribute('data-timestamp', +new Date()); // Obbligatorio per le nuove policy Disqus
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}
}
// 2. Lazy load: carica quando arrivi al div
var observer = new IntersectionObserver(function(entries) {
if(entries[0].isIntersecting === true) {
loadDisqus();
observer.disconnect();
}
}, { threshold: [0] });
// Se l'elemento esiste, avvia l'osservatore
var thread = document.getElementById("disqus_thread");
if(thread) observer.observe(thread);
});