From 1e69667ba86f0d59785baf268d8d9680a9cb1c26 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 6 May 2022 21:16:00 -0700 Subject: [PATCH] Create a Hero class for the character the player moves; stop using tcod.Color for foreground and background; use tuples instead --- roguebasin/object.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/roguebasin/object.py b/roguebasin/object.py index 291ed32..91f329f 100644 --- a/roguebasin/object.py +++ b/roguebasin/object.py @@ -3,17 +3,17 @@ import tcod from .geometry import Point -from typing import Optional +from typing import Optional, Tuple class Entity: '''A single-tile drawable entity with a symbol and position.''' def __init__(self, symbol: str, *, position: Optional[Point] = None, - fg: Optional[tcod.Color] = None, - bg: Optional[tcod.Color] = None): + fg: Optional[Tuple[int, int, int]] = None, + bg: Optional[Tuple[int, int, int]] = None): self.position = position if position else Point() - self.foreground = fg if fg else tcod.white + self.foreground = fg if fg else (255, 255, 255) self.background = bg self.symbol = symbol @@ -24,4 +24,8 @@ class Entity: return f'{self.symbol}[{self.position}]' def __repr__(self): - return f'{self.__class__.__name__}({self.symbol}, position={self.position}, fg={self.foreground}, bg={self.background})' \ No newline at end of file + return f'{self.__class__.__name__}({self.symbol}, position={self.position}, fg={self.foreground}, bg={self.background})' + +class Hero(Entity): + def __init__(self, position: Point): + super().__init__('@', position=position, fg=tuple(tcod.white)) \ No newline at end of file