TETRIS2000/consts.py

107 lines
3.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
from qt5 import QtGui
# Paths
PATH = os.path.dirname(os.path.abspath(__file__))
ICON_PATH = os.path.join(PATH, "icons", "icon.ico")
BG_IMAGE_DIR = os.path.join(PATH, "backgrounds")
START_BG_IMAGE_NAME = "01-spacefield_a-000.png"
MUSICS_DIR = os.path.join(PATH, "musics")
SFX_DIR = os.path.join(PATH, "sfx")
LINE_CLEAR_SFX_PATH = os.path.join(SFX_DIR, "line_clear.wav")
TETRIS_SFX_PATH = os.path.join(SFX_DIR, "tetris.wav")
ROTATE_SFX_PATH = os.path.join(SFX_DIR, "rotate.wav")
HARD_DROP_SFX_PATH = os.path.join(SFX_DIR, "hard_drop.wav")
WALL_SFX_PATH = os.path.join(SFX_DIR, "wall.wav")
LOCALE_PATH = os.path.join(PATH, "locale")
FONTS_DIR = os.path.join(PATH, "fonts")
STATS_FONT_PATH = os.path.join(FONTS_DIR, "PixelCaps!.otf")
STATS_FONT_NAME = "PixelCaps!"
MATRIX_FONT_PATH = os.path.join(FONTS_DIR, "maass slicer Italic.ttf")
MATRIX_FONT_NAME = "Maassslicer"
SPLASH_SCREEN_PATH = os.path.join(PATH, "icons", "splash_screen.png")
# Coordinates and direction
L, R, U, D = -1, 1, -1, 1 # Left, Right, Up, Down
CLOCKWISE, COUNTERCLOCKWISE = 1, -1
# Delays in milliseconds
ANIMATION_DELAY = 67
INITIAL_SPEED = 1000
ENTRY_DELAY = 80
LINE_CLEAR_DELAY = 80
LOCK_DELAY = 500
TEMPORARY_TEXT_DURATION = 1000
# Block Colors
BLOCK_BORDER_COLOR = QtGui.QColor(0, 159, 218, 255)
BLOCK_FILL_COLOR = QtGui.QColor(0, 159, 218, 25)
BLOCK_GLOWING_BORDER_COLOR = None
BLOCK_GLOWING_FILL_COLOR = QtGui.QColor(186, 211, 255, 70)
BLOCK_LIGHT_COLOR = QtGui.QColor(242, 255, 255, 40)
BLOCK_TRANSPARENT = QtGui.QColor(255, 255, 255, 0)
BLOCK_GLOWING = 0
BLOCK_INITIAL_SIDE = 20
GHOST_BLOCK_BORDER_COLOR = QtGui.QColor(135, 213, 255, 255)
GHOST_BLOCK_FILL_COLOR = None
GHOST_BLOCK_GLOWING_FILL_COLOR = QtGui.QColor(201, 149, 205, 255)
GHOST_BLOCK_GLOWING = 1
# Grid
GRID_INVISIBLE_ROWS = 3
GRID_DEFAULT_ROWS = 4
GRID_DEFAULT_COLUMNS = 6
GRID_GRIDLINE_COLOR = QtGui.QColor(255, 255, 255, 60)
GRID_HARD_DROP_MOVEMENT = 0.2
GRID_SPOTLIGHT = 0, 0
# Matrix
MATRIX_ROWS = 20
MATRIX_COLUMNS = 10
MATRIX_TEXT_COLOR = QtGui.QColor(204, 255, 255, 128)
# Next Queue
NEXT_QUEUE_ROWS = 16
NEXT_QUEUE_COLUMNS = 6
# Stats frame
STATS_ROWS = 15
STATS_COLUMNS = 6
STATS_TEXT_COLOR = QtGui.QColor(0, 159, 218, 128)
SCORES = (
{"name": "", "": 0, "Mini T-Spin": 1, "T-Spin": 4},
{"name": "Single", "": 1, "Mini T-Spin": 2, "T-Spin": 8},
{"name": "Double", "": 3, "T-Spin": 12},
{"name": "Triple", "": 5, "T-Spin": 16},
{"name": "Tetris", "": 8},
)
# Default settings
DEFAULT_WINDOW_SIZE = 839, 807
# Key mapping
DEFAULT_MOVE_LEFT_KEY = "Left"
DEFAULT_MOVE_RIGHT_KEY = "Right"
DEFAULT_ROTATE_CLOCKWISE_KEY = "Up"
DEFAULT_ROTATE_COUNTERCLOCKWISE_KEY = "Control"
DEFAULT_SOFT_DROP_KEY = "Down"
DEFAULT_HARD_DROP_KEY = "Space"
DEFAULT_HOLD_KEY = "Shift"
DEFAULT_PAUSE_KEY = "Escape"
# Delays in milliseconds
DEFAULT_AUTO_SHIFT_DELAY = 170
DEFAULT_AUTO_REPEAT_RATE = 20
# Volume in percent
DEFAUT_MUSIC_VOLUME = 25
DEFAULT_SFX_VOLUME = 50
# Other
DEFAULT_SHOW_GHOST = True
DEFAULT_SHOW_NEXT_QUEUE = True
DEFAULT_HOLD_ENABLED = True