Refactored file structure and removed unnecessary code
This commit is contained in:
70
js/game-info.js
Normal file
70
js/game-info.js
Normal file
@@ -0,0 +1,70 @@
|
||||
class GameInfo {
|
||||
constructor(game) {
|
||||
this.fieldSize = {x: 12, y: 20};
|
||||
this.arena = new Arena(this, game);
|
||||
|
||||
this.player = new Player(this, game);
|
||||
|
||||
this.canvas = document.getElementById('tetris');
|
||||
this.context = this.canvas.getContext('2d');
|
||||
|
||||
this.canvasBg = document.getElementById('tetris-background');
|
||||
this.contextBg = this.canvasBg.getContext('2d');
|
||||
|
||||
this.canvasHold = document.getElementById('tetris-hold');
|
||||
this.contextHold = this.canvasHold.getContext('2d');
|
||||
|
||||
this.canvasUpcoming = document.getElementById('tetris-upcoming');
|
||||
this.contextUpcoming = this.canvasUpcoming.getContext('2d');
|
||||
|
||||
this.isPaused = true;
|
||||
|
||||
this.dropCounter = 0;
|
||||
this.dropInterval = 1000;
|
||||
|
||||
this.keys = {
|
||||
down: {
|
||||
keys: [40, 83],
|
||||
action: () => this.player.drop()
|
||||
},
|
||||
left: {
|
||||
keys: [37, 65],
|
||||
action: () => this.player.move(-1)
|
||||
},
|
||||
right: {
|
||||
keys: [39, 68],
|
||||
action: () => this.player.move(1)
|
||||
},
|
||||
rotateLeft: {
|
||||
keys: [81],
|
||||
action: () => this.player.rotate(-1)
|
||||
},
|
||||
rotateRight: {
|
||||
keys: [69],
|
||||
action: () => this.player.rotate(1)
|
||||
},
|
||||
holdTile: {
|
||||
keys: [38, 87],
|
||||
action: () => this.player.hold()
|
||||
}
|
||||
};
|
||||
|
||||
this.prevUpdateScore = 0;
|
||||
|
||||
this.lastScore = 0;
|
||||
this.lastTime = 0;
|
||||
this.lastTimeUpdate = Date.now();
|
||||
|
||||
this.startTime = 0;
|
||||
|
||||
this.upcomingTiles = [];
|
||||
|
||||
/*
|
||||
default -> plain squares
|
||||
retro -> original look
|
||||
modern -> rounded corners
|
||||
snake -> all tiles are connected
|
||||
*/
|
||||
this.theme = 'default';
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user