Example #1
0
 def __init__(self, id, name, overall_matches, overall_innings,
              overall_runs, overall_average, overall_strike_rate,
              overall_100s, overall_50s, home_matches, home_innings,
              home_runs, home_average, home_strike_rate, home_100s,
              home_50s, away_matches, away_innings, away_runs, away_average,
              away_strike_rate, away_100s, away_50s, form_matches,
              form_innings, form_runs, form_average, form_strike_rate,
              form_100s, form_50s):
     Player.__init__(self, id, name, overall_matches, overall_innings,
                     overall_runs, overall_average, overall_strike_rate,
                     overall_100s, overall_50s)
     self.home_matches = home_matches
     self.home_innings = home_innings
     self.home_runs = home_runs
     self.home_average = home_average
     self.home_strike_rate = home_strike_rate
     self.home_100s = home_100s
     self.home_50s = home_50s
     self.away_matches = away_matches
     self.away_innings = away_innings
     self.away_runs = away_runs
     self.away_average = away_average
     self.away_strike_rate = away_strike_rate
     self.away_100s = away_100s
     self.away_50s = away_50s
     self.form_matches = form_matches
     self.form_innings = form_innings
     self.form_runs = form_runs
     self.form_average = form_average
     self.form_strike_rate = form_strike_rate
     self.form_100s = form_100s
     self.form_50s = form_50s
Example #2
0
    def reset(self, centerx=None, centery=None, bottom=None):
        """
        Ilmar doesn't need to be invincible.
        """

        Player.reset(self, centerx, centery)
        self._invincible_counter = 0
        self._decoration_list.remove(self)
Example #3
0
def main():
    words = ReadWord()
    player = Player()
    hangmanGame = Game()

    guesses = player.getGuesses()
    words.readWords()
    secretWord = words.loadWord(guesses)
    hangmanGame.startHangmanGame(secretWord, guesses)
Example #4
0
    def __init__(self, kwargs):

        images = {
            'neutral':
            'Fred_neutral.png',
            'walk': {
                'right': {
                    'straight': ['Fred_walk_00.png', 'Fred_walk_02.png'],
                    'up': ['Fred_walk_up_00.png', 'Fred_walk_up_02.png'],
                    'down': ['Fred_walk_down_00.png', 'Fred_walk_down_02.png']
                }
            },
            'stand': {
                'right': {
                    'straight': ['Fred_stand.png'],
                    'up': ['Fred_stand_up.png'],
                    'down': ['Fred_stand_down.png']
                }
            },
            'fly': {
                'right': {
                    'straight': ['Fred_fly.png'],
                    'up': ['Fred_fly_up.png'],
                    'down': ['Fred_fly_down.png']
                }
            },
            'dead': [
                'Fred_dead_00.png', 'Fred_dead_01.png', 'Fred_dead_02.png',
                'Fred_dead_03.png'
            ]
        }

        kwargs["images"] = images
        kwargs["horizontal_speed"] = 4.0
        kwargs["horizontal_inertia"] = 20.0
        kwargs["multi_jumps"] = 2
        kwargs["vertical_acceleration"] = 0.2
        kwargs["jump_velocity"] = -5.0
        kwargs["fpi"] = 4
        kwargs["projectile_class"] = BB
        kwargs["max_in_flight"] = 10
        kwargs["hp"] = 20

        Player.__init__(self, kwargs)

        # Make Fred's collision box a bit narrower than the images
        self._c_rect.width = self.rect.width - 8
        self._c_rect.centerx = self.rect.centerx
Example #5
0
    def __init__(self, kwargs):

        images = {
            'neutral':
            'Ilmar_stand_straight.png',
            'walk': {
                'right': {
                    'straight': ['Ilmar_walk_straight.png'],
                    'up': ['Ilmar_walk_up.png'],
                    'down': ['Ilmar_walk_straight.png']
                }
            },
            'stand': {
                'right': {
                    'straight': ['Ilmar_stand_straight.png'],
                    'up': ['Ilmar_stand_up.png'],
                    'down': ['Ilmar_stand_straight.png']
                }
            },
            'fly': {
                'right': {
                    'straight': ['Ilmar_fly_straight.png'],
                    'up': ['Ilmar_fly_up.png'],
                    'down': ['Ilmar_fly_straight.png']
                }
            },
            'dead': [
                'Ilmar_dead_00.png', 'Ilmar_dead_01.png', 'Ilmar_dead_02.png',
                'Ilmar_dead_03.png'
            ]
        }

        kwargs["images"] = images
        kwargs["horizontal_speed"] = 3.0
        kwargs["horizontal_inertia"] = 40.0
        kwargs["multi_jumps"] = 1
        kwargs["vertical_acceleration"] = 0.1
        kwargs["jump_velocity"] = -5.0
        kwargs["fpi"] = 4
        kwargs["projectile_class"] = Slug
        kwargs["max_in_flight"] = 5
        # Ilmar's hp is never reduced so is effectively infinite
        kwargs["hp"] = 1

        Player.__init__(self, kwargs)
Example #6
0
 def __init__(self, box, sc_width, sc_height):
     self.box = box
     self.name_projectil = "laser"
     self.name_player = ""
     self.player = Player(self, sc_width, sc_height, self.name_player,
                          "ship3")
     self.all_monsters = pygame.sprite.Group()
     self.event = Event(self, sc_width, sc_height)
     self.sc_width = sc_width
     self.sc_height = sc_height
     self.keybord = {}
     self.total_degat = 0
     self.is_running = False
     self.is_boss = False
     self.time = 0
     self.PLAYERS = {}
     self.total_game = 0
     self.last_ammo_update = pygame.time.get_ticks()
     self.tab = PRINT_NUM_PROJECTIL
Example #7
0
def main():
	# Initiate pygame
	pygame.init()
	# Prep the fps timer
	fpsclock = pygame.time.Clock()
	
	# Define the main surfaces and set the caption
	window_surface = pygame.display.set_mode((1024,768))
	trace_surface = pygame.Surface((1024, 768))
	pygame.display.set_caption("Space Simulator")
	
	# Define colours that will be used
	black_colour = pygame.Color(0,0,0)
	yellow_colour = pygame.Color(255, 255, 0)
	green_colour = pygame.Color(0, 255, 0)
	red_colour = pygame.Color(255, 0, 0)
	
	# Define fonts to be used
	text_font = pygame.font.SysFont("monospace", 12)
	
	# Planetary bodies currently being tested
	bodies = pygame.sprite.Group()
	stars = pygame.sprite.Group()
	
	sun = Star(100, [550, 484])
	urf = Planet(20, sun, 200.0, 1,1)
	munjd = Planet(3, urf, 22.0, 2.0, 2)
	plr = Player([100, 100], [1,1], 5, sun)
	
	stars.add((sun))
	bodies.add((urf, munjd))
	
	
	while True:
		# Reset the main surface and overlay the trace surface
		window_surface.fill(black_colour)
		window_surface.blit(trace_surface, (0,0))
		
		# Draw stars
		for star in stars:
		#	pygame.draw.circle(window_surface, yellow_colour, star.display_location, star.sphere_of_influence)
			window_surface.blit(star.image, (star.rect))
		stars.update()

		
		# Draw planets
		for planet in bodies:
			#pygame.draw.circle(window_surface, green_colour, [int(planet.display_location[0]), int(planet.display_location[1])], planet.sphere_of_influence)
			window_surface.blit(planet.image, (planet.rect))
		bodies.update()
		
		# Draw player	
		window_surface.blit(plr.image, (plr.display_location))
		plr.update(stars, bodies)
		
		# Draw text
		text_surface = text_font.render("Fuel: " + str(plr.fuel), False, yellow_colour)
		window_surface.blit(text_surface, (0, 0))
		
		# Event handling code
		for event in pygame.event.get():
			if event.type == QUIT:
				pygame.quit()
			if event.type == KEYDOWN:
				if event.key == K_ESCAPE:
					pygame.event.post(pygame.event.Event(QUIT))
		
		# Update planetary bodies
		
		
		# Update the screen
		pygame.display.update()
		
		# Keep the fps at a fixed amount
		fpsclock.tick(30)
Example #8
0
import pygame as pg
from pygame.locals import *
from Classes.sound_manager import *
from Classes.group_manager import *
from Classes.event_manager import *
from Classes.player import Player
from Classes.enemy import Enemy
from Classes.cloud import Cloud
from constants import *

pg.init()
pg.font.init()
font = pg.font.SysFont('Comic Sans MS', 60)
clock = pg.time.Clock()
screen = pg.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
player = Player()
bg = pg.image.load("images/nebula.jpg").convert()

groups = Groups()
for group in Group:
    groups[group] = pg.sprite.Group()
groups[Group.DEFAULT].add(player)

events = Events()
events[Event.ADDENEMY] = pg.USEREVENT + 1
pg.time.set_timer(events[Event.ADDENEMY], 500)
events[Event.ADDCLOUD] = pg.USEREVENT + 2
#pg.time.set_timer(events[Event.ADDCLOUD], 1000)

pg.mixer.music.load("sound/Sky_dodge_theme.ogg")
pg.mixer.music.set_volume(0.01)
from Classes.admin import Admin
from Classes.moderator import Moderator
from Classes.money import GOLD
from Classes.money import USD
from Classes.player import Player

if __name__ == '__main__':
    name = raw_input("Player name: ")
    player1 = Player(name)
    email = raw_input("Player email: ")
    password = raw_input("Player password: "******"Player password fo login: "******"Moderator email: ")
    password = raw_input("Moderator password: "******"Moderator password for login: "******"Player for control: "))
    moder1.take_a_ban(player_for_control=raw_input("Player for control: "))
    moder1.logout()

Example #10
0
from Classes.readWord import ReadWord
from Classes.game import Game
from Classes.player import Player

secretWord = ReadWord()
player = Player()
jogo = Game()

player.numberOfGuesses()

secret = secretWord.readWords().lower()
guesses = player.getGuesses()

secret = secretWord.reLoadWord(secret, guesses)
jogo.hangman(secret, guesses)
Example #11
0
 def __init__(self, id, name, overall_matches, overall_innings,
              overall_runs, overall_average, overall_strike_rate,
              overall_100s, overall_50s):
     Player.__init__(self, id, name, overall_matches, overall_innings,
                     overall_runs, overall_average, overall_strike_rate,
                     overall_100s, overall_50s)
Example #12
0
class Game:
    """
    docstring
    """
    def __init__(self, box, sc_width, sc_height):
        self.box = box
        self.name_projectil = "laser"
        self.name_player = ""
        self.player = Player(self, sc_width, sc_height, self.name_player,
                             "ship3")
        self.all_monsters = pygame.sprite.Group()
        self.event = Event(self, sc_width, sc_height)
        self.sc_width = sc_width
        self.sc_height = sc_height
        self.keybord = {}
        self.total_degat = 0
        self.is_running = False
        self.is_boss = False
        self.time = 0
        self.PLAYERS = {}
        self.total_game = 0
        self.last_ammo_update = pygame.time.get_ticks()
        self.tab = PRINT_NUM_PROJECTIL

    def start(self):
        self.is_running = True
        self.PLAYERS = lecture("/items/player.data")
        self.player.total = self.PLAYERS[self.name_player]["score_total"]
        self.player.lv = self.PLAYERS[self.name_player]["lv"]
        self.player.xp = self.PLAYERS[self.name_player]["xp"]
        self.player.xp_max = 1000 * self.player.lv
        if self.player.lv != 1:
            self.player.pv_max = 200 + (200 * self.player.lv / 100)
        self.name_projectil = self.player.power_up(self.name_projectil)
        if self.player.lv < 2:
            self.spawn_monster("ship2")
        else:
            self.event.spawn_super_monster("ship4")

    def game_over(self):
        save_player = self.PLAYERS[self.name_player]
        save_player["score_total"] += self.player.score
        save_player["pt_last_partie"] = self.player.score
        save_player["time_in_game"] += self.time
        save_player["lv"] = self.player.lv
        save_player["xp"] = self.player.xp
        save_score("/items/player.data", self.name_player,
                   save_player["score_total"], save_player["pt_last_partie"],
                   save_player["time_in_game"], save_player["lv"],
                   save_player["xp"])
        self.player.re_init()
        self.is_boss = False
        self.is_running = False
        self.all_monsters = pygame.sprite.Group()
        self.event.all_boss = pygame.sprite.Group()
        self.event.reset_percent()

    def spawn_monster(self, ship_image):
        monster = Monster(self, self.sc_width, self.sc_height, ship_image)
        # on l'ajoute a notre groupe de monstre
        self.all_monsters.add(monster)

    def weapon_screen(self, screen):
        myfont = pygame.font.SysFont('roboto', 10)

        for elem in PRINT_NUM_PROJECTIL:
            item = PRINT_NUM_PROJECTIL[elem]
            title_disp = item["title_display"]
            screen.blit(item["image"], item["coord_img"])
            screen.blit(
                myfont.render(title_disp["num"], title_disp["bool"],
                              title_disp["color"]), item["coord_disp"])

    def weapon_choice(self, screen, name):
        for key, item in enumerate(ITEMS_SHIP.keys()):
            if name == item and key < 3:
                pos = key * 40
                pygame.draw.rect(screen, (100, 100, 100, 128),
                                 (215 + pos, 5, 30, 30))
                pygame.draw.rect(screen, (250, 250, 250),
                                 (215 + pos, 5, 30, 30), 2)
            self.weapon_screen(screen)

    def out_of_ammo(self, screen):
        if self.player.magasin <= 0:
            font = pygame.font.SysFont("roboto", 30)
            warn_ammo = font.render("Out Of Ammo Wait ...", True,
                                    (250, 10, 10))
            screen.blit(warn_ammo,
                        (self.sc_width / 2 - warn_ammo.get_width() / 2,
                         self.sc_height / 2 - warn_ammo.get_height() - 20))
            # Timer d'attente pour rechargement munition
            now = pygame.time.get_ticks()
            if now - self.last_ammo_update > 10000:
                self.last_ammo_update = now
                # Rechargement aléatoire
                mun = random.randint(5, 20)
                self.player.magasin = mun

    def start_game(self, screen):
        self.box.active = False
        # injecte l'image de l'player
        screen.blit(self.player.image,
                    (self.player.rect.x, self.player.rect.y))
        self.event.update_bar(screen)
        self.player.shielding(screen)

        # affichage des armes
        self.weapon_screen(screen)
        # affichage de l'arme utilisée
        self.weapon_choice(screen, self.name_projectil)

        if self.is_boss == False:
            for mob in self.all_monsters:
                mob.fire("ship", "laser")
                mob.move_projectil(-1, self.player)
                mob.update_pv(screen, (mob.rect.x + mob.image.get_width()))
                mob.move_left()
                mob.kamikaze_monster()
                mob.all_projectils.draw(screen)
                mob.all_explosions.draw(screen)
                mob.all_explosions.update()
                for gain_load in mob.all_gains:
                    screen.blit(gain_load, mob.spawn_gain_rect)
                self.player.collid(mob.spawn_gain_rect, mob.all_gains, mob.qte,
                                   mob.name)
                self.player.move_projectil(1, mob)

        for boss in self.event.all_boss:
            boss.spawn(screen)

        # Affichage PV et Magasin
        self.player.draw_life_bar(screen, 10, 5)
        self.player.draw_munition_bar(screen, 10, 25)
        self.player.draw_xp_bar(screen, 10, 45)
        self.event.all_boss.draw(screen)

        # on verifie si les touches sont apuyées ou pas
        if self.keybord.get(
                pygame.K_RIGHT
        ) and self.player.rect.x + self.player.rect.width < screen.get_width(
        ) - 40:
            self.player.move_right()
        elif self.keybord.get(pygame.K_LEFT) and self.player.rect.x > 25:
            self.player.move_left()
        if self.keybord.get(
                pygame.K_DOWN
        ) and self.player.rect.y + self.player.rect.height < screen.get_height(
        ) - self.player.image.get_height():
            self.player.move_down()
        elif self.keybord.get(pygame.K_UP) and self.player.rect.y > 75:
            self.player.move_up()
        if self.keybord.get(pygame.K_SPACE):
            if self.player.magasin > 0:
                bulletSound = mixer.Sound("assets/sounds/laser.wav")
                bulletSound.set_volume(0.02)
                self.name_projectil = self.player.power_up(self.name_projectil)

                self.player.fire("ship", self.name_projectil, bulletSound)
            else:
                bulletSound = mixer.Sound("assets/sounds/alarm.wav")
                bulletSound.set_volume(0.02)
                bulletSound.stop()
                bulletSound.play()

        # Out of ammo:
        self.out_of_ammo(screen)

        if self.keybord.get(pygame.K_1):
            self.name_projectil = "laser"
            self.name_projectil = self.player.power_up(self.name_projectil)
        elif self.keybord.get(pygame.K_2):
            self.name_projectil = "lightning"
            self.name_projectil = self.player.power_up(self.name_projectil)
        elif self.keybord.get(pygame.K_3):
            self.name_projectil = "plasma"
            self.name_projectil = self.player.power_up(self.name_projectil)

        self.player.all_projectils.draw(screen)
        self.player.all_explosions.draw(screen)
        self.player.all_explosions.update()

        self.all_monsters.draw(screen)
Example #13
0
def main():
    pygame.init()  #init pygame

    # Set the resolution
    size = [Classes.constants.SCREEN_WIDTH, Classes.constants.SCREEN_HEIGHT]
    screen = pygame.display.set_mode(size)

    pygame.display.set_caption("Galactik Hold Up")

    #init player
    player = Player()

    #boolean for the program loop
    done = False

    #boolean if music is enable or not
    isMusic = True

    #entry field for enter the pseudo
    inputBox = InputBox(500, 540, 310, 60)

    #game clock
    clock = pygame.time.Clock()
    pygame.time.set_timer(pygame.USEREVENT, 1000)
    font = pygame.font.SysFont('Impact', 40)

    #launch the menu music
    launchMusic("Musiques/menu_music.wav")

    #Game Loop
    while not done:

        #time counter of the game set on 3 minutes
        counter, text = 180, '180'.rjust(3)

        #load and put on the screen the accueil ressources
        accueil = pygame.image.load("Images/accueil.jpg").convert()
        screen.blit(accueil, (0, 0))
        #load the music icon
        if isMusic:
            sound = pygame.image.load("Images/soundon.png").convert_alpha()
        else:
            sound = pygame.image.load("Images/soundoff.png").convert_alpha()

        #put the music icon on the screen
        screen.blit(sound, (30, 30))

        #display the screen
        pygame.display.flip()

        #loop variables
        continuer_accueil = 1
        continuer_jeu = 0
        continuer_classement = 0
        continuer_credits = 0
        continuer_score = 0

        #accueil loop
        while continuer_accueil:
            player.score = 0
            player.multiplicateur = 1

            for event in pygame.event.get():  #check every event

                #Quit event
                if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    continuer_accueil = 0
                    continuer_jeu = 0
                    done = True
                    choix = 0

                #keyboard event
                elif event.type == pygame.KEYDOWN:
                    #F1 for launch the tuto
                    if event.key == pygame.K_F1:
                        continuer_accueil = 0
                        continuer_jeu = 1
                        choix = "tuto"
                        if isMusic:
                            launchMusic("Musiques/Level_music.wav"
                                        )  #launch the level music

                    #F2 for launch the game
                    elif event.key == pygame.K_F2:
                        continuer_accueil = 0
                        continuer_jeu = 1
                        choix = "ramdom"
                        if isMusic:
                            launchMusic("Musiques/Level_music.wav")

                    #F3 for launch the classement
                    elif event.key == pygame.K_F3:
                        continuer_accueil = 0
                        continuer_classement = 1
                        choix = "classement"

                    #F4 for launch the credits
                    elif event.key == pygame.K_F4:
                        continuer_accueil = 0
                        continuer_credits = 1
                        choix = "credits"

                #for disable/enable the music click on the music icon
                elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1 and event.pos[
                        1] < 94 and event.pos[1] > 30 and event.pos[
                            0] < 94 and event.pos[0] > 30:
                    if isMusic:
                        pygame.mixer.music.pause()
                        sound = pygame.image.load(
                            "Images/soundoff.png").convert_alpha()
                    else:
                        pygame.mixer.music.play(-1)
                        sound = pygame.image.load(
                            "Images/soundon.png").convert_alpha()
                    isMusic = not isMusic  #change the boolean for music
                    #refreh the display
                    screen.blit(accueil, (0, 0))
                    screen.blit(sound, (30, 30))
                    pygame.display.flip()

        if choix != 0:
            if choix == "tuto":  #load the tuto
                current_level = Classes.levels.Level_0(player)
                active_sprite_list = pygame.sprite.Group()
                generateLevel(player, current_level)
                active_sprite_list.add(player)

            elif choix == 'ramdom':  #launch the game
                #create a list containing all the level id
                list_no = []
                for i in range(1, Classes.constants.nbLevel + 1):
                    list_no.append(i)

                noLevel = createRandomNum(list_no)  #generate a random level id
                current_level = selectRandomLevel(
                    player, list_no, noLevel)  #select the random level
                active_sprite_list = pygame.sprite.Group(
                )  #create sprites list
                generateLevel(player, current_level)  #generate the level
                active_sprite_list.add(
                    player)  #add the player to the sprites list

            #load the classement
            elif choix == "classement":
                classement = generateClasssement()

            #load the credits
            elif choix == "credits":
                credits = pygame.image.load("Images/Credits.jpg").convert()
                screen.blit(credits, (0, 0))

        #classement loop
        while continuer_classement:
            for event in pygame.event.get():  #event management
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        continuer_classement = 0
                        continuer_accueil = 1
                if event.type == pygame.QUIT:
                    done = True
                    continuer_classement = 0

            printClassement(screen,
                            classement)  #put classement element on the screen
            pygame.display.flip()  #display the screen

        #credits loop
        while continuer_credits:
            for event in pygame.event.get():
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        continuer_credits = 0
                        continuer_accueil = 1
                if event.type == pygame.QUIT:
                    done = True
                    continuer_credits = 0
            pygame.display.flip()  #display credits

        #Game loop
        while continuer_jeu:

            #set variables for displaying score and multiplicateur
            score = "Score : " + format(player.score)
            multiplicateur = "Multiplicateur : x" + format(
                player.multiplicateur)

            for event in pygame.event.get():  #event management

                if event.type == pygame.USEREVENT:  #event for managingthe time and update it
                    if type(current_level
                            ) != Level_0:  #if we are not in the tuto level
                        counter -= 1
                        text = "Timer : " + str(counter).rjust(
                            3)  #variable for displaying lefting time
                        if counter == 15:  #put a minuteur sound when 15 seconds left
                            son = pygame.mixer.Sound("Musiques/minuteur.wav")
                            son.play()
                        elif counter <= 0:  #when the timer is over
                            son = pygame.mixer.Sound("Musiques/temps.wav")
                            son.play()
                            continuer_jeu = 0
                            choix = 0
                            continuer_score = 1

                elif event.type == pygame.QUIT:  # If user clicked close
                    done = True  # Flag that we are done so we exit this loop
                    continuer_jeu = 0

                elif event.type == pygame.KEYDOWN:  #keyboard event
                    if event.key == pygame.K_ESCAPE:  #return to the menu
                        continuer_jeu = 0
                        if isMusic:
                            launchMusic("Musiques/menu_music.wav")
                    elif event.key == pygame.K_LEFT:
                        player.go_left()
                    elif event.key == pygame.K_RIGHT:
                        player.go_right()
                    elif event.key == pygame.K_UP:
                        player.jump()

                #stop the player when the user don't move him
                if event.type == pygame.KEYUP:
                    if event.key == pygame.K_LEFT and player.change_x < 0:
                        player.stop()
                    if event.key == pygame.K_RIGHT and player.change_x > 0:
                        player.stop()

                #when the player take a spring
                if event.type == Classes.constants.SPRING:
                    player.springJump()

                #when the player cross a gravity portal
                if event.type == Classes.constants.ANTIGRAVITY:
                    player.changeGravity()

                #when the player die
                if event.type == Classes.constants.DEATH:
                    if (type(player.level) != Level_0):  #if it's not the tuto
                        #generate a new level
                        noLevel = createRandomNum(list_no)
                        current_level = selectRandomLevel(
                            player, list_no, noLevel)
                        player.pos = Classes.constants.levelStart_x
                        generateLevel(player, current_level)
                    else:  #if it's the tuto regenerate the tuto
                        generateLevel(player, current_level)

                #when the player take a boost
                if event.type == Classes.constants.BOOST:
                    player.go_boost()

                #when the player finish a level
                if event.type == Classes.constants.FINISH:
                    if (type(player.level) != Level_0):  #if it's not the tuto
                        list_no.remove(
                            noLevel)  #remove this level from level id list
                        #generate a new level
                        noLevel = createRandomNum(list_no)
                        current_level = selectRandomLevel(
                            player, list_no, noLevel)
                        player.pos = Classes.constants.levelStart_x
                        generateLevel(player, current_level)
                    else:  #if it's the tuto back to the menu
                        continuer_accueil = 1
                        continuer_jeu = 0
                        if isMusic:
                            launchMusic("Musiques/menu_music.wav")

            # Update the player.
            active_sprite_list.update()

            # Update items in the level
            current_level.update()

            # If the player gets near the right side, shift the world left (-x)
            if player.rect.x >= 500:
                diff = player.rect.x - 500
                player.rect.x = 500
                current_level.shift_world(-diff)

            # If the player gets near the left side, shift the world right (+x)
            if player.rect.x <= 120:
                diff = 120 - player.rect.x
                player.rect.x = 120
                current_level.shift_world(diff)

            #draw the modification on the screen
            current_level.draw(screen)
            active_sprite_list.draw(screen)
            clock.tick(60)  #the game run in 60FPS

            if type(
                    current_level
            ) != Level_0:  #if it's not the tuto update the game information(time, score and multiplicateur)
                screen.blit(font.render(text, True, (255, 255, 255)), (10, 0))
                screen.blit(font.render(score, True, (255, 255, 255)),
                            (380, 0))
                screen.blit(font.render(multiplicateur, True, (255, 255, 255)),
                            (720, 0))

            #display the screen
            pygame.display.flip()

        #score loop when the game is finish
        while continuer_score:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    done = True
                    continuer_score = 0
                    ajouterScore(
                        player, inputBox.text
                    )  #add the score and the pseudo in classement.txt

                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        continuer_score = 0
                        ajouterScore(player, inputBox.text)
                        if isMusic:
                            launchMusic("Musiques/menu_music.wav")

                elif event.type == Classes.constants.ENTER_PSEUDO:
                    continuer_score = 0
                    ajouterScore(player, inputBox.text)
                    if isMusic:
                        launchMusic("Musiques/menu_music.wav")

                inputBox.handle_event(event)  #manage event of the inputBox
            printScore(screen, player)  #put the score on the screen
            #update and draw the input box
            inputBox.update()
            inputBox.draw(screen)
            #display screen
            pygame.display.flip()
    pygame.quit()