diff --git a/squirrelbattle/display/display.py b/squirrelbattle/display/display.py index c5b1aa3..0ca5673 100644 --- a/squirrelbattle/display/display.py +++ b/squirrelbattle/display/display.py @@ -48,6 +48,10 @@ class Display: def color_pair(self, number: int) -> int: return curses.color_pair(number) if self.screen else 0 + def init_color(self, number: int, red: int, green: int, blue: int) -> None: + return curses.init_color(number, red, green, blue) \ + if self.screen else None + def resize(self, y: int, x: int, height: int, width: int, resize_pad: bool = True) -> None: self.x = x diff --git a/squirrelbattle/display/menudisplay.py b/squirrelbattle/display/menudisplay.py index 8c2cce9..7b49a64 100644 --- a/squirrelbattle/display/menudisplay.py +++ b/squirrelbattle/display/menudisplay.py @@ -102,13 +102,17 @@ class MainMenuDisplay(Display): self.pad = self.newpad(max(self.rows, len(self.title) + 30), max(len(self.title[0]) + 5, self.cols)) + self.init_color(42, 1000, 1000, 1000) + self.init_pair(42, 42, curses.COLOR_BLACK) + self.menudisplay = MenuDisplay(self.screen, self.pack) self.menudisplay.update_menu(self.menu) def display(self) -> None: for i in range(len(self.title)): self.addstr(self.pad, 4 + i, max(self.width // 2 - - len(self.title[0]) // 2 - 1, 0), self.title[i]) + - len(self.title[0]) // 2 - 1, 0), self.title[i], + self.color_pair(42)) self.refresh_pad(self.pad, 0, 0, self.y, self.x, self.height + self.y - 1, self.width + self.x - 1) @@ -126,6 +130,11 @@ class MainMenuDisplay(Display): if menuy <= y < menuy + menuheight and menux <= x < menux + menuwidth: self.menudisplay.handle_click(y - menuy, x - menux, game) + if y <= len(self.title): + from random import randint + self.init_color(42, randint(0, 1000), randint(0, 1000), + randint(0, 1000)) + class PlayerInventoryDisplay(MenuDisplay): message = _("== INVENTORY ==") diff --git a/squirrelbattle/tests/game_test.py b/squirrelbattle/tests/game_test.py index bc3ce12..77b63c3 100644 --- a/squirrelbattle/tests/game_test.py +++ b/squirrelbattle/tests/game_test.py @@ -236,6 +236,9 @@ class TestGame(unittest.TestCase): """ self.game.state = GameMode.MAINMENU + # Change the color of the artwork + self.game.display_actions(DisplayActions.MOUSE, 0, 10) + # Settings menu self.game.display_actions(DisplayActions.MOUSE, 25, 21) self.assertEqual(self.game.main_menu.position, 4)