tetris.settings module

class tetris.settings.Settings

Bases: object

Settings class for the game

BG_COLOR: tuple = (0, 0, 100)
CELL_BORDER_COLOR: tuple = (119, 136, 153)
CHECK_KEYS_PRESSED_MOVEMENT_DOWN_TIME: int = 50
CHECK_KEYS_PRESSED_MOVEMENT_SIDE_TIME: int = 80
CHECK_KEYS_PRESSED_ROTATION_TIME: int = 150
CONTROLS_ONE_KEY_X: float = 650.0
CONTROLS_TEXTS: list[str] = ['move down', 'move left', 'move right', 'hard drop', 'rotate left', 'rotate right']
CONTROLS_TEXTS_X: float = 333.3333333333333
CONTROLS_TEXTS_Y: list[float] = [320.0, 400.0, 480.0, 560.0, 640.0, 720.0]
CONTROLS_TITLE: str = 'CONTROLS'
CONTROLS_TITLE_Y: int = 160
CONTROLS_TWO_KEYS_X: list[float] = [600.0, 700.0]
EMPTY_CELL_TAG: int = 0
END_OF_BTNS_COLOR: tuple = (218, 165, 32)
END_OF_GAME_BTNS_HEIGHT: int = 44
END_OF_GAME_BTNS_WIDTH: int = 125
END_OF_GAME_BTNS_Y: int = 400
END_OF_GAME_MENU_BTN_TEXT: str = 'Menu'
END_OF_GAME_MENU_BTN_X: int = 345
END_OF_GAME_NEXT_BTN_TEXT: str = 'Next'
END_OF_GAME_NEXT_BTN_X: int = 530
FONT_COLOR: tuple = (255, 255, 255)
FONT_NAME: str = 'Tahoma'
FONT_SIZE_CONTROLS: int = 30
FONT_SIZE_CONTROLS_TITLE: int = 40
FONT_SIZE_END_OF_GAME_BTNS: int = 20
FONT_SIZE_GET_USERNAME: int = 23
FONT_SIZE_INFO_TITLES: int = 30
FONT_SIZE_LEADERBOARD: int = 15
FONT_SIZE_LEADERBOARD_HEADER: int = 20
FONT_SIZE_LEADERBOARD_TITLE: int = 40
FONT_SIZE_RULES: int = 30
FONT_SIZE_RULES_TITLE: int = 40
FONT_SIZE_SCORE_LVL: int = 30
FONT_SIZE_TETRIS_TITLE: int = 80
FPS: int = 60
GAME_BORDER_COLOR: tuple = (255, 0, 0)
GAME_WINDOW_HEIGHT: int = 600
GAME_WINDOW_WIDTH: int = 400
GET_USERNAME_INPUT_BOX_HEIGHT: int = 40
GET_USERNAME_INPUT_BOX_WIDTH: int = 250
GET_USERNAME_INPUT_BOX_X: float = 588.2352941176471
GET_USERNAME_INPUT_BOX_Y: float = 392.0
GET_USERNAME_TEXT: str = 'ENTER YOUR USERNAME (ENTER)'
GO_BACK_BTN_X: int = 30
GO_BACK_BTN_Y: int = 40
GO_BACK_ICON_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/arrow_back.png'
GRID_CELL_HEIGHT: int = 30
GRID_CELL_WIDTH: int = 40
GRID_N_OF_COL: int = 10
GRID_N_OF_ROWS: int = 22
HARD_DROP_KEY_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/space_key.png'
HARD_DROP_LOOP_SLEEP_TIME: float = 0.01
I: tuple = (0, 255, 255)
INFO_WINDOW_HEIGHT: int = 150
INFO_WINDOW_WIDTH: int = 219
J: tuple = (0, 0, 255)
L: tuple = (255, 165, 0)
LEADERBOARD_BORDER_COLOR: tuple = (128, 128, 128)
LEADERBOARD_BORDER_WIDTH: int = 1
LEADERBOARD_BORDER_X: float = 62.5
LEADERBOARD_FIRST_ROW_Y: float = 352.22222222222223
LEADERBOARD_HEADERS_TEXTS: list[str] = ['RANK', 'USERNAME', 'SCORE', 'LVL', 'GAMES PLAYED']
LEADERBOARD_HEADER_BORDER_WIDTH: int = 3
LEADERBOARD_HEADER_HEIGHT: int = 100
LEADERBOARD_HEADER_TEXT_Y: float = 272.22222222222223
LEADERBOARD_HEADER_Y: float = 222.22222222222223
LEADERBOARD_ROW_HEIGHT: float = 40.0
LEADERBOARD_TEXT_WIDTH: float = 175.0
LEADERBOARD_TEXT_X: list[float] = [107.14285714285715, 282.14285714285717, 500.0, 675.0, 850.0]
LEADERBOARD_TITLE: str = 'LEADERBOARD'
LEADERBOARD_TITLE_Y: int = 160
LEADERBOARD_WIDTH: float = 875.0
LVL_TITLE: str = 'LEVEL'
LVL_TITLE_Y: float = 410.2564102564103
LVL_WINDOW_X: int = 40
LVL_WINDOW_Y: float = 444.44444444444446
MENU_BTNS_FIRST_Y: int = 200
MENU_BTNS_HEIGHT: int = 100
MENU_BTN_GAP: int = 20
MENU_CONTROLS_TEXT = 'Controls'
MENU_LEADERBOARD_TEXT = 'Leaderboard'
MENU_QUIT_TEXT = 'Quit'
MENU_RULES_TEXT = 'Rules'
MENU_START_GAME_TEXT = 'Start game'
MIGRATION_COMMAND: str = 'python db/scripts/migration.py migrate'
MOVE_DOWN_ACCELERATION_PER_LVL: int = 19
MOVE_DOWN_START_TIME: int = 1000
MOVING_DOWN_KEY_1_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/s_key.png'
MOVING_DOWN_KEY_2_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/down_key.png'
MOVING_LEFT_KEY_1_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/a_key.png'
MOVING_LEFT_KEY_2_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/left_key.png'
MOVING_RIGHT_KEY_1_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/d_key.png'
MOVING_RIGHT_KEY_2_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/right_key.png'
NEXT_TETROMINO_CELL_HEIGHT: int = 37
NEXT_TETROMINO_CELL_WIDTH: int = 54
NEXT_TETROMINO_N_OF_COL: int = 4
NEXT_TETROMINO_N_OF_ROWS: int = 4
NEXT_TETROMINO_TITLE: str = 'NEXT'
NEXT_WINDOW_X: float = 740.7407407407406
NEXT_WINDOW_Y: int = 200
N_OF_LINES_TO_LVL_UP: int = 10
O: tuple = (255, 255, 0)
POINTS_FOR_HARD_DROP: int = 2
POINTS_FOR_SOFT_DROP: int = 1
POINTS_PER_LINES: dict = {1: 100, 2: 300, 3: 500, 4: 800}
ROTATE_LEFT_KEY_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/z_key.png'
ROTATE_RIGHT_KEY_1_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/w_key.png'
ROTATE_RIGHT_KEY_2_FILENAME: str = '/home/docs/checkouts/readthedocs.org/user_builds/tetris/envs/latest/lib/python3.11/site-packages/tetris/assets/up_key.png'
RULES_LINE_HEIGHT: int = 40
RULES_TEXT_Y: float = 266.6666666666667
RULES_TITLE: str = 'RULES'
RULES_TITLE_Y: int = 160
S: tuple = (0, 255, 0)
SCORE_NEXT_TITLE_Y: int = 160
SCORE_TITLE: str = 'SCORE'
SCORE_WINDOW_X: int = 40
SCORE_WINDOW_Y: int = 200
SCREEN_HEIGHT: int = 800
SCREEN_WIDTH: int = 1000
SECOND_BG_COLOR: tuple = (0, 0, 0)
T: tuple = (128, 0, 128)
TETRIS_TITLE: str = 'TETRIS'
TETRIS_TITLE_Y: int = 50
Z: tuple = (255, 0, 0)
check_go_back_btn_hover() None

Checks if mouse is hovering over the go_back button and changes the cursor accordingly

create_end_of_game_btns() None

Creates buttons displayed after the game is lost

create_get_username_text() None

Creates the input box for the username

create_go_back_btn() None

Creates the go back button

create_titles_properties() None

Create properties for the titles

draw_go_back_btn() None

Draws the go back button

draw_tetris_title() None

Draws the tetris title