Problème de logique avec pygame

Résolu/Fermé
EXoTiK_CHoRiZo Messages postés 5 Date d'inscription dimanche 29 mars 2015 Statut Membre Dernière intervention 4 avril 2015 - 4 avril 2015 à 13:50
EXoTiK_CHoRiZo Messages postés 5 Date d'inscription dimanche 29 mars 2015 Statut Membre Dernière intervention 4 avril 2015 - 4 avril 2015 à 15:03
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

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
4 avril 2015 à 14:39
Quel est le bug ?
Ces deux lignes sont bizarres :
     if event.type == KEYDOWN:
            if event.type == K_DOWN:
 
1
EXoTiK_CHoRiZo Messages postés 5 Date d'inscription dimanche 29 mars 2015 Statut Membre Dernière intervention 4 avril 2015
Modifié par EXoTiK_CHoRiZo le 4/04/2015 à 14:50
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
EXoTiK_CHoRiZo Messages postés 5 Date d'inscription dimanche 29 mars 2015 Statut Membre Dernière intervention 4 avril 2015
4 avril 2015 à 15:02
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
EXoTiK_CHoRiZo Messages postés 5 Date d'inscription dimanche 29 mars 2015 Statut Membre Dernière intervention 4 avril 2015
4 avril 2015 à 15:03
Merci dsy73 !
0