Merge branch 'master' into 'doc'
# Conflicts: # squirrelbattle/entities/items.py # squirrelbattle/interfaces.py
This commit is contained in:
@ -22,13 +22,21 @@ class MapDisplay(Display):
|
||||
self.pack.tile_width * self.map.width + 1)
|
||||
|
||||
def update_pad(self) -> None:
|
||||
self.pad.resize(500, 500)
|
||||
self.addstr(self.pad, 0, 0, self.map.draw_string(self.pack),
|
||||
self.pack.tile_fg_color, self.pack.tile_bg_color)
|
||||
for j in range(len(self.map.tiles)):
|
||||
for i in range(len(self.map.tiles[j])):
|
||||
if not self.map.seen_tiles[j][i]:
|
||||
continue
|
||||
fg, bg = self.map.tiles[j][i].visible_color(self.pack) if \
|
||||
self.map.visibility[j][i] else \
|
||||
self.map.tiles[j][i].hidden_color(self.pack)
|
||||
self.addstr(self.pad, j, self.pack.tile_width * i,
|
||||
self.map.tiles[j][i].char(self.pack), fg, bg)
|
||||
for e in self.map.entities:
|
||||
self.addstr(self.pad, e.y, self.pack.tile_width * e.x,
|
||||
self.pack[e.name.upper()],
|
||||
self.pack.entity_fg_color, self.pack.entity_bg_color)
|
||||
if self.map.visibility[e.y][e.x]:
|
||||
self.addstr(self.pad, e.y, self.pack.tile_width * e.x,
|
||||
self.pack[e.name.upper()],
|
||||
self.pack.entity_fg_color,
|
||||
self.pack.entity_bg_color)
|
||||
|
||||
# Display Path map for debug purposes
|
||||
# from squirrelbattle.entities.player import Player
|
||||
|
@ -23,16 +23,18 @@ class StatsDisplay(Display):
|
||||
self.player = game.player
|
||||
|
||||
def update_pad(self) -> None:
|
||||
string2 = _("player").capitalize() + " -- LVL {}\nEXP {}/{}\nHP {}/{}"\
|
||||
.format(self.player.level, self.player.current_xp,
|
||||
self.player.max_xp, self.player.health,
|
||||
self.player.maxhealth)
|
||||
string2 = f"{_(self.player.name).capitalize()} " \
|
||||
f"-- LVL {self.player.level} -- " \
|
||||
f"FLOOR {-self.player.map.floor}\n" \
|
||||
f"EXP {self.player.current_xp}/{self.player.max_xp}\n" \
|
||||
f"HP {self.player.health}/{self.player.maxhealth}"
|
||||
self.addstr(self.pad, 0, 0, string2)
|
||||
string3 = "STR {}\nINT {}\nCHR {}\nDEX {}\nCON {}\nCRI {}%"\
|
||||
.format(self.player.strength,
|
||||
self.player.intelligence, self.player.charisma,
|
||||
self.player.dexterity, self.player.constitution,\
|
||||
self.player.critical)
|
||||
string3 = f"STR {self.player.strength}\n" \
|
||||
f"INT {self.player.intelligence}\n" \
|
||||
f"CHR {self.player.charisma}\n" \
|
||||
f"DEX {self.player.dexterity}\n" \
|
||||
f"CON {self.player.constitution}\n" \
|
||||
f"CRI {self.player.critical}%"
|
||||
self.addstr(self.pad, 3, 0, string3)
|
||||
|
||||
inventory_str = _("Inventory:") + " "
|
||||
@ -57,15 +59,16 @@ class StatsDisplay(Display):
|
||||
if self.player.equipped_secondary:
|
||||
self.addstr(self.pad, 11, 0,
|
||||
_("Equipped secondary:") + " "
|
||||
f"{self.pack[self.player.equipped_secondary.name.upper()]}")
|
||||
+ self.pack[self.player.equipped_secondary
|
||||
.name.upper()])
|
||||
if self.player.equipped_armor:
|
||||
self.addstr(self.pad, 12, 0,
|
||||
_("Equipped chestplate:") + " "
|
||||
f"{self.pack[self.player.equipped_armor.name.upper()]}")
|
||||
+ self.pack[self.player.equipped_armor.name.upper()])
|
||||
if self.player.equipped_helmet:
|
||||
self.addstr(self.pad, 13, 0,
|
||||
_("Equipped helmet:") + " "
|
||||
f"{self.pack[self.player.equipped_helmet.name.upper()]}")
|
||||
+ self.pack[self.player.equipped_helmet.name.upper()])
|
||||
|
||||
self.addstr(self.pad, 14, 0, f"{self.pack.HAZELNUT} "
|
||||
f"x{self.player.hazel}")
|
||||
|
@ -2,7 +2,7 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import curses
|
||||
from typing import Any
|
||||
from typing import Any, Union, Tuple
|
||||
|
||||
|
||||
class TexturePack:
|
||||
@ -13,10 +13,11 @@ class TexturePack:
|
||||
|
||||
name: str
|
||||
tile_width: int
|
||||
tile_fg_color: int
|
||||
tile_bg_color: int
|
||||
entity_fg_color: int
|
||||
entity_bg_color: int
|
||||
tile_fg_color: Union[int, Tuple[int, int, int]]
|
||||
tile_fg_visible_color: Union[int, Tuple[int, int, int]]
|
||||
tile_bg_color: Union[int, Tuple[int, int, int]]
|
||||
entity_fg_color: Union[int, Tuple[int, int, int]]
|
||||
entity_bg_color: Union[int, Tuple[int, int, int]]
|
||||
|
||||
BODY_SNATCH_POTION: str
|
||||
BOMB: str
|
||||
@ -64,9 +65,10 @@ class TexturePack:
|
||||
TexturePack.ASCII_PACK = TexturePack(
|
||||
name="ascii",
|
||||
tile_width=1,
|
||||
tile_fg_visible_color=(1000, 1000, 1000),
|
||||
tile_fg_color=curses.COLOR_WHITE,
|
||||
tile_bg_color=curses.COLOR_BLACK,
|
||||
entity_fg_color=curses.COLOR_WHITE,
|
||||
entity_fg_color=(1000, 1000, 1000),
|
||||
entity_bg_color=curses.COLOR_BLACK,
|
||||
|
||||
BODY_SNATCH_POTION='S',
|
||||
@ -76,6 +78,7 @@ TexturePack.ASCII_PACK = TexturePack(
|
||||
EMPTY=' ',
|
||||
EXPLOSION='%',
|
||||
FLOOR='.',
|
||||
LADDER='H',
|
||||
HAZELNUT='¤',
|
||||
HEART='❤',
|
||||
HEDGEHOG='*',
|
||||
@ -97,10 +100,11 @@ TexturePack.ASCII_PACK = TexturePack(
|
||||
TexturePack.SQUIRREL_PACK = TexturePack(
|
||||
name="squirrel",
|
||||
tile_width=2,
|
||||
tile_fg_visible_color=(1000, 1000, 1000),
|
||||
tile_fg_color=curses.COLOR_WHITE,
|
||||
tile_bg_color=curses.COLOR_BLACK,
|
||||
entity_fg_color=curses.COLOR_WHITE,
|
||||
entity_bg_color=curses.COLOR_WHITE,
|
||||
entity_fg_color=(1000, 1000, 1000),
|
||||
entity_bg_color=(1000, 1000, 1000),
|
||||
|
||||
BODY_SNATCH_POTION='🔀',
|
||||
BOMB='💣',
|
||||
@ -109,6 +113,8 @@ TexturePack.SQUIRREL_PACK = TexturePack(
|
||||
EMPTY=' ',
|
||||
EXPLOSION='💥',
|
||||
FLOOR='██',
|
||||
LADDER=('🪜', curses.COLOR_WHITE, (1000, 1000, 1000),
|
||||
curses.COLOR_WHITE, (1000, 1000, 1000)),
|
||||
HAZELNUT='🌰',
|
||||
HEART='💜',
|
||||
HEDGEHOG='🦔',
|
||||
|
Reference in New Issue
Block a user