Added a MainMenuDisplay class and fixed errors in display

This commit is contained in:
eichhornchen
2020-11-10 10:01:31 +01:00
parent 10bbb28471
commit 91a8919a01
6 changed files with 62 additions and 13 deletions

View File

@@ -1,12 +1,11 @@
from dungeonbattle.menus import Menu
from dungeonbattle.menus import Menu, MainMenu
from typing import Any
import curses
class MenuDisplay:
position: int
def __init__(self, menu : Menu, screen: Any, height : int, width : int, topleftx: int, toplefty: int) :
self.screen = screen
def __init__(self, menu : Menu, height : int, width : int, topleftx: int, toplefty: int) :
self.values = menu.values
self.width = width
self.height = height
@@ -46,3 +45,25 @@ class MenuDisplay:
self.pad.refresh(cornery, 0, self.toplefty+1, self.topleftx+1,
self.height-2 + self.toplefty,
self.width-2 + self.topleftx)
class MainMenuDisplay:
def __init__(self, menu : MainMenu) :
self.menu = menu
self.pad = curses.newpad(curses.LINES, curses.COLS)
with open("ascii_art.txt", "r") as file:
title = file.read().split("\n")
width = len(title[0])
height = len(title)
for i in range(len(title)) :
self.pad.addstr(4+i,curses.COLS//2-width//2-1,title[i])
self.pad.refresh(0,0,0,0,curses.LINES,curses.COLS)
self.menudisplay = MenuDisplay(self.menu, 15, 15, height+8, curses.COLS//2-15//2-1)
def refresh(self, position) -> None:
self.menudisplay.refresh(position)