Clicking on the main image changes its color

This commit is contained in:
Yohann D'ANELLO 2020-12-11 21:17:21 +01:00
parent 81de0d8eb0
commit 777668848e
3 changed files with 17 additions and 1 deletions

View File

@ -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

View File

@ -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 ==")

View File

@ -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)