Ejemplo n.º 1
0
    def __init__(self):
        ''' Sets up the initial game board, with the player at a set position.
                Once everything is set up, starts the game.
        '''
        # Set up the screen
        self.screen = GameScreen()
        self.bg = pygame.image.load(IMG_DIR + 'rainbowbg.png')

        # Set up some game components
        self.inventory = Inventory()
        self.map = Map()
        self.map.player = (1 * TILE_SIZE, 1 * TILE_SIZE)
        self.player_stats = Player()
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)

        self.clock = pygame.time.Clock()
        self.direction = 0

        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)

        self.screen.draw_screen_layers(player_stats=self.player_stats,
                                       map=self.map)

        self.run()
Ejemplo n.º 2
0
	def __init__(self):
		''' Sets up the initial game board, with the player at a set position.
	    	    Once everything is set up, starts the game.
		'''
		self.screen = pygame.display.set_mode((1280, 832))
		self.font = pygame.font.SysFont(None, 48)
		self.small_font = pygame.font.SysFont(None, 20)
		self.draw_alert("Welcome to Katie's Roguelike!")
		self.inventory = Inventory()
		self.inventory_screen = self.small_font.render("Inventory", True, WHITE, BLACK)
		self.player = pygame.image.load(IMG_DIR + 'dude.png')
		self.bg = pygame.image.load(IMG_DIR + 'rainbowbg.png')
		self.clock = pygame.time.Clock()
		self.direction = 0
		self.position = (0, 0)
		self.map = Map()
		self.map.clear_block(self.position)
		self.map.set_current_position(self.position)
		treasure = self.map.clear_treasure(self.position)
		if treasure:
			self.add_treasure(treasure)
		self.screen.blit(self.bg, (0,0))
		self.draw_walls()
		self.draw_treasure()
		self.draw_monsters()
		self.draw_darkness()
		self.draw_inventory()
                self.screen.blit(self.player, self.position)
		self.screen.blit(self.alert, (0, 790))
		self.run()
Ejemplo n.º 3
0
    def __init__(self):
        ''' Sets up the initial game board, with the player at a set position.
                Once everything is set up, starts the game.
        '''
        # Set up the screen
        self.screen = GameScreen()
        self.bg = pygame.image.load(IMG_DIR + 'rainbowbg.png')

        # Set up some game components
        self.inventory = Inventory()
        self.map = Map()
        self.map.player = (1*TILE_SIZE, 1*TILE_SIZE)
        self.player_stats = Player()
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)

        self.clock = pygame.time.Clock()
        self.direction = 0
        
        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)

        self.screen.draw_screen_layers(player_stats=self.player_stats, map=self.map)
        
        self.run()
Ejemplo n.º 4
0
	def __init__(self):
		self.screen = GameScreen()
		self.bg = pygame.image.load(IMG_DIR + 'background.png')
		death_sound = pygame.mixer.Sound(SFX_DIR + 'death.ogg')
		
		self.inventory = Inventory()
		self.map = Map()
		self.map.player = (1*TILE_SIZE, 1*TILE_SIZE)
		self.player_stats = Player()
		treasure = self.map.clear_treasure(self.map.player)
		if treasure:
			self.add_treasure(treasure)

		self.clock = pygame.time.Clock()
		self.direction = 0

		self.map.clear_block(self.map.player)
		self.map.set_current_position(self.map.player)
		
		self.screen.draw_screen_layers(player_stats=self.player_stats, map=self.map)
		
		self.run()
Ejemplo n.º 5
0
class Game(object):
    ''' The game object. Controls rendering the game and moving the player.
    '''
    def __init__(self):
        ''' Sets up the initial game board, with the player at a set position.
                Once everything is set up, starts the game.
        '''
        # Set up the screen
        self.screen = GameScreen()
        self.bg = pygame.image.load(IMG_DIR + 'rainbowbg.png')

        # Set up some game components
        self.inventory = Inventory()
        self.map = Map()
        self.map.player = (1 * TILE_SIZE, 1 * TILE_SIZE)
        self.player_stats = Player()
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)

        self.clock = pygame.time.Clock()
        self.direction = 0

        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)

        self.screen.draw_screen_layers(player_stats=self.player_stats,
                                       map=self.map)

        self.run()

    def add_treasure(self, treasure):
        ''' Adds the treasure to the player's inventory
        '''
        text = "You found a %s. %s" % (treasure.title, treasure.description)
        self.inventory.add_to_inventory(treasure, self.player_stats)
        self.screen.draw_alert(text)

    def move(self, hor, vert):
        ''' Moves the player, given a keypress. 
            Also evaluates if the player needs to fight or pick up some treasure.
        '''
        self.old_row, self.old_col = self.map.player
        row = self.old_row + hor
        col = self.old_col + vert
        if row > (ROWS - 1) * TILE_SIZE or row < 0 or col > (
                COLUMNS - 1) * TILE_SIZE or col < 0:
            return
        if self.map.has_wall(row, col):
            return
        if self.map.has_monster(row, col):
            Combat(self.player_stats,
                   self.map.monsters[row / TILE_SIZE][col / TILE_SIZE])
            if self.map.monsters[row / TILE_SIZE][col /
                                                  TILE_SIZE].current_hp <= 0:
                pass  #put death throes here
            if self.player_stats.current_hp <= 0:
                self.end_game()
            self.move(0, 0)
            return
        self.map.player = (row, col)
        self.map.player = (row, col)
        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)
            self.screen.draw_inventory(self.inventory)
            self.screen.draw_equipment(self.player_stats.equipped)

    def refresh_screen(self):
        self.screen.draw_player(self.map.player)
        self.screen.draw_screen_layers(self.map, self.player_stats)

    def end_game(self):
        ''' The exit screen for when the player has died, or completed the game. 
            So far, all it does is exit the game.
        '''
        sys.exit()

    def run(self):
        ''' The main loop of the game.
        '''
        # Fix for double move from Joshua Grigonis! Thanks!
        hor = 0
        vert = 0
        while 1:
            self.clock.tick(30)
            for event in pygame.event.get():
                if event.type == QUIT:
                    sys.exit(0)
                if event.type == KEYDOWN:
                    if event.key == K_ESCAPE:
                        sys.exit(0)
                    if event.key == K_LEFT:
                        hor = -TILE_SIZE
                        vert = 0
                    if event.key == K_RIGHT:
                        hor = TILE_SIZE
                        vert = 0
                    if event.key == K_UP:
                        vert = -TILE_SIZE
                        hor = 0
                    if event.key == K_DOWN:
                        vert = TILE_SIZE
                        hor = 0
                if event.type == KEYUP:
                    # updates only occur is player has moved.
                    if vert or hor:
                        self.move(hor, vert)
                        self.map.move_monsters()
                        hor = 0
                        vert = 0
            self.refresh_screen()
Ejemplo n.º 6
0
A sors kockái döntöttek!\nÜgyesség:%r\nÉleterő:%r\nSzerencse:%r\n
""" % (player.base_attributes['ugyesseg'], player.base_attributes['eletero'],
        player.base_attributes['szerencse'])
        player_inventory.set_bottle()
        raw_input("Készen állsz kalandor?\n> ")

    def display_inv(self):
        print "\n--------------------------------------------------------------------------------"
        print "Ügyesség: %r/%r Életerő: %r/%r Szerencse: %r/%r " % (
            player.actual_attributes['ugyesseg'],
            player.base_attributes['ugyesseg'],
            player.actual_attributes['eletero'],
            player.base_attributes['eletero'],
            player.actual_attributes['szerencse'],
            player.base_attributes['szerencse'])
        print "Zsákod tartalma: %s %s %s" % (
            player_inventory.bottle[0:2], player_inventory.dict_sack,
            player_inventory.list_sack)  #weird displaying
        print "Tested %s fedi, nyakadban %s lóg, kezedben %s leng." % (
            player_inventory.equipped['páncél'],
            player_inventory.equipped['nyakék'],
            player_inventory.equipped['fegyver'])  #weird displaying
        print "--------------------------------------------------------------------------------"


player = Player()
player_inventory = Inventory()
a_map = Map('0')
a_game = Engine(a_map)
a_game.play()
Ejemplo n.º 7
0
class Game(object):
    ''' The game object. Controls rendering the game and moving the player.
    '''
    def __init__(self):
        ''' Sets up the initial game board, with the player at a set position.
                Once everything is set up, starts the game.
        '''
        # Set up the screen
        self.screen = pygame.display.set_mode((1280, 832))
        self.font = pygame.font.SysFont(None, 48)
        self.small_font = pygame.font.SysFont(None, 20)
        self.draw_alert("Welcome to Katie's Roguelike!")
        self.bg = pygame.image.load(IMG_DIR + 'rainbowbg.png')
        self.player_blit = pygame.image.load(IMG_DIR + 'dude.png')
        self.screen.blit(self.bg, (0,0))

        # Set up some game components
        self.inventory = Inventory()
        self.map = Map()
        self.map.player = (0, 0)
        self.player_stats = Player()
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)

        self.inventory_screen = self.small_font.render("Inventory", True, WHITE, BLACK)
        self.stats_screen = self.small_font.render("ARGH", True, WHITE, BLACK)
        
        self.clock = pygame.time.Clock()
        self.direction = 0
        
        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)
        
        self.draw_walls()
        self.draw_stats()
        self.draw_treasure()
        self.draw_monsters()
        self.draw_darkness()
        self.draw_inventory()
        self.draw_stats()
        self.screen.blit(self.player_blit, self.map.player)
        self.screen.blit(self.alert, (0, 790))
        self.run()

    def draw_stats(self, color=WHITE):
        self.screen.blit(self.stats_screen, (1008, 0))
        self.stats_screen = self.small_font.render(self.player_stats.name, True, color, BLACK)
        self.screen.blit(self.stats_screen, (1008, 0))
        self.stats_screen = self.small_font.render("Level: " + str(self.player_stats.level), True, color, BLACK)
        self.screen.blit(self.stats_screen, (1008, 15))
        self.stats_screen = self.small_font.render("HP: %s/%s" % (str(self.player_stats.current_hp), str(self.player_stats.max_hp)), True, color, BLACK)
        self.screen.blit(self.stats_screen, (1008, 30)) 

    def draw_alert(self, alert, color=WHITE):
        ''' Draws the alert box at the bottom 
        '''
        self.alert = self.font.render(LONG_STRING, True, BLACK, BLACK)
        self.screen.blit(self.alert, (0, 790))
        try:
            pygame.display.flip()
        except:
            pass
        self.alert = self.font.render(alert, True, color, BLACK)

    def draw_inventory(self):
        self.screen.blit(self.inventory_screen, (1008, 100))
        items = self.inventory.get_items()
        for i in range(items.__len__()):
            line = self.small_font.render(LONG_STRING, True, BLACK, BLACK)
            self.screen.blit(line, (1008, ((i+1)*15)+100))
        pygame.display.flip()
        for item in items:
            line = self.small_font.render(item, True, WHITE, BLACK)
            self.screen.blit(line, (1008, (items.index(item)+1)*15+100))
        pygame.display.flip()

    def add_treasure(self, treasure):
        text = "You found a %s. %s" % (treasure.title, treasure.description)
        self.inventory.add_to_inventory(treasure.title)
        self.draw_alert(text)

    def draw_treasure(self):
        ''' Draws the treasure chests yet to be opened.
        '''
        for row in range(ROWS):
            for col in range(COLUMNS):
                if self.map.treasure[row][col] != 0:
                    treasure = pygame.image.load(IMG_DIR + 'chest.png')
                    self.screen.blit(treasure, (row*TILE_SIZE, col*TILE_SIZE))
    
    def draw_monsters(self):
        for row in range(ROWS):
            for col in range(COLUMNS):
                if self.map.monsters[row][col] != 0 and self.map.current[row][col] != 0:
                    monster = pygame.image.load(IMG_DIR + 'dumb_monster.png')
                    self.screen.blit(monster, (row*TILE_SIZE, col*TILE_SIZE))
    
    def draw_walls(self):
        for row in range(ROWS):
            for col in range(COLUMNS):
                if self.map.walls[row][col] != 0:
                    wall = pygame.image.load(IMG_DIR + 'wall.png')
                    self.screen.blit(wall, (row*TILE_SIZE, col*TILE_SIZE))

    def draw_darkness(self):
        ''' Draws the darkness and shadows on the board. 0 is dark, 1 is in shadows,
        '''
        for row in range(ROWS):
            for col in range(COLUMNS):
                if self.map.cleared[row][col] == 0:
                    if not self.map.current[row][col]:
                        pygame.draw.rect(self.screen, BLACK, (row*TILE_SIZE, col*TILE_SIZE, TILE_SIZE, TILE_SIZE))  
                if self.map.cleared[row][col] == 1:
                    if not self.map.current[row][col]:
                        shadow = pygame.Surface((TILE_SIZE, TILE_SIZE))
                        shadow.set_alpha(200)
                        shadow.fill(BLACK)
                        self.screen.blit(shadow, (row*TILE_SIZE, col*TILE_SIZE))

    def has_wall(self, row, col):
        row = row/TILE_SIZE
        col = col/TILE_SIZE
        if self.map.walls[row][col]:
            return True
        else:
            return False

    def has_monster(self, row, col):
        row = row/TILE_SIZE
        col = col/TILE_SIZE
        if self.map.monsters[row][col]:
            return True
        else:
            return False
    

    def move(self, hor, vert):
        ''' Moves the player, given a keypress. 
        '''
        self.old_row, self.old_col = self.map.player
        row = self.old_row + hor
        col = self.old_col + vert
        if row > (ROWS-1) * TILE_SIZE or row < 0 or col > (COLUMNS-1) * TILE_SIZE or col < 0:
            return
        if self.has_wall(row, col):
            return
        if self.has_monster(row, col):
            Combat(self.player_stats, self.map.monsters[row/TILE_SIZE][col/TILE_SIZE]).fight()
            return
        self.map.player = (row, col)
        self.map.player = (row, col)
        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)
            self.draw_inventory()
        self.screen.blit(self.player_blit, self.map.player)
        self.draw_screen_layers()
        self.screen.blit(self.player_blit, self.map.player)
        pygame.display.flip()

    def draw_screen_layers(self):
        self.screen.blit(self.bg, (0, 0))
        self.draw_treasure()
        self.draw_walls()
        self.draw_monsters()
        self.draw_darkness()
        self.draw_stats()
        self.screen.blit(self.alert, (0, 790))

    def animate_move(self, hor, vert, blit):
        if vert:
            if vert > 0:
                for i in range(TILE_SIZE/MOVEMENT_SIZE):
                    self.draw_screen_layers()
                    self.screen.blit(self.__getattribute__(blit), [self.old_row, self.old_col+i*MOVEMENT_SIZE])
                    pygame.display.update()
            else:
                for i in range(TILE_SIZE/MOVEMENT_SIZE):
                    self.draw_screen_layers()
                    self.screen.blit(self.__getattribute__(blit), [self.old_row, self.old_col-i*MOVEMENT_SIZE])
                    pygame.display.update()
        if hor:
            if hor > 0:
                for i in range(TILE_SIZE/MOVEMENT_SIZE):
                    self.draw_screen_layers()
                    self.screen.blit(self.__getattribute__(blit), [self.old_row+i*MOVEMENT_SIZE, self.old_col])
                    pygame.display.update()
            else:
                for i in range(TILE_SIZE/MOVEMENT_SIZE):
                    self.draw_screen_layers()
                    self.screen.blit(self.__getattribute__(blit), [self.old_row-i*MOVEMENT_SIZE, self.old_col])
                    pygame.display.update()

    def run(self):
        ''' The main loop of the game.
        '''
        # Fix for double move from Joshua Grigonis! Thanks!
        hor = 0
        vert = 0
        while 1:
            self.clock.tick(30)
            for event in pygame.event.get():
                if not hasattr(event, 'key'): 
                    continue
                if event.type == KEYDOWN:
                    if event.key == K_ESCAPE: 
                        sys.exit(0)
                    if event.key == K_LEFT:
                        hor = -TILE_SIZE
                        vert = 0
                    if event.key == K_RIGHT:
                        hor = TILE_SIZE
                        vert = 0
                    if event.key == K_UP:
                        vert = -TILE_SIZE
                        hor = 0
                    if event.key == K_DOWN:
                        vert = TILE_SIZE
                        hor = 0
                if event.type == KEYUP:
                    self.move(hor, vert)
                    self.map.move_monsters()
                    hor = 0
                    vert = 0
Ejemplo n.º 8
0
class Game(object):
    ''' The game object. Controls rendering the game and moving the player.
    '''
    def __init__(self):
        ''' Sets up the initial game board, with the player at a set position.
                Once everything is set up, starts the game.
        '''
        # Set up the screen
        self.screen = GameScreen()
        self.bg = pygame.image.load(IMG_DIR + 'rainbowbg.png')

        # Set up some game components
        self.inventory = Inventory()
        self.map = Map()
        self.map.player = (1*TILE_SIZE, 1*TILE_SIZE)
        self.player_stats = Player()
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)

        self.clock = pygame.time.Clock()
        self.direction = 0
        
        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)

        self.screen.draw_screen_layers(player_stats=self.player_stats, map=self.map)
        
        self.run()

    def add_treasure(self, treasure):
        ''' Adds the treasure to the player's inventory
        '''
        text = "You found a %s. %s" % (treasure.title, treasure.description)
        self.inventory.add_to_inventory(treasure, self.player_stats)
        self.screen.draw_alert(text)

    def move(self, hor, vert):
        ''' Moves the player, given a keypress. 
            Also evaluates if the player needs to fight or pick up some treasure.
        '''
        self.old_row, self.old_col = self.map.player
        row = self.old_row + hor
        col = self.old_col + vert
        if row > (ROWS-1) * TILE_SIZE or row < 0 or col > (COLUMNS-1) * TILE_SIZE or col < 0:
            return
        if self.map.has_wall(row, col):
            return
        if self.map.has_monster(row, col):
            Combat(self.player_stats, self.map.monsters[row/TILE_SIZE][col/TILE_SIZE])
            if self.map.monsters[row/TILE_SIZE][col/TILE_SIZE].current_hp <= 0:
                pass #put death throes here
            if self.player_stats.current_hp <= 0:
                self.end_game()
            self.move(0,0)
            return
        self.map.player = (row, col)
        self.map.player = (row, col)
        self.map.clear_block(self.map.player)
        self.map.set_current_position(self.map.player)
        treasure = self.map.clear_treasure(self.map.player)
        if treasure:
            self.add_treasure(treasure)
            self.screen.draw_inventory(self.inventory)
            self.screen.draw_equipment(self.player_stats.equipped)

    def refresh_screen(self):
        self.screen.draw_player(self.map.player)
        self.screen.draw_screen_layers(self.map, self.player_stats)

    def end_game(self):
        ''' The exit screen for when the player has died, or completed the game. 
            So far, all it does is exit the game.
        '''
        sys.exit()

    def run(self):
        ''' The main loop of the game.
        '''
        # Fix for double move from Joshua Grigonis! Thanks!
        hor = 0
        vert = 0
        while 1:
            self.clock.tick(30)
            for event in pygame.event.get():
                if event.type == QUIT:
                    sys.exit(0)
                if event.type == KEYDOWN:
                    if event.key == K_ESCAPE: 
                        sys.exit(0)
                    if event.key == K_LEFT:
                        hor = -TILE_SIZE
                        vert = 0
                    if event.key == K_RIGHT:
                        hor = TILE_SIZE
                        vert = 0
                    if event.key == K_UP:
                        vert = -TILE_SIZE
                        hor = 0
                    if event.key == K_DOWN:
                        vert = TILE_SIZE
                        hor = 0
                if event.type == KEYUP:
                    # updates only occur is player has moved.
                    if vert or hor:
                        self.move(hor, vert)
                        self.map.move_monsters()
                        hor = 0
                        vert = 0    
            self.refresh_screen()
Ejemplo n.º 9
0
class Game(object):
	# game object, controls rendering game and moving player
	def __init__(self):
		self.screen = GameScreen()
		self.bg = pygame.image.load(IMG_DIR + 'background.png')
		death_sound = pygame.mixer.Sound(SFX_DIR + 'death.ogg')
		
		self.inventory = Inventory()
		self.map = Map()
		self.map.player = (1*TILE_SIZE, 1*TILE_SIZE)
		self.player_stats = Player()
		treasure = self.map.clear_treasure(self.map.player)
		if treasure:
			self.add_treasure(treasure)

		self.clock = pygame.time.Clock()
		self.direction = 0

		self.map.clear_block(self.map.player)
		self.map.set_current_position(self.map.player)
		
		self.screen.draw_screen_layers(player_stats=self.player_stats, map=self.map)
		
		self.run()

	def add_treasure(self, treasure):
		text = 'You found a %s. %s' % (treasure.title, treasure.description)
		self.inventory.add_to_inventory(treasure, self.player_stats)
		self.screen.draw_alert(text)

	def move(self, hor, vert):
		# given keypress, moves player
		# also checks for fight or treasure pick-up
		self.old_row, self.old_col = self.map.player
		row = self.old_row + hor
		col = self.old_col + vert
		if row > (ROWS-1)*TILE_SIZE or row < 0 or col > (COLUMNS-1)*TILE_SIZE or col < 0:
			return
		if self.map.has_wall(row, col):
			return
		if self.map.has_monster(row, col):
			Combat(self.player_stats, self.map.monsters[row/TILE_SIZE][col/TILE_SIZE]).fight()
			if self.map.monsters[row/TILE_SIZE][col/TILE_SIZE].current_hp <= 0:
				Combat(self.player_stats, self.map.monsters[row/TILE_SIZE][col/TILE_SIZE]).award_exp()
				Combat(self.player_stats, self.map.monsters[row/TILE_SIZE][col/TILE_SIZE]).death_note(self.map.monsters[row/TILE_SIZE][col/TILE_SIZE].stats['Death Note'])
				self.map.monsters[row/TILE_SIZE][col/TILE_SIZE] = 0
			if self.player_stats.current_hp <= 0:
				death_sound.play()
				self.end_game()
			self.move(0, 0)
			return
		self.map.player = (row, col)
		self.map.player = (row, col)
		self.map.clear_block(self.map.player)
		self.map.set_current_position(self.map.player)
		treasure = self.map.clear_treasure(self.map.player)
		if treasure:
			self.add_treasure(treasure)
			self.screen.draw_inventory(self.inventory)
			self.screen.draw_equipment(self.player_stats.equipped)

	def refresh_screen(self):
		self.screen.draw_player(self.map.player)
		self.screen.draw_screen_layers(self.map, self.player_stats)

	def end_game(self):
		# exit screen for when player has died or won

		self.terminate()

	def run(self):
		# event handler
		hor = 0
		vert = 0
		hard_music = 0
		while hard_music == 0:
			self.begin_music()
			hard_music = 1

		while 1:
			self.clock.tick(30)

			for event in pygame.event.get():
				if not hasattr(event, 'key'):
					continue
				if event.type == KEYDOWN:
					if event.key == K_ESCAPE:
						self.terminate()
					if event.key == K_LEFT:
						hor = -TILE_SIZE
						vert = 0
					if event.key == K_RIGHT:
						hor = TILE_SIZE
						vert = 0
					if event.key == K_UP:
						vert = -TILE_SIZE
						hor = 0
					if event.key == K_DOWN:
						vert = TILE_SIZE
						hor = 0
				if event.type == KEYUP:
					self.map.move_monsters()
					self.move(hor, vert)
					hor = 0
					vert = 0
			self.refresh_screen()

	def terminate(self):
		pygame.quit()
		sys.exit()

	def begin_music(self):
		pygame.mixer.init(22050, -8, 4, 4096)
		pygame.mixer.music.load(SFX_DIR + 'Raver.flac')
		pygame.mixer.music.play(-1, 0.0)