Files
schafkopf_python/src/ConsoleRenderer.py
Daniel Ledda b0c37aae52 first commit
2020-06-08 16:56:30 +02:00

36 lines
980 B
Python

from Renderer import Renderer
from typing import List
from Player import Player
from Card import Card
from Glyph import side_by_side_glyphs, stacked_glyphs, glyph_to_colored_string
import os
class ConsoleRenderer(Renderer):
def __init__(self):
super().__init__()
self.header = ""
self.stack = ""
self.hand = ""
def render_stack(self, cards: List[Card]):
self.stack = glyph_to_colored_string(stacked_glyphs(cards))
self.rerender()
def render_hand(self, player: Player):
self.hand = player.get_name() + "'s hand:\n" + \
glyph_to_colored_string(side_by_side_glyphs(player.card_options()))
self.rerender()
def render_message(self, message: str):
self.header = message
self.rerender()
def rerender(self):
os.system("clear")
print(self.header)
print()
print("Current Stack: ")
print(self.stack)
print(self.hand)