ADD: colours to players on teams

This commit is contained in:
2025-03-16 17:25:32 +01:00
parent 9cd205a293
commit 3ee2c5de44
4 changed files with 32 additions and 17 deletions

View File

@@ -12,7 +12,8 @@ def main():
map_name = header_info['map_name']
players = demo_parser.parse_player_info()
team_1 = Team(is_ct=True)
team_1 = Team()
team_1.set_ct()
team_2 = Team()
m = Match(map_name, game_info, team_1, team_2)
m.tick = 1800

View File

@@ -39,13 +39,13 @@ class Match:
self.round = self.current_tick["team_rounds_total"].values[0]
if self.round >= 8:
self.team_1.is_ct = False
self.team_2.is_ct = True
self.team_1.set_t()
self.team_2.set_ct()
self.team_1.score = int(self.current_tick[self.current_tick["team_num"] == 3]["team_rounds_total"].values[0])
self.team_2.score = int(self.current_tick[self.current_tick["team_num"] == 2]["team_rounds_total"].values[0])
else:
self.team_1.is_ct = True
self.team_2.is_ct = False
self.team_1.set_ct()
self.team_2.set_t()
self.team_1.score = int(self.current_tick[self.current_tick["team_num"] == 2]["team_rounds_total"].values[0])
self.team_2.score = int(self.current_tick[self.current_tick["team_num"] == 3]["team_rounds_total"].values[0])
@@ -57,3 +57,6 @@ class Match:
def get_players(self) -> list[Player]:
return self.team_1.players + self.team_2.players
def get_teams(self) -> list[Team]:
return [self.team_1, self.team_2]

View File

@@ -38,15 +38,17 @@ class Renderer:
def render_players(self):
"""Draws everything on screen."""
self.map_coord_controller.update_screen_size(self.screen.get_width(), self.screen.get_height())
for player in self.match.get_players():
if player.dead:
continue
mapped_x, mapped_y = self.map_coord_controller.map_to_screen(player.x, player.y)
pygame.draw.circle(self.screen, (255, 255, 255), (mapped_x, mapped_y), 5)
# Draw player name
text = self.small_font.render(player.name, True, (255, 255, 255))
self.screen.blit(text, (mapped_x + 10, mapped_y))
for team in self.match.get_teams():
for player in team.players:
if player.dead:
continue
mapped_x, mapped_y = self.map_coord_controller.map_to_screen(player.x, player.y)
pygame.draw.circle(self.screen, team.colour, (mapped_x, mapped_y), 5)
# Draw player name
text = self.small_font.render(player.name, True, (255, 255, 255))
self.screen.blit(text, (mapped_x + 10, mapped_y))
pygame.display.flip() # Update display

View File

@@ -1,9 +1,10 @@
from models.player import Player
class Team:
def __init__(self, is_ct=False):
def __init__(self):
self.players = []
self.is_ct = is_ct
self.is_ct = False
self.colour = 'brown'
self.score = 0
def add_player(self, player: Player):
@@ -11,3 +12,11 @@ class Team:
def remove_player(self, player: Player):
self.players.remove(player)
def set_ct(self):
self.is_ct = True
self.colour = 'blue'
def set_t(self):
self.is_ct = False
self.colour = 'brown'