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
|
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"""
|
||||||
|
|||||||
@ -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)
|
||||||
|
|
||||||
|
|||||||
@ -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
|
|
||||||
|
|||||||
@ -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:
|
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
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user