import curses from dungeonbattle.entities.player import Player class StatsDisplay: def __init__(self, player: Player, height: int, width: int, topleftx: int, toplefty: int): self.width = width self.height = height self.topleftx = topleftx self.toplefty = toplefty self.player = player self.pad = curses.newpad(height, width) def update_pad(self) -> None: string = "" for i in range(self.width-1) : string = string + "-" string = string self.pad.addstr(0, 0, string) string2 = "Player -- LVL {} EXP {}/{} HP {}/{}"\ .format(self.player.level, self.player.current_xp, self.player.max_xp, self.player.health, self.player.maxhealth) for i in range(self.width-len(string2)-1) : string2 = string2 + " " self.pad.addstr(1, 0, string2) string3 = "Stats : STR {} INT {} CHR {} DEX {} CON {}"\ .format(self.player.strength, self.player.intelligence, self.player.charisma, self.player.dexterity, self.player.constitution) for i in range(self.width-len(string3)-1) : string3 = string3 + " " self.pad.addstr(2, 0, string3) def refresh(self) -> None: self.pad.clear() self.update_pad() self.pad.refresh(0, 0, self.toplefty, self.topleftx, 2+ self.toplefty, self.width+ self.topleftx)