Compare commits

..

4 commits

3 changed files with 36 additions and 8 deletions

View file

@ -32,7 +32,7 @@ class Editor:
self.tilemap: Tilemap = Tilemap(game=self, tile_size=16)
self.map_id: int | str = "jays_map"
self.map_id: int | str = "jays_new_map"
self.load_level(self.map_id)
self.scroll: list[float] = [0, 0]

36
game.py
View file

@ -78,18 +78,34 @@ class Game:
"gun": load_image(path="gun.png"),
"projectile": load_image(path="projectile.png"),
}
self.sfx = {
"jump": pygame.mixer.Sound("data/sfx/jump.wav"),
"dash": pygame.mixer.Sound("data/sfx/dash.wav"),
"hit": pygame.mixer.Sound("data/sfx/hit.wav"),
"shoot": pygame.mixer.Sound("data/sfx/shoot.wav"),
"ambience": pygame.mixer.Sound("data/sfx/ambience.wav"),
}
self.sfx["ambience"].set_volume(0.2)
self.sfx["shoot"].set_volume(0.4)
self.sfx["hit"].set_volume(0.8)
self.sfx["dash"].set_volume(0.3)
self.sfx["jump"].set_volume(0.7)
self.player: Player = Player(game=self, pos=(50, 50), size=(8, 15))
self.tilemap: Tilemap = Tilemap(game=self, tile_size=16)
self.level: int | str = "jays_map"
self.level: int | str = "jays_new_map"
self.load_level(map_id=self.level)
self.screenshake = 0
self.clouds: Clouds = Clouds(cloud_images=self.assets["clouds"], count=16)
self.isJumping: bool = False
# self.boost: bool = False
# self.boost: bool = Falsed
def load_level(self, map_id: str | int):
try:
@ -122,6 +138,12 @@ class Game:
self.transition: int = -30
def run(self) -> None:
pygame.mixer.music.load("data/music.wav")
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play(loops=-1)
self.sfx["ambience"].play(loops=-1)
while self.running:
self.display.fill((0, 0, 0, 0))
self.display_2.blit(self.assets["background"], (0, 0))
@ -214,6 +236,7 @@ class Game:
if self.player.rect().collidepoint(projectile[0]):
self.projectiles.remove(projectile)
self.dead += 1
self.sfx["hit"].play()
for _ in range(30):
angle = random.random() * math.pi * 2
speed = random.random() * 5
@ -274,11 +297,12 @@ class Game:
if (
event.key == pygame.K_SPACE or event.key == pygame.K_w
): # and not self.isJumping
self.player.jump()
if self.player.jump():
self.sfx["jump"].play()
if event.key == pygame.K_m:
# self.boost = True
self.player.boost()
# if event.key == pygame.K_m:
# # self.boost = True
# self.player.boost()
if (
event.key == pygame.K_x

View file

@ -137,6 +137,7 @@ class Enemy(PhysicsEntity):
self.game.projectiles.append(
[[self.rect().centerx - 7, self.rect().centery], -1.5, 0]
)
self.game.sfx["shoot"].play()
for _ in range(4):
self.game.sparks.append(
Spark(
@ -149,6 +150,7 @@ class Enemy(PhysicsEntity):
self.game.projectiles.append(
[[self.rect().centerx + 7, self.rect().centery], 1.5, 0]
)
self.game.sfx["shoot"].play()
for _ in range(4):
self.game.sparks.append(
Spark(
@ -171,6 +173,7 @@ class Enemy(PhysicsEntity):
if abs(self.game.player.dashing) >= 50:
if self.rect().colliderect(self.game.player.rect()):
self.game.screenshake = max(16, self.game.screenshake)
self.game.sfx["hit"].play()
for _ in range(30):
angle = random.random() * math.pi * 2
speed = random.random() * 5
@ -211,7 +214,7 @@ class Player(PhysicsEntity):
def update(self, tilemap: Tilemap, movement: tuple[float, float] = (0, 0)) -> None:
super().update(tilemap, movement)
self.air_time += 1
if self.air_time > 120 and not self.wall_slide:
@ -337,6 +340,7 @@ class Player(PhysicsEntity):
def dash(self) -> None:
if not self.dashing:
self.game.sfx["dash"].play()
if self.flip:
self.dashing = -60
else: