summaryrefslogtreecommitdiff
path: root/tui/tui.py
diff options
context:
space:
mode:
Diffstat (limited to 'tui/tui.py')
-rw-r--r--tui/tui.py40
1 files changed, 9 insertions, 31 deletions
diff --git a/tui/tui.py b/tui/tui.py
index 06a5c6e..5b15d5f 100644
--- a/tui/tui.py
+++ b/tui/tui.py
@@ -2,7 +2,8 @@
# pylint: disable = multiple-imports
import termios, fcntl, sys, os
from time import sleep
-from tui.static import Action, ActionKeys, Colors, TileTypes
+from tui.static import Action, ActionKeys, TileTypes
+from tui.ansi import Ansi
class Tui():
@@ -30,41 +31,19 @@ class Tui():
print()
- def set_color(self, color):
- """ asettaa tekstin värin """
- if color in range(16):
- print(end=f"\033[{'1;' if color//8 else ''}3{color%8}m")
-
-
- def set_bg(self, color):
- """ asettaa tekstin taustan värin"""
- if color in range(8):
- print(end=f"\033[4{color}m")
-
-
- def cursor_up(self, lines):
- """ liikuttaa kursoria ylöspäin"""
- print(end=f"\033[{lines}F")
-
-
- def reset_color(self):
- """ resetoi tekstin värin ja muut attribuutit perusarvoille """
- print(end="\033[0m")
-
-
def draw_tile(self, tile, hilighted):
""" "piirtää" yhden ruudun """
for ch, colors in zip(TileTypes[tile].text, TileTypes[tile].colors):
color, bg = colors
- self.set_color(Colors.BLACK if hilighted else color)
- self.set_bg(Colors.CYAN if hilighted else bg)
+ Ansi.color(Ansi.BLACK if hilighted else color)
+ Ansi.bg(Ansi.CYAN if hilighted else bg)
print(end=ch)
- self.reset_color()
+ Ansi.reset()
def draw_matrix(self, matrix, hx, hy):
""" "piirtää" ruudukon """
- self.cursor_up(len(matrix[0]))
+ Ansi.cup(len(matrix[0]))
# pylint: disable=consider-using-enumerate
for y in range(len(matrix[0])):
for x in range(len(matrix)):
@@ -113,15 +92,14 @@ class Tui():
""" näyttää laudan, tekstin alla ja jää odottelemaan nappia """
self.draw_matrix(matrix, x, y)
print(text)
- self.cursor_up(1)
+ Ansi.cup(1)
self.read_action()
def game_begin(self, size):
""" ruudun alustus ja lähtökoordinaatien määritys """
- for _ in range(size+1):
- print()
- self.cursor_up(1)
+ print(end="\n"*(size+1))
+ Ansi.cup(1)
return size//2, size//2