ADD bomb asset & ADD inventory to game info tab
This commit is contained in:
BIN
assets/images/bomb.png
Normal file
BIN
assets/images/bomb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 377 KiB |
1
main.py
1
main.py
@@ -30,6 +30,7 @@ def main():
|
||||
"background_colour": (30, 30, 30),
|
||||
"foreground_colour": (100, 100, 100),
|
||||
"player_selected_colour": (255, 255, 0),
|
||||
"bomb_image": pygame.image.load("assets/images/bomb.png"),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class InfoRenderer:
|
||||
self.selected_player = None
|
||||
|
||||
self.player_info_start_y = 100
|
||||
self.match_info_start_y = 400
|
||||
self.match_info_start_y = 500
|
||||
|
||||
# Private methods
|
||||
def _render_player_info(self):
|
||||
@@ -23,6 +23,7 @@ class InfoRenderer:
|
||||
else:
|
||||
player_info_title = f"Player: {self.selected_player.name}\n"
|
||||
player_info = f"Active Weapon: {self.selected_player.current_weapon}\n"
|
||||
player_info += f"Inventory: \n - {"\n - ".join(self.selected_player.inventory)}\n"
|
||||
player_info += f"Health: {self.selected_player.health}\n"
|
||||
player_info += f"Armour: {self.selected_player.armour}\n"
|
||||
player_info += f"Kills: {self.selected_player.kills}\n"
|
||||
|
||||
@@ -13,9 +13,14 @@ class PlayerRenderer:
|
||||
self.styling = styling
|
||||
self.player_font = pygame.font.Font(None, 15)
|
||||
|
||||
self.bomb_image = self.styling["bomb_image"]
|
||||
|
||||
self.player_radius = 5
|
||||
self.hovered_radius = 10
|
||||
|
||||
self.bomb_radius = 10
|
||||
self.bomb_hovered_radius = 15
|
||||
|
||||
self.health_bar_foreground = (0, 255, 0)
|
||||
self.health_bar_background = (255, 0, 0)
|
||||
|
||||
@@ -41,6 +46,10 @@ class PlayerRenderer:
|
||||
|
||||
## Private Methods
|
||||
def _render_circle(self, player: Player, team):
|
||||
if player.has_bomb:
|
||||
self._render_bomb(player)
|
||||
return
|
||||
|
||||
if player.is_hovered:
|
||||
radius = self.hovered_radius
|
||||
else:
|
||||
@@ -49,6 +58,16 @@ class PlayerRenderer:
|
||||
x, y = self.map_coord_converter.map_to_screen(player.x, player.y)
|
||||
pygame.draw.circle(self.screen, team.colour, (x, y), radius)
|
||||
|
||||
def _render_bomb(self, player: Player):
|
||||
if player.is_hovered:
|
||||
radius = self.bomb_hovered_radius
|
||||
else:
|
||||
radius = self.bomb_radius
|
||||
|
||||
x, y = self.map_coord_converter.map_to_screen(player.x, player.y)
|
||||
bomb_image = pygame.transform.scale(self.bomb_image, (radius*2, radius*2))
|
||||
self.screen.blit(bomb_image, (x-radius, y-radius))
|
||||
|
||||
def _render_text(self, player):
|
||||
if player.is_selected:
|
||||
text = self.player_font.render(player.name, True, self.styling["player_selected_colour"])
|
||||
|
||||
Reference in New Issue
Block a user