mine implementation
This commit is contained in:
+2
-1
@@ -27,8 +27,9 @@ class KeyBindings:
|
||||
elif key in keybindings.get("scroll_right", []):
|
||||
self.start_scrolling("Right")
|
||||
elif key in keybindings.get("spawn_bomb", []):
|
||||
self.render_engine.play_sound("PUTDOWN.WAV")
|
||||
self.spawn_bomb(self.pointer)
|
||||
elif key in keybindings.get("spawn_mine", []):
|
||||
self.spawn_mine(self.pointer)
|
||||
elif key in keybindings.get("pause", []):
|
||||
self.game_status = "paused" if self.game_status == "game" else "game"
|
||||
elif key in keybindings.get("start_game", []):
|
||||
|
||||
+3
-1
@@ -2,6 +2,7 @@ import os
|
||||
|
||||
class Graphics():
|
||||
def load_assets(self):
|
||||
print("Loading graphics assets...")
|
||||
self.tunnel = self.render_engine.load_image("Rat/BMP_TUNNEL.png", surface=True)
|
||||
self.grasses = [self.render_engine.load_image(f"Rat/BMP_1_GRASS_{i+1}.png", surface=True) for i in range(4)]
|
||||
self.rat_assets = {}
|
||||
@@ -16,6 +17,7 @@ class Graphics():
|
||||
for file in os.listdir("assets/Rat"):
|
||||
if file.endswith(".png"):
|
||||
self.assets[file[:-4]] = self.render_engine.load_image(f"Rat/{file}")
|
||||
|
||||
|
||||
|
||||
# ==================== RENDERING ====================
|
||||
@@ -65,7 +67,7 @@ class Graphics():
|
||||
self.blood_stains[position] = new_blood_surface
|
||||
|
||||
# Regenerate background to include the updated blood stain
|
||||
self.regenerate_background()
|
||||
self.background_texture = None
|
||||
|
||||
def scroll_cursor(self, x=0, y=0):
|
||||
if self.pointer[0] + x > self.map.width or self.pointer[1] + y > self.map.height:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import random
|
||||
import uuid
|
||||
from units import rat, bomb
|
||||
from units import rat, bomb, mine
|
||||
|
||||
class UnitManager:
|
||||
def count_rats(self):
|
||||
@@ -17,7 +17,14 @@ class UnitManager:
|
||||
self.spawn_unit(rat_class, position)
|
||||
|
||||
def spawn_bomb(self, position):
|
||||
self.render_engine.play_sound("PUTDOWN.WAV")
|
||||
self.spawn_unit(bomb.Timer, position)
|
||||
|
||||
def spawn_mine(self, position):
|
||||
if self.map.is_wall(position[0], position[1]):
|
||||
return
|
||||
self.render_engine.play_sound("PUTDOWN.WAV")
|
||||
self.spawn_unit(mine.Mine, position)
|
||||
|
||||
def spawn_unit(self, unit, position, **kwargs):
|
||||
id = uuid.uuid4()
|
||||
|
||||
Reference in New Issue
Block a user