- commit
- ca2d4125a650c486acb1985fd2e845525e476a68
- parent
- fda8d11cf0152bb5e121152adbf527b1510df782
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2021-05-08 08:57
render hud
Diffstat
| M | tighogg.py | 36 | +++++++++++++++++++++++++++++++----- |
1 files changed, 31 insertions, 5 deletions
diff --git a/tighogg.py b/tighogg.py
@@ -60,13 +60,39 @@ class Game: 60 60 def __init__(self): 61 61 self.player1 = Player(10, 10, RIGHT, YELLOW) 62 62 self.player2 = Player(20, 10, LEFT, GREEN) -1 63 self.players = [self.player1, self.player2] 63 64 self.running = True 64 65 -1 66 @property -1 67 def leader(self): -1 68 return self.players[-1] -1 69 -1 70 @property -1 71 def position(self): -1 72 return self.leader.x / self.cols -1 73 -1 74 def render_hud(self): -1 75 x = round(self.position * self.cols) -1 76 if self.leader == self.player1: -1 77 bar = ' ' * x + '<' + '=' * (self.cols - x - 1) -1 78 else: -1 79 bar = '=' * x + '>' + ' ' * (self.cols - x - 1) -1 80 boon.move(0, 0) -1 81 sys.stdout.write( -1 82 boon.get_cap('setaf', self.leader.color) -1 83 + bar -1 84 + boon.get_cap('sgr0') -1 85 ) -1 86 65 87 def render(self):66 -1 cols, rows = shutil.get_terminal_size()-1 88 self.cols, self.rows = shutil.get_terminal_size() 67 89 sys.stdout.write(boon.get_cap('clear'))68 -1 self.player1.render()69 -1 self.player2.render()-1 90 -1 91 self.render_hud() -1 92 -1 93 for player in self.players: -1 94 player.render() -1 95 70 96 sys.stdout.flush() 71 97 72 98 def on_key(self, key): @@ -99,8 +125,8 @@ class Game: 99 125 while self.running: 100 126 last = time.time() 101 127 self.on_key(boon.getch())102 -1 self.player1.step()103 -1 self.player2.step()-1 128 for player in self.players: -1 129 player.step() 104 130 self.render() 105 131 time.sleep(1 / 30 - (time.time() - last)) 106 132