Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question d'indentation.

Sujet résolu
    16 mai 2014 à 18:56:51

    Bonjour, j'aimerais savoir comment rajouter une condition (if) dans ma boucle de mon jeu, cependant n'importe où, ou je le met les 'vagues rouges' se forment. J'aimerais rajouter ce-ci à mon boucle: 

    if decompte_coffre = 0:
        texte_game_over = police.render("Vous avez perdus ", True, (150,255,150))



    continuer = 1
    while continuer:
    # calcul du temps de la boucle :
        temps_boucle += [pygame.time.get_ticks()]
        del temps_boucle[0]
        secondes = (temps_boucle[1]-temps_boucle[0])/1000
    #Définition que met le temps de l'ia pour se déplacer :
        cooldown_ia-=secondes
        if cooldown_ia <= 0:
            for pos_ia in range (len(position_ia)):
                position_ia[pos_ia][1] = trajectoire(position_ia[pos_ia][1])
            cooldown_ia=cooldown_max_ia
    
        cooldown-=secondes
    #Création de la 'map' à partir de listes de liste:
        fenetre.blit(fond, (0,0))
        for ligne in range (0, len(tableau)):
          for case in range (0,len(tableau[ligne])):
            fenetre.blit(tableau[ligne][case], (case*case_x, ligne*case_y))
    #Affichage des Coffres selon leur position :
        for tresor in range (len(position_tresor)):
            if position_tresor[tresor][0]==position_donjonperso:
                fenetre.blit(t0, (position_tresor[tresor][1][0]*case_x, position_tresor[tresor][1][1]*case_y))
    #Affichage de l'ia pour les différentes maps :
        for pos_ia in range (len(position_ia)):
            if position_ia[pos_ia][0]==position_donjonperso:
                fenetre.blit(ia, (position_ia[pos_ia][1][0]*case_x, position_ia[pos_ia][1][1]*case_y))
    
    
    
        fenetre.blit(perso, (position_perso[0]*case_x, position_perso[1]*case_y))
    
    ##    fenetre.blit(ia, (position_ia[0]*case_x, position_ia[1]*case_y))## PROBLEME
    # Création des textes à la fois pour la vie et pour le nombre de coffres restants :
        fenetre.blit(text, (0,0))
        texte_vie = police.render("Vie : "+str(decompte_vie), True, (255,150,150))
        fenetre.blit(texte_vie, (5, taille_largeur-texte_vie.get_height()-5)) #Petite mise à jour au niveau du placement de la fenêtre pour qu'elle ne soit pas coller
    
        texte_coffres = police.render("Coffres restants : "+str(decompte_coffre), True, (150,255,150))
        fenetre.blit(texte_coffres, (taille_longueur-texte_coffres.get_width()-5, taille_largeur-texte_coffres.get_height()-5)) #
    #Petite mise à jour pour que le texte ne soit pas collé au niveau du bas de la fenêtre pour qu'elle ne touche pas, mais qu'elle soit un peu décallé
    
        pygame.display.flip()
    #Evenements de pygame, déplacements, et exit
        for event in pygame.event.get():
             if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE:
                continuer = 0
             if event.type == KEYDOWN :
                if event.type == K_ESCAPE:
                    continuer = 0
    
                if cooldown <= 0: #Permet un rafraîchissement du mouvement du personnage par rapport à celui de l'ia
                    if event.key == K_RIGHT:
                        position_perso = deplacement(position_perso,(1,0),True) #True > passage
                        cooldown=cooldown_max #''
            ##                orientation = 1
                    if event.key == K_LEFT:
                        position_perso = deplacement(position_perso,(-1,0),True)
                        cooldown=cooldown_max #''
            ##                orientation = 2
                    elif event.key == K_UP:
                        position_perso = deplacement(position_perso,(0,-1),True)
                        cooldown=cooldown_max #''
            ##                orientation = 3
                    elif event.key == K_DOWN:
                        position_perso = deplacement(position_perso,(0,1),True)
                        cooldown=cooldown_max # ''
    ##                orientation = 4
    
    
    #Gestion de la collision avec l'ia/perso :
        for pos_ia in range (len(position_ia)):
            if position_ia[pos_ia][0]==position_donjonperso:
                if position_perso==position_ia[pos_ia][1]:
                    print("collision")
                    decompte_vie-=1
                    position_ia[pos_ia][1]=(1,1)
    #Gestion de la collision des trésors:
        new_tresor=[] # Liste des trésors 'nouveau'
        for tresor in position_tresor:
            if position_donjonperso == tresor[0]:
                if position_perso == tresor[1]:
                    decompte_coffre-=1
    ##                tresor[0]=(0,0)
                    print("tresooooooor")
                else:
                    new_tresor+=[tresor] # On ajoute les trésors dans la liste vide
            else:
                new_tresor+=[tresor]
        position_tresor=new_tresor # Puis on les 'supprime' pour plus les voir dans le jeu
    ##    if donjon ,position_peso=
    
    • Partager sur Facebook
    • Partager sur Twitter
    Pierre-Baptiste
      16 mai 2014 à 19:16:30

      Il faut que tu corrige:

      if decompte_coffre = 0:

      Par:

      if decompte_coffre == 0:

      Avec un double 'égale'


      • Partager sur Facebook
      • Partager sur Twitter
      Précepte: Le mieux est l'ennemi du bien
        18 mai 2014 à 17:22:50

        Merci, je n'y avais pas penser
        • Partager sur Facebook
        • Partager sur Twitter
        Pierre-Baptiste

        Question d'indentation.

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown