import pygame import random pygame.mixer.pre_init(48000, -16, 2, 2048) pygame.mixer.init() pygame.mixer.set_num_channels(3) intro = pygame.mixer.Sound("./assets/sounds/intro.mp3") menu = pygame.mixer.Sound("./assets/music/menu.mp3") bgm = [ pygame.mixer.Sound("./assets/music/bgm1.mp3"), pygame.mixer.Sound("./assets/music/bgm2.mp3"), pygame.mixer.Sound("./assets/music/bgm3.mp3"), pygame.mixer.Sound("./assets/music/bgm4.mp3"), pygame.mixer.Sound("./assets/music/bgm5.mp3") ] sfx = { "glass": [ pygame.mixer.Sound("./assets/sounds/game/block_glass_1.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_glass_2.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_glass_3.ogg") ], "grass": [ pygame.mixer.Sound("./assets/sounds/game/block_grass_1.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_grass_2.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_grass_3.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_grass_4.ogg") ], "stone": [ pygame.mixer.Sound("./assets/sounds/game/block_stone_1.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_stone_2.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_stone_3.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_stone_4.ogg") ], "wood": [ pygame.mixer.Sound("./assets/sounds/game/block_wood_1.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_wood_2.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_wood_3.ogg"), pygame.mixer.Sound("./assets/sounds/game/block_wood_4.ogg") ], "none": [ pygame.mixer.Sound("./assets/sounds/game/none_1.ogg"), pygame.mixer.Sound("./assets/sounds/game/none_2.ogg"), pygame.mixer.Sound("./assets/sounds/game/none_3.ogg"), pygame.mixer.Sound("./assets/sounds/game/none_4.ogg") ] } def play_intro(): pygame.mixer.Channel(0).play(intro) def play_music(): if not pygame.mixer.Channel(1).get_busy(): pygame.mixer.Channel(1).set_volume(0.5) pygame.mixer.Channel(1).play(random.choice(bgm)) def play_menu(force=False): if not pygame.mixer.Channel(1).get_busy() or force: pygame.mixer.Channel(1).set_volume(0.5) pygame.mixer.Channel(1).play(menu) def stop(channel=1): pygame.mixer.Channel(channel).stop() def play_sfx(id): pygame.mixer.Channel(2).play(random.choice(sfx[id]))