dino / script.js
shoaibrza9999's picture
Upload folder using huggingface_hub
ebbfb81 verified
Raw
History Blame Contribute Delete
1.72 kB
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);
});