示例#1
0
def actualiserJeu():
    root.after(Settings.Fenetre.delaisMiseAJour(), actualiserJeu)
    global obstacles
    global canvas
    global score
    global joueurs
    global tuyauApparition
    global imageperdu
    perdu = True
    for nuage in nuages :
        nuage.deplacement()
        if nuage.x <= 0 - Settings.Nuage.largeur :
            nuage.deplacerVers (2*Settings.Nuage.largeur)
    for sol in sols :
        sol.deplacement()
        if sol.x <= 0 - Settings.Sol.largeur :
            sol.deplacerVers (2*Settings.Sol.largeur)

    for obstacle in obstacles :
        obstacle.update()
        if obstacle.deleted :
            obstacles.remove(obstacle)
            for joueur in joueurs:
                if joueur.enVie:
                    joueur.score += 1
        else:
            for joueur in joueurs:
                if joueur.enVie:
                    verifColision(obstacle, joueur)
                    if obstacle.passe == False and verifPass(obstacle, joueur):
                        score += 1
                        obstacle.passe = True
    for joueur in joueurs :
        if joueur.enVie:
            joueur.update()
            perdu = False
    if perdu == False:
        texteScore.mettreajour(score)
    if tuyauApparition == 0 :
        tuyau = Obstacle.generateObstacle(score, canvas)
        obstacles.append(tuyau)
        maxScore = max(Settings.Obstacle.frequence / 2, 1)
        tuyauApparition = max(Settings.Obstacle.frequenceMin, random.randint(0, Settings.Obstacle.frequence - score * 2))
    else :
        tuyauApparition -= 1

    for sol in sols :
        canvas.lift(sol.sol)

    if perdu == True :
        canvas.lift(imageperdu)
            


    # permer de mettre le score toujours en haut
    canvas.lift(texteScore.label)
    canvas.update_idletasks()
    canvas.update()