import { Runner } from './resources/dino_game/offline.js'; function enforceLandscape() { const wrapper = document.getElementById('game-wrapper'); if (!wrapper) return; const width = window.innerWidth; const height = window.innerHeight; if (height > width) { // Portrait mode -> force landscape wrapper.style.width = height + 'px'; wrapper.style.height = width + 'px'; wrapper.style.transform = 'translate(-50%, -50%) rotate(90deg)'; } else { // Already landscape wrapper.style.width = width + 'px'; wrapper.style.height = height + 'px'; wrapper.style.transform = 'translate(-50%, -50%) rotate(0deg)'; } } window.addEventListener('resize', enforceLandscape); window.addEventListener('load', () => { enforceLandscape(); const trexGameContainer = document.querySelector('.trex-game'); let runner = new Runner(trexGameContainer); const handleGlobalTap = (e) => { if (runner) { if (runner.crashed) { runner.restart(); e.preventDefault(); } else if (e.type === 'touchstart' || e.type === 'mousedown') { runner.onKeyDown({ keyCode: 32, type: 'keydown', preventDefault: () => {} }); } else if (e.type === 'touchend' || e.type === 'mouseup') { runner.onKeyUp({ keyCode: 32, type: 'keyup', preventDefault: () => {} }); } } }; document.body.addEventListener('touchstart', handleGlobalTap, { passive: false }); document.body.addEventListener('touchend', handleGlobalTap, { passive: false }); document.body.addEventListener('mousedown', handleGlobalTap); document.body.addEventListener('mouseup', handleGlobalTap); });