mirror of
https://github.com/kristoferssolo/2048.git
synced 2025-10-21 15:20:35 +00:00
refactor(game): change color scheme
This commit is contained in:
parent
e7932303c2
commit
94a5eb8e0e
@ -3,7 +3,7 @@ from typing import Union
|
||||
|
||||
import pygame
|
||||
|
||||
from .color import Color
|
||||
from .color import ColorScheme
|
||||
from .config import Config
|
||||
from .utils import Direction, grid_pos
|
||||
|
||||
@ -14,9 +14,6 @@ class Block(pygame.sprite.Sprite):
|
||||
):
|
||||
"""Initialize a block"""
|
||||
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 = (
|
||||
value
|
||||
@ -25,15 +22,57 @@ class Block(pygame.sprite.Sprite):
|
||||
if random.random() <= Config.BLOCK_VALUE_PROBABILITY
|
||||
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.group = group
|
||||
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"""
|
||||
text = self.font.render(str(self.value), True, Color.FG)
|
||||
text_rect = text.get_rect(center=self.image.get_rect().center)
|
||||
self.image.blit(text, text_rect)
|
||||
text = self.font.render(str(self.value), True, Config.COLORSCHEME.DARK_TEXT)
|
||||
block_surface = self._create_block_surface()
|
||||
|
||||
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:
|
||||
"""Move the block by `dx` and `dy`."""
|
||||
@ -99,8 +138,7 @@ class Block(pygame.sprite.Sprite):
|
||||
|
||||
def update(self) -> None:
|
||||
"""Update the block"""
|
||||
self._change_color()
|
||||
self._draw_value()
|
||||
self.draw()
|
||||
|
||||
def can_move(self) -> bool:
|
||||
"""Check if the block can move"""
|
||||
@ -114,22 +152,22 @@ class Block(pygame.sprite.Sprite):
|
||||
return True
|
||||
return False
|
||||
|
||||
def _change_color(self) -> None:
|
||||
def _get_color(self) -> ColorScheme:
|
||||
"""Change the color of the block based on its value"""
|
||||
color_map = {
|
||||
2: Color.BLUE,
|
||||
4: Color.BLUE0,
|
||||
8: Color.BLUE1,
|
||||
16: Color.BLUE2,
|
||||
32: Color.DARK3,
|
||||
64: Color.BORDER_HIGHLIGHT,
|
||||
128: Color.BLUE5,
|
||||
256: Color.BLUE6,
|
||||
512: Color.BLUE7,
|
||||
1024: Color.ORANGE,
|
||||
2048: Color.RED,
|
||||
2: Config.COLORSCHEME.BLOCK_2,
|
||||
4: Config.COLORSCHEME.BLOCK_4,
|
||||
8: Config.COLORSCHEME.BLOCK_8,
|
||||
16: Config.COLORSCHEME.BLOCK_16,
|
||||
32: Config.COLORSCHEME.BLOCK_32,
|
||||
64: Config.COLORSCHEME.BLOCK_64,
|
||||
128: Config.COLORSCHEME.BLOCK_128,
|
||||
256: Config.COLORSCHEME.BLOCK_256,
|
||||
512: Config.COLORSCHEME.BLOCK_512,
|
||||
1024: Config.COLORSCHEME.BLOCK_1024,
|
||||
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:
|
||||
"""Return a string representation of the block"""
|
||||
|
||||
@ -4,7 +4,6 @@ import pygame
|
||||
from loguru import logger
|
||||
|
||||
from .block import Block
|
||||
from .color import Color
|
||||
from .config import Config
|
||||
from .utils import Direction
|
||||
|
||||
@ -24,7 +23,7 @@ class Board(pygame.sprite.Group):
|
||||
def draw(self, screen: pygame.Surface) -> None:
|
||||
"""Draw the board."""
|
||||
block: Block
|
||||
pygame.draw.rect(screen, Color.YELLOW, self.rect, 2)
|
||||
pygame.draw.rect(screen, "#fff500", self.rect, 2)
|
||||
|
||||
super().draw(screen)
|
||||
|
||||
|
||||
@ -1,241 +1,26 @@
|
||||
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"
|
||||
from enum import Enum
|
||||
|
||||
|
||||
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 Original:
|
||||
BLOCK_0 = "#ccc0b3"
|
||||
BLOCK_2 = "#eee4da"
|
||||
BLOCK_4 = "#ede0c8"
|
||||
BLOCK_8 = "#f2b179"
|
||||
BLOCK_16 = "#f59563"
|
||||
BLOCK_32 = "#f67c5f"
|
||||
BLOCK_64 = "#f65e3b"
|
||||
BLOCK_128 = "#edcf72"
|
||||
BLOCK_256 = "#edcc61"
|
||||
BLOCK_512 = "#edc850"
|
||||
BLOCK_1024 = "#edc53f"
|
||||
BLOCK_2048 = "#edc22e"
|
||||
BLOCK_ELSE = "#ff0000"
|
||||
LIGHT_TEXT = "#f9f6f2"
|
||||
DARK_TEXT = "#776e65"
|
||||
OTHER = "#000000"
|
||||
BG = "#bbada0"
|
||||
|
||||
|
||||
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"
|
||||
|
||||
|
||||
Color = TokyoNightNight
|
||||
class ColorScheme(Enum):
|
||||
ORIGINAL = Original
|
||||
DARK = ... # TODO: Implement dark color scheme
|
||||
|
||||
@ -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
|
||||
@ -1,12 +1,15 @@
|
||||
from .color import ColorScheme
|
||||
|
||||
|
||||
class Config:
|
||||
FONT_FAMILY = "Roboto"
|
||||
FONT_SIZE = 32
|
||||
COLORSCHEME = ColorScheme.ORIGINAL.value
|
||||
|
||||
BOARD_SIZE = 4
|
||||
BLOCK_SIZE = 50
|
||||
|
||||
# WIDTH = BOARD_SIZE * BLOCK_SIZE + BLOCK_SIZE
|
||||
# HEIGHT = BOARD_SIZE * BLOCK_SIZE + BLOCK_SIZE * 2
|
||||
BLOCK_BORDER_WIDTH = 2
|
||||
BLOCK_BORDER_RADIUS = 5
|
||||
|
||||
BOARD_WIDTH = BOARD_SIZE * BLOCK_SIZE
|
||||
BOARD_HEIGHT = BOARD_SIZE * BLOCK_SIZE
|
||||
|
||||
@ -4,7 +4,6 @@ import pygame
|
||||
from loguru import logger
|
||||
|
||||
from .board import Board
|
||||
from .color import Color
|
||||
from .config import Config
|
||||
from .logger import setup_logger
|
||||
from .screens.header import Header
|
||||
@ -35,7 +34,7 @@ class Game:
|
||||
|
||||
def _render(self) -> None:
|
||||
"""Render the game."""
|
||||
self.screen.fill(Color.BG)
|
||||
self.screen.fill(Config.COLORSCHEME.BG)
|
||||
self.board.draw(self.screen)
|
||||
self.header.draw(self.screen)
|
||||
pygame.display.flip()
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import pygame
|
||||
|
||||
from ..color import Color
|
||||
from ..config import Config
|
||||
|
||||
|
||||
@ -11,4 +10,4 @@ class Header:
|
||||
|
||||
def draw(self, screen: pygame.Surface) -> None:
|
||||
"""Draw the header."""
|
||||
pygame.draw.rect(screen, Color.MAGENTA, self.rect, 2)
|
||||
pygame.draw.rect(screen, "#ff00ee", self.rect, 2)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user