Problème de logique avec pygame

Résolu
EXoTiK_CHoRiZo Messages postés 6 Statut Membre -  
EXoTiK_CHoRiZo Messages postés 6 Statut Membre -
Bonjour,

Je voudrais que ville prenne la valeur ville +1 à chaque fois que j'appuie sur la flèche droite du clavier. Voici mon code :
import pygame
from pygame.locals import *

pygame.init()

#Ouverture de la fenêtre Pygame
fenetre = pygame.display.set_mode((300, 300))

#Chargement et collage du fond
fond = pygame.image.load("fond.png").convert()
fenetre.blit(fond, (0,0))

ville = 0
#Rafraîchissement de l'écran
pygame.display.flip()

#BOUCLE INFINIE
continuer = 1
while continuer:
    for event in pygame.event.get():
        print(ville)
        if event.type == QUIT:
            continuer = 0
            pygame.quit()
        if event.type == KEYDOWN:
            if event.type == K_DOWN:
                ville = ville + 1



url de l'image : http://www.fnordware.com/superpng/pnggrad8rgb.png

Merci de m'aider ! :)

2 réponses

  1. dsy73 Messages postés 9003 Date d'inscription   Statut Contributeur Dernière intervention   2 547
     
    Quel est le bug ?
    Ces deux lignes sont bizarres :
         if event.type == KEYDOWN:
                if event.type == K_DOWN:
     
    1
    1. EXoTiK_CHoRiZo Messages postés 6 Statut Membre
       
      Je voudrais que ça me fasse 0 puis 1 puis 2 a chaque fois que j'appuie sur la flèche du bas
      __EDIT__
      ces 2 lignes pour moi veulent dire :
      si il y a une touche enfoncée :
      si il y a la flèche du bas utilisée
      0
  2. EXoTiK_CHoRiZo Messages postés 6 Statut Membre
     
    Ca y est, j'ai vu mon erreur :
    j'avais mit event.type au lieu de event.key.
    Du coup ça marche ! :) Voici le code :
    import pygame
    from pygame.locals import *
    
    pygame.init()
    
    #Ouverture de la fenêtre Pygame
    fenetre = pygame.display.set_mode((300, 300))
    
    #Chargement et collage du fond
    fond = pygame.image.load("fond.png").convert()
    fenetre.blit(fond, (0,0))
    
    ville = 0
    #Rafraîchissement de l'écran
    pygame.display.flip()
    
    #BOUCLE INFINIE
    continuer = 1
    while continuer:
        for event in pygame.event.get():
            if event.type == QUIT:
                continuer = 0
                pygame.quit()
            if event.type == KEYDOWN:
                if event.key == K_UP:
                    ville = ville + 1
                    print(ville)
    
    0
    1. EXoTiK_CHoRiZo Messages postés 6 Statut Membre
       
      Merci dsy73 !
      0