Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide, je ne trouve pas l'erreur de mon code

Aide, je ne trouve pas l'erreur de mon code

Sujet résolu
Anonyme
    2 juillet 2013 à 14:24:52

    Bonjour, je suis plutôt débutant en python et j'essaye de mettre au point un petit programme (graphique avec pygame) qui me permet de déplacer un personnage dans la fenêtre.

    j'ai écrit mon code mais voila, sa ne fonctionne pas alors si une personne ici pouvait trouver l’erreur dans mon code et me la donnée ce serai super sympas.   voici mon code :

    import pygame
    from pygame.locals import *
      
    pygame.init()
      
    #Ouverture de la fenêtre Pygame
    fenetre = pygame.display.set_mode((599,373))
      
    #Chargement et collage du fond
    fond = pygame.image.load("fond.jpg").convert()
    fenetre.blit(fond, (0,0))
      
    #Chargement et collage du personnage
    perso = pygame.image.load("perso.png").convert_alpha()
    position_perso = perso.get_rect()
    fenetre.blit(perso, position_perso)
      
    #Rafraîchissement de l'écran
    pygame.display.flip()
      
    #BOUCLE INFINIE
    continuer = 1
    while continuer:
        for event in pygame.event.get():    #Attente des événements
            if event.type == QUIT:
                continuer = 0
            if event.type == KEYDOWN:
                if event.key == K_DOWN: #Si "flèche bas"
                    #On descend le perso
                    position_perso = position_perso.move(0,3)      
            elif event.type == KEYUP:
                if event.key == K_UP: #Si "flèche haut"
                    #On monte le perso
                    position_perso = position_perso.move(0,3)
            elif event.type == KEYLEFT:
                if event.key == K_LEFT: #Si "flèche gauche"
                    #On decale a gauche le perso
                    position_perso = position_perso.move(0,3)
            elif event.type == KEYRIGHT:
                if event.key == K_RIGHT: #Si "flèche droite"
                    #On decale a droite le perso
                    position_perso = position_perso.move(0,3)
                     
          
        #Re-collage
        fenetre.blit(fond, (0,0))  
        fenetre.blit(perso, position_perso)
        #Rafraichissement
        pygame.display.flip()
    	
    
    

    Help please !

    -
    Edité par Anonyme 2 juillet 2013 à 14:25:38

    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2013 à 14:42:22

      On fait comment sans ton message d'erreur ? Tu as cherché suite à ma précédente réponse, au moins ?

      -
      Edité par nohar 2 juillet 2013 à 14:49:45

      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
      Anonyme
        2 juillet 2013 à 14:50:50

        escuse-moi nohar, je n'avait pas vue ta précédente réponse.

        je vais chercher et merci encore.

        -
        Edité par Anonyme 2 juillet 2013 à 15:14:14

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          2 juillet 2013 à 17:59:42

          Merci nohar pour ton aide, j'ai résolu le probleme que j'avait tout à l'heure

          j'en ai maintenant un autre. (eh oui décidément je n'ai que  des problemes)

          mon programme fonctionne, il y a un son d'ambiance.

          mais quand j'essay de faire qu'a chaque déplacement de mon personnage un son se produise, sa me met a ce moment là :

          TabError: inconsistent use of tabs and spaces in identation

          voici mon code :

          (merci de bien vouloir me dégoter l'érreur) svp

          import pygame
          from pygame.locals import *
            
          pygame.init()
           
          #Ouverture de la fenêtre Pygame
          fenetre = pygame.display.set_mode((700,437))
          
          #Chargement et collage du fond
          fond = pygame.image.load("fond.jpg").convert()
          fenetre.blit(fond, (0,0))
            
          #Chargement et collage du personnage
          perso = pygame.image.load("perso.png").convert_alpha()
          position_perso = perso.get_rect()
          fenetre.blit(perso, position_perso)
            
          #Rafraîchissement de l'écran
          pygame.display.flip()
          
          #Musique
          sonambiance = pygame.mixer.Sound("sonambiance.wav")
          deplacement = pygame.mixer.Sound("deplacement.wav")
          sonambiance.play()
          
          #Fonction pour la fluiditée du déplacement
          pygame.key.set_repeat(1, 25)
            
          
          continuer = True
          while continuer:
              for event in pygame.event.get():
                  if event.type == QUIT:
                      continuer = False
                  if event.type == KEYDOWN:
                      if event.key == K_DOWN:
                          position_perso = position_perso.move(0,10)
          				deplacement.play()
                      elif event.key == K_UP:
                          position_perso = position_perso.move(0,-10)
          				deplacement.play()
                      elif event.key == K_LEFT:
                          position_perso = position_perso.move(-10,0)
          				deplacement.play()
                      elif event.key == K_RIGHT:
                          position_perso = position_perso.move(10,0)
          				deplacement.play()
          			
                           
                
              #Re-collage
              fenetre.blit(fond, (0,0))  
              fenetre.blit(perso, position_perso)
              #Rafraichissement
              pygame.display.flip()

          l'érreur doit sûrement se trouvé dans les 4 dernier if/elif du programme

          merci de m'aider

          car c'est à chaque fois que je rajoute : deplacement.play() pour les quatres mouvements que ça ne fonctionne pas 

          -
          Edité par Anonyme 2 juillet 2013 à 18:01:27

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            2 juillet 2013 à 18:17:24

            L'erreur t'indique que tu as mélangé les tabulations et les espaces pour indenter ton code. Une simple recherche avec le message d'erreur sur internet t'aurais donné la réponse !

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              2 juillet 2013 à 18:46:11

              oui OK mais où est l’erreur ?

              svp 

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                2 juillet 2013 à 18:52:00

                À la ligne que le message d'erreur t'indique ! Nous, on ne peut pas le voir puisque à partir du moment où tu as posté ton code sur le forum les tabs ont été automatiquement remplacé par des espaces.

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  2 juillet 2013 à 19:03:18

                  sa m'indique une erreur sur la ligne 38 au dernier caractère. comment je peut faire pour la corrigé ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    2 juillet 2013 à 19:32:09

                    J'ai comprit que c'était une erreur d'espace ou de tabulation mais j'ai beau essayer de réécrire le code

                    ça me met toujours là même chose ! TabError blablablabla

                    svp n'y a t'il pas un moyens de corrigé facilement ce genre d'erreur ???

                    help please 

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 juillet 2013 à 20:26:56

                      Sous Linux y'a un moyen assez simple :

                      sed -i "s/\t/    /g" script.py
                      

                      Sinon retape ton code entièrement à la main dans un nouveau fichier.

                      -
                      Edité par nohar 3 juillet 2013 à 6:43:59

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Zeste de Savoir, le site qui en a dans le citron !
                      Anonyme
                        3 juillet 2013 à 9:11:41

                        je vais retaper mon fichier, je suis sous windows alors si tu aurait une autre solution je prend
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          3 juillet 2013 à 10:55:16

                          Salut, tu peux aussi configurer ton éditeur pour remplacer les tabulations par des espaces. Comme ça tu n'auras plus le problème, sur aucun de tes progs.

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            3 juillet 2013 à 11:08:09

                            merci, Comment on fait ? (je suis avec notepad++)
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              3 juillet 2013 à 11:10:39

                              Paramétrages > Préférences > Tab settings > Cocher "Replace by space". (Désolé pour le mélange anglais/français, mon notepad++ est à moitié en anglais et en français ^^ ).

                              -
                              Edité par Anonyme 3 juillet 2013 à 11:11:12

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Aide, je ne trouve pas l'erreur de mon code

                              × 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