refactor(game): change color scheme

This commit is contained in:
Kristofers Solo 2024-01-01 22:00:55 +02:00
parent e7932303c2
commit 94a5eb8e0e
7 changed files with 92 additions and 510 deletions

View File

@ -3,7 +3,7 @@ from typing import Union
import pygame import pygame
from .color import Color from .color import ColorScheme
from .config import Config from .config import Config
from .utils import Direction, grid_pos from .utils import Direction, grid_pos
@ -14,9 +14,6 @@ class Block(pygame.sprite.Sprite):
): ):
"""Initialize a block""" """Initialize a block"""
super().__init__() super().__init__()
self.image = pygame.Surface((Config.BLOCK_SIZE, Config.BLOCK_SIZE))
self.rect = self.image.get_rect()
self.rect.topleft = x, y
self.value: int = ( self.value: int = (
value value
@ -25,15 +22,57 @@ class Block(pygame.sprite.Sprite):
if random.random() <= Config.BLOCK_VALUE_PROBABILITY if random.random() <= Config.BLOCK_VALUE_PROBABILITY
else 4 else 4
) )
self.image = self._create_block_surface()
self.rect = self.image.get_rect()
self.rect.topleft = x, y
self.font = pygame.font.SysFont(Config.FONT_FAMILY, Config.FONT_SIZE) self.font = pygame.font.SysFont(Config.FONT_FAMILY, Config.FONT_SIZE)
self.group = group self.group = group
self.update() self.update()
def _draw_value(self) -> None: def _draw_rounded_rect(
self,
surface: pygame.Surface,
color: ColorScheme | tuple[int, int, int, int],
rect: tuple[int, int, int, int],
border_radius: int,
width: int,
) -> None:
"""Draw a rounded rectangle with borders on the given surface."""
pygame.draw.rect(surface, color, rect, border_radius=border_radius)
pygame.draw.rect(
surface,
(0, 0, 0, 0),
rect,
border_radius=border_radius,
width=width,
)
def _create_block_surface(self) -> pygame.Surface:
"""Create a surface for the block."""
block_surface = pygame.Surface(
(Config.BLOCK_SIZE, Config.BLOCK_SIZE), pygame.SRCALPHA
)
self._draw_rounded_rect(
block_surface,
self._get_color(),
# (255, 255, 255, 0),
(0, 0, Config.BLOCK_SIZE, Config.BLOCK_SIZE),
Config.BLOCK_BORDER_RADIUS,
Config.BLOCK_BORDER_WIDTH,
)
return block_surface
def draw(self) -> None:
"""Draw the value of the block""" """Draw the value of the block"""
text = self.font.render(str(self.value), True, Color.FG) text = self.font.render(str(self.value), True, Config.COLORSCHEME.DARK_TEXT)
text_rect = text.get_rect(center=self.image.get_rect().center) block_surface = self._create_block_surface()
self.image.blit(text, text_rect)
block_center: tuple[int, int] = (Config.BLOCK_SIZE // 2, Config.BLOCK_SIZE // 2)
text_rect: pygame.Rect = text.get_rect(center=self.image.get_rect().center)
block_surface.blit(text, text_rect)
self.image.blit(block_surface, (0, 0))
def move(self, direction: Direction) -> None: def move(self, direction: Direction) -> None:
"""Move the block by `dx` and `dy`.""" """Move the block by `dx` and `dy`."""
@ -99,8 +138,7 @@ class Block(pygame.sprite.Sprite):
def update(self) -> None: def update(self) -> None:
"""Update the block""" """Update the block"""
self._change_color() self.draw()
self._draw_value()
def can_move(self) -> bool: def can_move(self) -> bool:
"""Check if the block can move""" """Check if the block can move"""
@ -114,22 +152,22 @@ class Block(pygame.sprite.Sprite):
return True return True
return False return False
def _change_color(self) -> None: def _get_color(self) -> ColorScheme:
"""Change the color of the block based on its value""" """Change the color of the block based on its value"""
color_map = { color_map = {
2: Color.BLUE, 2: Config.COLORSCHEME.BLOCK_2,
4: Color.BLUE0, 4: Config.COLORSCHEME.BLOCK_4,
8: Color.BLUE1, 8: Config.COLORSCHEME.BLOCK_8,
16: Color.BLUE2, 16: Config.COLORSCHEME.BLOCK_16,
32: Color.DARK3, 32: Config.COLORSCHEME.BLOCK_32,
64: Color.BORDER_HIGHLIGHT, 64: Config.COLORSCHEME.BLOCK_64,
128: Color.BLUE5, 128: Config.COLORSCHEME.BLOCK_128,
256: Color.BLUE6, 256: Config.COLORSCHEME.BLOCK_256,
512: Color.BLUE7, 512: Config.COLORSCHEME.BLOCK_512,
1024: Color.ORANGE, 1024: Config.COLORSCHEME.BLOCK_1024,
2048: Color.RED, 2048: Config.COLORSCHEME.BLOCK_2048,
} }
self.image.fill(color_map.get(self.value, Color.ERROR)) return color_map.get(self.value, Config.COLORSCHEME.BLOCK_ELSE)
def __repr__(self) -> str: def __repr__(self) -> str:
"""Return a string representation of the block""" """Return a string representation of the block"""

View File

@ -4,7 +4,6 @@ import pygame
from loguru import logger from loguru import logger
from .block import Block from .block import Block
from .color import Color
from .config import Config from .config import Config
from .utils import Direction from .utils import Direction
@ -24,7 +23,7 @@ class Board(pygame.sprite.Group):
def draw(self, screen: pygame.Surface) -> None: def draw(self, screen: pygame.Surface) -> None:
"""Draw the board.""" """Draw the board."""
block: Block block: Block
pygame.draw.rect(screen, Color.YELLOW, self.rect, 2) pygame.draw.rect(screen, "#fff500", self.rect, 2)
super().draw(screen) super().draw(screen)

View File

@ -1,241 +1,26 @@
class TokyoNightDay: from enum import Enum
BG = "#E1E2E7"
BG_DARK = "#E9E9EC"
BG_FLOAT = "#E9E9EC"
BG_HIGHLIGHT = "#C4C8DA"
BG_POPUP = "#E9E9EC"
BG_SEARCH = "#7890DD"
BG_SIDEBAR = "#E9E9EC"
BG_STATUSLINE = "#E9E9EC"
BG_VISUAL = "#B6BFE2"
BLACK = "#E9E9ED"
BLUE = "#2E7DE9"
BLUE0 = "#7890DD"
BLUE1 = "#188092"
BLUE2 = "#07879D"
BLUE5 = "#006A83"
BLUE6 = "#2E5857"
BLUE7 = "#92A6D5"
BORDER = "#E9E9ED"
BORDER_HIGHLIGHT = "#2496AC"
COMMENT = "#848CB5"
CYAN = "#007197"
DARK3 = "#8990B3"
DARK5 = "#68709A"
DELTA_ADD = "#57A7BC"
DELTA_DELETE = "#D99EA2"
DIFF_ADD = "#AECDE6"
DIFF_CHANGE = "#D6D8E3"
DIFF_DELETE = "#DFCCD4"
DIFF_TEXT = "#92A6D5"
ERROR = "#C64343"
FG = "#3760BF"
FG_DARK = "#6172B0"
FG_FLOAT = "#3760BF"
FG_GUTTER = "#A8AECB"
FG_SIDEBAR = "#6172B0"
GIT_ADD = "#4197A4"
GIT_CHANGE = "#506D9C"
GIT_DELETE = "#C47981"
GIT_IGNORE = "#8990B3"
GIT_SIGNS_ADD = "#399A96"
GIT_SIGNS_CHANGE = "#6482BD"
GITSIGNS_DELETE = "#C25D64"
GREEN = "#587539"
GREEN1 = "#387068"
GREEN2 = "#38919F"
HINT = "#118C74"
INFO = "#07879D"
MAGENTA = "#9854F1"
MAGENTA2 = "#D20065"
ORANGE = "#B15C00"
PURPLE = "#7847BD"
RED = "#F52A65"
RED1 = "#C64343"
TEAL = "#118C74"
TERMINAL_BLACK = "#A1A6C5"
WARNING = "#8C6C3E"
YELLOW = "#8C6C3E"
class TokyoNightMoon: class Original:
BG = "#222436" BLOCK_0 = "#ccc0b3"
BG_DARK = "#1E2030" BLOCK_2 = "#eee4da"
BG_FLOAT = "#1E2030" BLOCK_4 = "#ede0c8"
BG_HIGHLIGHT = "#2F334D" BLOCK_8 = "#f2b179"
BG_POPUP = "#1E2030" BLOCK_16 = "#f59563"
BG_SEARCH = "#3E68D7" BLOCK_32 = "#f67c5f"
BG_SIDEBAR = "#1E2030" BLOCK_64 = "#f65e3b"
BG_STATUSLINE = "#1E2030" BLOCK_128 = "#edcf72"
BG_VISUAL = "#2D3F76" BLOCK_256 = "#edcc61"
BLACK = "#1B1D2B" BLOCK_512 = "#edc850"
BLUE = "#82AAFF" BLOCK_1024 = "#edc53f"
BLUE0 = "#3E68D7" BLOCK_2048 = "#edc22e"
BLUE1 = "#65BCFF" BLOCK_ELSE = "#ff0000"
BLUE2 = "#0DB9D7" LIGHT_TEXT = "#f9f6f2"
BLUE5 = "#89DDFF" DARK_TEXT = "#776e65"
BLUE6 = "#B4F9F8" OTHER = "#000000"
BLUE7 = "#394B70" BG = "#bbada0"
BORDER = "#1B1D2B"
BORDER_HIGHLIGHT = "#589ED7"
COMMENT = "#636DA6"
CYAN = "#86E1FC"
DARK3 = "#545C7E"
DARK5 = "#737AA2"
DELTA_ADD = "#305F6F"
DELTA_DELETE = "#6B2E43"
DIFF_ADD = "#273849"
DIFF_CHANGE = "#252A3F"
DIFF_DELETE = "#3A273A"
DIFF_TEXT = "#394B70"
ERROR = "#C53B53"
FG = "#C8D3F5"
FG_DARK = "#828BB8"
FG_FLOAT = "#C8D3F5"
FG_GUTTER = "#3B4261"
FG_SIDEBAR = "#828BB8"
GIT_ADD = "#B8DB87"
GIT_CHANGE = "#7CA1F2"
GIT_DELETE = "#E26A75"
GIT_IGNORE = "#545C7E"
GIT_SIGNS_ADD = "#627259"
GIT_SIGNS_CHANGE = "#485A86"
GIT_SIGNS_DELETE = "#B55A67"
GREEN = "#C3E88D"
GREEN1 = "#4FD6BE"
GREEN2 = "#41A6B5"
HINT = "#4FD6BE"
INFO = "#0DB9D7"
MAGENTA = "#C099FF"
MAGENTA2 = "#FF007C"
ORANGE = "#FF966C"
PURPLE = "#FCA7EA"
RED = "#FF757F"
RED1 = "#C53B53"
TEAL = "#4FD6BE"
TERMINAL_BLACK = "#444A73"
WARNING = "#FFC777"
YELLOW = "#FFC777"
class TokyoNightNight: class ColorScheme(Enum):
BG = "#1A1B26" ORIGINAL = Original
BG_DARK = "#16161E" DARK = ... # TODO: Implement dark color scheme
BG_FLOAT = "#16161E"
BG_HIGHLIGHT = "#292E42"
BG_POPUP = "#16161E"
BG_SEARCH = "#3D59A1"
BG_SIDEBAR = "#16161E"
BG_STATUSLINE = "#16161E"
BG_VISUAL = "#283457"
BLACK = "#15161E"
BLUE = "#7AA2F7"
BLUE0 = "#3D59A1"
BLUE1 = "#2AC3DE"
BLUE2 = "#0DB9D7"
BLUE5 = "#89DDFF"
BLUE6 = "#B4F9F8"
BLUE7 = "#394B70"
BORDER = "#15161E"
BORDER_HIGHLIGHT = "#27A1B9"
COMMENT = "#565F89"
CYAN = "#7DCFFF"
DARK3 = "#545C7E"
DARK5 = "#737AA2"
DELTA_ADD = "#2C5A66"
DELTA_DELETE = "#713137"
DIFF_ADD = "#20303B"
DIFF_CHANGE = "#1F2231"
DIFF_DELETE = "#37222C"
DIFF_TEXT = "#394B70"
ERROR = "#DB4B4B"
FG = "#C0CAF5"
FG_DARK = "#A9B1D6"
FG_FLOAT = "#C0CAF5"
FG_GUTTER = "#3B4261"
FG_SIDEBAR = "#A9B1D6"
GIT_ADD = "#449DAB"
GIT_CHANGE = "#6183BB"
GIT_DELETE = "#914C54"
GIT_IGNORE = "#545C7E"
GIT_SIGNS_ADD = "#266D6A"
GIT_SIGNS_CHANGE = "#536C9E"
GIT_SIGNS_DELETE = "#B2555B"
GREEN = "#9ECE6A"
GREEN1 = "#73DACA"
GREEN2 = "#41A6B5"
HINT = "#1ABC9C"
INFO = "#0DB9D7"
MAGENTA = "#BB9AF7"
MAGENTA2 = "#FF007C"
ORANGE = "#FF9E64"
PURPLE = "#9D7CD8"
RED = "#F7768E"
RED1 = "#DB4B4B"
TEAL = "#1ABC9C"
TERMINAL_BLACK = "#414868"
WARNING = "#E0AF68"
YELLOW = "#E0AF68"
class TokyoNightStorm:
BG = "#24283B"
BG_DARK = "#1F2335"
BG_FLOAT = "#1F2335"
BG_HIGHLIGHT = "#292E42"
BG_POPUP = "#1F2335"
BG_SEARCH = "#3D59A1"
BG_SIDEBAR = "#1F2335"
BG_STATUSLINE = "#1F2335"
BG_VISUAL = "#2E3C64"
BLACK = "#1D202F"
BLUE = "#7AA2F7"
BLUE0 = "#3D59A1"
BLUE1 = "#2AC3DE"
BLUE2 = "#0DB9D7"
BLUE5 = "#89DDFF"
BLUE6 = "#B4F9F8"
BLUE7 = "#394B70"
BORDER = "#1D202F"
BORDER_HIGHLIGHT = "#29A4BD"
COMMENT = "#565F89"
CYAN = "#7DCFFF"
DARK3 = "#545C7E"
DARK5 = "#737AA2"
DELTA_ADD = "#316172"
DELTA_DELETE = "#763842"
DIFF_ADD = "#283B4D"
DIFF_CHANGE = "#272D43"
DIFF_DELETE = "#3F2D3D"
DIFF_TEXT = "#394B70"
ERROR = "#DB4B4B"
FG = "#C0CAF5"
FG_DARK = "#A9B1D6"
FG_FLOAT = "#C0CAF5"
FG_GUTTER = "#3B4261"
FG_SIDEBAR = "#A9B1D6"
GIT_ADD = "#449DAB"
GIT_CHANGE = "#6183BB"
GIT_DELETE = "#914C54"
GIT_IGNORE = "#545C7E"
GIT_SIGNS_ADD = "#266D6A"
GIT_SIGNS_CHANGE = "#536C9E"
GIT_SIGNS_DELETE = "#B2555B"
GREEN = "#9ECE6A"
GREEN1 = "#73DACA"
GREEN2 = "#41A6B5"
HINT = "#1ABC9C"
INFO = "#0DB9D7"
MAGENTA = "#BB9AF7"
MAGENTA2 = "#FF007C"
ORANGE = "#FF9E64"
PURPLE = "#9D7CD8"
RED = "#F7768E"
RED1 = "#DB4B4B"
TEAL = "#1ABC9C"
TERMINAL_BLACK = "#414868"
WARNING = "#E0AF68"
YELLOW = "#E0AF68"
Color = TokyoNightNight

View File

@ -1,241 +0,0 @@
class TokyoNightDay:
BG = "#E1E2E7"
BG_DARK = "#E9E9EC"
BG_FLOAT = "#E9E9EC"
BG_HIGHLIGHT = "#C4C8DA"
BG_POPUP = "#E9E9EC"
BG_SEARCH = "#7890DD"
BG_SIDEBAR = "#E9E9EC"
BG_STATUSLINE = "#E9E9EC"
BG_VISUAL = "#B6BFE2"
BLACK = "#E9E9ED"
BLUE = "#2E7DE9"
BLUE0 = "#7890DD"
BLUE1 = "#188092"
BLUE2 = "#07879D"
BLUE5 = "#006A83"
BLUE6 = "#2E5857"
BLUE7 = "#92A6D5"
BORDER = "#E9E9ED"
BORDER_HIGHLIGHT = "#2496AC"
COMMENT = "#848CB5"
CYAN = "#007197"
DARK3 = "#8990B3"
DARK5 = "#68709A"
DELTA_ADD = "#57A7BC"
DELTA_DELETE = "#D99EA2"
DIFF_ADD = "#AECDE6"
DIFF_CHANGE = "#D6D8E3"
DIFF_DELETE = "#DFCCD4"
DIFF_TEXT = "#92A6D5"
ERROR = "#C64343"
FG = "#3760BF"
FG_DARK = "#6172B0"
FG_FLOAT = "#3760BF"
FG_GUTTER = "#A8AECB"
FG_SIDEBAR = "#6172B0"
GIT_ADD = "#4197A4"
GIT_CHANGE = "#506D9C"
GIT_DELETE = "#C47981"
GIT_IGNORE = "#8990B3"
GIT_SIGNS_ADD = "#399A96"
GIT_SIGNS_CHANGE = "#6482BD"
GITSIGNS_DELETE = "#C25D64"
GREEN = "#587539"
GREEN1 = "#387068"
GREEN2 = "#38919F"
HINT = "#118C74"
INFO = "#07879D"
MAGENTA = "#9854F1"
MAGENTA2 = "#D20065"
ORANGE = "#B15C00"
PURPLE = "#7847BD"
RED = "#F52A65"
RED1 = "#C64343"
TEAL = "#118C74"
TERMINAL_BLACK = "#A1A6C5"
WARNING = "#8C6C3E"
YELLOW = "#8C6C3E"
class TokyoNightMoon:
BG = "#222436"
BG_DARK = "#1E2030"
BG_FLOAT = "#1E2030"
BG_HIGHLIGHT = "#2F334D"
BG_POPUP = "#1E2030"
BG_SEARCH = "#3E68D7"
BG_SIDEBAR = "#1E2030"
BG_STATUSLINE = "#1E2030"
BG_VISUAL = "#2D3F76"
BLACK = "#1B1D2B"
BLUE = "#82AAFF"
BLUE0 = "#3E68D7"
BLUE1 = "#65BCFF"
BLUE2 = "#0DB9D7"
BLUE5 = "#89DDFF"
BLUE6 = "#B4F9F8"
BLUE7 = "#394B70"
BORDER = "#1B1D2B"
BORDER_HIGHLIGHT = "#589ED7"
COMMENT = "#636DA6"
CYAN = "#86E1FC"
DARK3 = "#545C7E"
DARK5 = "#737AA2"
DELTA_ADD = "#305F6F"
DELTA_DELETE = "#6B2E43"
DIFF_ADD = "#273849"
DIFF_CHANGE = "#252A3F"
DIFF_DELETE = "#3A273A"
DIFF_TEXT = "#394B70"
ERROR = "#C53B53"
FG = "#C8D3F5"
FG_DARK = "#828BB8"
FG_FLOAT = "#C8D3F5"
FG_GUTTER = "#3B4261"
FG_SIDEBAR = "#828BB8"
GIT_ADD = "#B8DB87"
GIT_CHANGE = "#7CA1F2"
GIT_DELETE = "#E26A75"
GIT_IGNORE = "#545C7E"
GIT_SIGNS_ADD = "#627259"
GIT_SIGNS_CHANGE = "#485A86"
GIT_SIGNS_DELETE = "#B55A67"
GREEN = "#C3E88D"
GREEN1 = "#4FD6BE"
GREEN2 = "#41A6B5"
HINT = "#4FD6BE"
INFO = "#0DB9D7"
MAGENTA = "#C099FF"
MAGENTA2 = "#FF007C"
ORANGE = "#FF966C"
PURPLE = "#FCA7EA"
RED = "#FF757F"
RED1 = "#C53B53"
TEAL = "#4FD6BE"
TERMINAL_BLACK = "#444A73"
WARNING = "#FFC777"
YELLOW = "#FFC777"
class TokyoNightNight:
BG = "#1A1B26"
BG_DARK = "#16161E"
BG_FLOAT = "#16161E"
BG_HIGHLIGHT = "#292E42"
BG_POPUP = "#16161E"
BG_SEARCH = "#3D59A1"
BG_SIDEBAR = "#16161E"
BG_STATUSLINE = "#16161E"
BG_VISUAL = "#283457"
BLACK = "#15161E"
BLUE = "#7AA2F7"
BLUE0 = "#3D59A1"
BLUE1 = "#2AC3DE"
BLUE2 = "#0DB9D7"
BLUE5 = "#89DDFF"
BLUE6 = "#B4F9F8"
BLUE7 = "#394B70"
BORDER = "#15161E"
BORDER_HIGHLIGHT = "#27A1B9"
COMMENT = "#565F89"
CYAN = "#7DCFFF"
DARK3 = "#545C7E"
DARK5 = "#737AA2"
DELTA_ADD = "#2C5A66"
DELTA_DELETE = "#713137"
DIFF_ADD = "#20303B"
DIFF_CHANGE = "#1F2231"
DIFF_DELETE = "#37222C"
DIFF_TEXT = "#394B70"
ERROR = "#DB4B4B"
FG = "#C0CAF5"
FG_DARK = "#A9B1D6"
FG_FLOAT = "#C0CAF5"
FG_GUTTER = "#3B4261"
FG_SIDEBAR = "#A9B1D6"
GIT_ADD = "#449DAB"
GIT_CHANGE = "#6183BB"
GIT_DELETE = "#914C54"
GIT_IGNORE = "#545C7E"
GIT_SIGNS_ADD = "#266D6A"
GIT_SIGNS_CHANGE = "#536C9E"
GIT_SIGNS_DELETE = "#B2555B"
GREEN = "#9ECE6A"
GREEN1 = "#73DACA"
GREEN2 = "#41A6B5"
HINT = "#1ABC9C"
INFO = "#0DB9D7"
MAGENTA = "#BB9AF7"
MAGENTA2 = "#FF007C"
ORANGE = "#FF9E64"
PURPLE = "#9D7CD8"
RED = "#F7768E"
RED1 = "#DB4B4B"
TEAL = "#1ABC9C"
TERMINAL_BLACK = "#414868"
WARNING = "#E0AF68"
YELLOW = "#E0AF68"
class TokyoNightStorm:
BG = "#24283B"
BG_DARK = "#1F2335"
BG_FLOAT = "#1F2335"
BG_HIGHLIGHT = "#292E42"
BG_POPUP = "#1F2335"
BG_SEARCH = "#3D59A1"
BG_SIDEBAR = "#1F2335"
BG_STATUSLINE = "#1F2335"
BG_VISUAL = "#2E3C64"
BLACK = "#1D202F"
BLUE = "#7AA2F7"
BLUE0 = "#3D59A1"
BLUE1 = "#2AC3DE"
BLUE2 = "#0DB9D7"
BLUE5 = "#89DDFF"
BLUE6 = "#B4F9F8"
BLUE7 = "#394B70"
BORDER = "#1D202F"
BORDER_HIGHLIGHT = "#29A4BD"
COMMENT = "#565F89"
CYAN = "#7DCFFF"
DARK3 = "#545C7E"
DARK5 = "#737AA2"
DELTA_ADD = "#316172"
DELTA_DELETE = "#763842"
DIFF_ADD = "#283B4D"
DIFF_CHANGE = "#272D43"
DIFF_DELETE = "#3F2D3D"
DIFF_TEXT = "#394B70"
ERROR = "#DB4B4B"
FG = "#C0CAF5"
FG_DARK = "#A9B1D6"
FG_FLOAT = "#C0CAF5"
FG_GUTTER = "#3B4261"
FG_SIDEBAR = "#A9B1D6"
GIT_ADD = "#449DAB"
GIT_CHANGE = "#6183BB"
GIT_DELETE = "#914C54"
GIT_IGNORE = "#545C7E"
GIT_SIGNS_ADD = "#266D6A"
GIT_SIGNS_CHANGE = "#536C9E"
GIT_SIGNS_DELETE = "#B2555B"
GREEN = "#9ECE6A"
GREEN1 = "#73DACA"
GREEN2 = "#41A6B5"
HINT = "#1ABC9C"
INFO = "#0DB9D7"
MAGENTA = "#BB9AF7"
MAGENTA2 = "#FF007C"
ORANGE = "#FF9E64"
PURPLE = "#9D7CD8"
RED = "#F7768E"
RED1 = "#DB4B4B"
TEAL = "#1ABC9C"
TERMINAL_BLACK = "#414868"
WARNING = "#E0AF68"
YELLOW = "#E0AF68"
Colors = TokyoNightNight

View File

@ -1,12 +1,15 @@
from .color import ColorScheme
class Config: class Config:
FONT_FAMILY = "Roboto" FONT_FAMILY = "Roboto"
FONT_SIZE = 32 FONT_SIZE = 32
COLORSCHEME = ColorScheme.ORIGINAL.value
BOARD_SIZE = 4 BOARD_SIZE = 4
BLOCK_SIZE = 50 BLOCK_SIZE = 50
BLOCK_BORDER_WIDTH = 2
# WIDTH = BOARD_SIZE * BLOCK_SIZE + BLOCK_SIZE BLOCK_BORDER_RADIUS = 5
# HEIGHT = BOARD_SIZE * BLOCK_SIZE + BLOCK_SIZE * 2
BOARD_WIDTH = BOARD_SIZE * BLOCK_SIZE BOARD_WIDTH = BOARD_SIZE * BLOCK_SIZE
BOARD_HEIGHT = BOARD_SIZE * BLOCK_SIZE BOARD_HEIGHT = BOARD_SIZE * BLOCK_SIZE

View File

@ -4,7 +4,6 @@ import pygame
from loguru import logger from loguru import logger
from .board import Board from .board import Board
from .color import Color
from .config import Config from .config import Config
from .logger import setup_logger from .logger import setup_logger
from .screens.header import Header from .screens.header import Header
@ -35,7 +34,7 @@ class Game:
def _render(self) -> None: def _render(self) -> None:
"""Render the game.""" """Render the game."""
self.screen.fill(Color.BG) self.screen.fill(Config.COLORSCHEME.BG)
self.board.draw(self.screen) self.board.draw(self.screen)
self.header.draw(self.screen) self.header.draw(self.screen)
pygame.display.flip() pygame.display.flip()

View File

@ -1,6 +1,5 @@
import pygame import pygame
from ..color import Color
from ..config import Config from ..config import Config
@ -11,4 +10,4 @@ class Header:
def draw(self, screen: pygame.Surface) -> None: def draw(self, screen: pygame.Surface) -> None:
"""Draw the header.""" """Draw the header."""
pygame.draw.rect(screen, Color.MAGENTA, self.rect, 2) pygame.draw.rect(screen, "#ff00ee", self.rect, 2)