This repository has been archived on 2026-10-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
tetris/tetris-control.js
T

56 lines
990 B
JavaScript

var game = null;
var wasRecentlyRotated = false;
function doTurn() {
document.onkeypress = onKeyPressed;
document.onkeydown = onKeyDown;
document.onkeyup = onKeyUp;
if (game.doTurn()) {
window.setTimeout(doTurn, 333);
} else {
alert('You lost!');
}
}
function onKeyDown(e) {
var ascii_space = 32;
if (e.keyCode == ascii_space) {
game.hardDrop();
}
}
function onKeyPressed(e) {
if (String.fromCharCode(e.charCode) == 'a') {
game.moveCurrentBrickHorizontally(-1);
return;
}
if (String.fromCharCode(e.charCode) == 'd') {
game.moveCurrentBrickHorizontally(1);
return;
}
if (String.fromCharCode(e.charCode) == 's') {
game.moveCurrentBrickDown();
return;
}
if (String.fromCharCode(e.keyCode) == 'w') {
if (! wasRecentlyRotated) {
game.rotateCurrentBrick();
wasRecentlyRotated = true;
}
return;
}
}
function onKeyUp(e) {
wasRecentlyRotated = false;
}
$(document).ready(function() {
game = new TetrisGame("tetris-board");
doTurn();
});