| |
| export const GAME_WIDTH = 256; |
| export const GAME_HEIGHT = 224; |
| export const BORDER_OFFSET = 21; |
|
|
| |
| export const BITMAP_FONT_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; |
|
|
| |
| export const BLOCK_SIZE = 8; |
| export const GRID_WIDTH = 10; |
| export const GRID_HEIGHT = 20; |
| export const PLAY_AREA_WIDTH = GRID_WIDTH * BLOCK_SIZE; |
| export const PLAY_AREA_HEIGHT = GRID_HEIGHT * BLOCK_SIZE; |
| export const PLAY_AREA_X = 80 + BORDER_OFFSET; |
| export const PLAY_AREA_Y = 28; |
|
|
| |
| export const LINES_PER_LEVEL = 2; |
| export const MAX_LEVEL = 10; |
|
|
| |
| export const TETROMINOES = { |
| I: { |
| shape: [[1, 1, 1, 1]], |
| color: 0, |
| name: 'I' |
| }, |
| O: { |
| shape: [ |
| [1, 1], |
| [1, 1] |
| ], |
| color: 1, |
| name: 'O' |
| }, |
| T: { |
| shape: [ |
| [0, 1, 0], |
| [1, 1, 1] |
| ], |
| color: 2, |
| name: 'T' |
| }, |
| S: { |
| shape: [ |
| [0, 1, 1], |
| [1, 1, 0] |
| ], |
| color: 3, |
| name: 'S' |
| }, |
| Z: { |
| shape: [ |
| [1, 1, 0], |
| [0, 1, 1] |
| ], |
| color: 4, |
| name: 'Z' |
| }, |
| J: { |
| shape: [ |
| [1, 0, 0], |
| [1, 1, 1] |
| ], |
| color: 5, |
| name: 'J' |
| }, |
| L: { |
| shape: [ |
| [0, 0, 1], |
| [1, 1, 1] |
| ], |
| color: 6, |
| name: 'L' |
| } |
| }; |
|
|
| |
| export const ADVANCED_TETROMINOES = { |
| ...TETROMINOES, |
| |
| SMALL_L: { |
| shape: [ |
| [1, 1], |
| [1, 0] |
| ], |
| color: 0, |
| name: 'SMALL_L' |
| }, |
| |
| SMALL_L_MIRROR: { |
| shape: [ |
| [1, 1], |
| [0, 1] |
| ], |
| color: 1, |
| name: 'SMALL_L_MIRROR' |
| }, |
| |
| U: { |
| shape: [ |
| [1, 0, 1], |
| [1, 1, 1] |
| ], |
| color: 2, |
| name: 'U' |
| }, |
| |
| S_ADVANCED: { |
| shape: [ |
| [0, 1, 1], |
| [1, 1, 0] |
| ], |
| color: 3, |
| name: 'S_ADVANCED' |
| }, |
| |
| BLOCK_PLUS: { |
| shape: [ |
| [1, 1, 1], |
| [1, 1, 0] |
| ], |
| color: 4, |
| name: 'BLOCK_PLUS' |
| }, |
| |
| T_EXTENDED: { |
| shape: [ |
| [0, 1, 0], |
| [0, 1, 1], |
| [0, 1, 0] |
| ], |
| color: 5, |
| name: 'T_EXTENDED' |
| } |
| }; |
|
|
| |
| export const SCORES = { |
| SINGLE: 40, |
| DOUBLE: 100, |
| TRIPLE: 300, |
| TETRIS: 1200, |
| SOFT_DROP: 1, |
| PERFECT_CLEAR: 10000 |
| }; |
|
|
| |
| |
| export const LEVEL_SPEEDS = [ |
| 90, |
| 80, |
| 70, |
| 60, |
| 50, |
| 35, |
| 25, |
| 18, |
| 12, |
| 6 |
| ]; |
|
|
| |
| export const LEVEL_TITLES = { |
| 1: 'Low Earth Orbit', |
| 2: 'Moon Surface', |
| 3: 'Mars Horizon', |
| 4: 'Asteroid Belt', |
| 5: 'Jupiter Storms', |
| 6: 'Deep Space Station', |
| 7: 'Nebula Expanse', |
| 8: 'Binary Star System', |
| 9: 'Alien Megastructure', |
| 10: 'Edge of the Universe' |
| }; |
|
|
| |
| export const UI = { |
| |
| PANEL_X: PLAY_AREA_X + PLAY_AREA_WIDTH + 16, |
| PANEL_Y: PLAY_AREA_Y, |
| PANEL_WIDTH: 64, |
| PANEL_HEIGHT: PLAY_AREA_HEIGHT, |
| PADDING: 6, |
| LINE_HEIGHT: 20 |
| }; |
|
|
|
|