ISN Labyrinthe interface python et pygame
vaxx
-
critou -
critou -
Bonjour,
Pour le Baccalauréat dans la spécialité ISN, je dois faire un programme pour la fin de l'année et c'est moi qui m'occupe de l'interface graphique à l'aide des logiciels Python et Pygame, dont ici je fais un labyrinthe.
Ici, je veux (à l'aide de mon niveau sur un autre programme : 0=fond et 1=mur) construire le labyrinthe en remplaçant les 0 et 1 par les images carrées du fond et du mur. J'ai donc le programme suivant :
(longueur_fen, etc sont des constantes d'un autre programme dont j'ai importé au début du programme-ci.
Mais malheureusement, la page pygame s'affiche avec un fond noir avec comme texte (le logiciel ne répond pas). Savez-vous où est le problème? Aidez moi s'il vous plaît je ne comprends vraiment pas.
Merci
Pour le Baccalauréat dans la spécialité ISN, je dois faire un programme pour la fin de l'année et c'est moi qui m'occupe de l'interface graphique à l'aide des logiciels Python et Pygame, dont ici je fais un labyrinthe.
Ici, je veux (à l'aide de mon niveau sur un autre programme : 0=fond et 1=mur) construire le labyrinthe en remplaçant les 0 et 1 par les images carrées du fond et du mur. J'ai donc le programme suivant :
import pygame
from pygame.locals import *
from constantes import *
from niveau import *
pygame.init()
#Ouverture de la fenêtre Pygame
fenetre = pygame.display.set_mode((longueur_fen, largeur_fen))
#Chargement et collage du fond
fond = pygame.image.load("images/fond.jpg").convert()
mur = pygame.image.load("images/mur.png")
def afficher_niveau():
for i in range (0,nb_cases_largeur+1):
for j in range(0,nb_cases_longueur+1):
if niveau [i][j]==1:
fenetre.blit(mur, (taille_cases*j, taille_cases*i))
else :
fenetre.blit(fond, (taille_cases*j, taille_cases*i))
#Rafraîchissement de l'écran
pygame.display.flip()
#BOUCLE INFINIE
continuer = 1
while continuer:
continuer = int(input())
(longueur_fen, etc sont des constantes d'un autre programme dont j'ai importé au début du programme-ci.
Mais malheureusement, la page pygame s'affiche avec un fond noir avec comme texte (le logiciel ne répond pas). Savez-vous où est le problème? Aidez moi s'il vous plaît je ne comprends vraiment pas.
Merci
A voir également:
- ISN Labyrinthe interface python et pygame
- Citizen code python avis - Accueil - Outils
- Interface netflix - Accueil - Streaming
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
- Common interface 5v only - Forum TNT / Satellite / Réception
- Python pix ✓ - Forum Python
1 réponse
Bonjour.
Il est là ton problème, un input n'a rien à faire dans la boucle événementielle de pygame.
Si tu veux détruire la fenêtre avec un appui sur une touche clavier ou kill de la fenêtre, cela se gère avec les events de pygame.
Et ne pas oublier d'utiliser un appel à
while continuer:
continuer = int(input())
Il est là ton problème, un input n'a rien à faire dans la boucle événementielle de pygame.
Si tu veux détruire la fenêtre avec un appui sur une touche clavier ou kill de la fenêtre, cela se gère avec les events de pygame.
Et ne pas oublier d'utiliser un appel à
pygame.quitaprès ta boucle pour que pygame ferme bien la fenêtre.
C'est comme tu veux, mais déjà utiliser un event pour que la fenêtre se ferme lorsqu'on la détruit est un bon début.
while continuer: for event in pygame.event.get(): if event.type == pygame.QUIT: continuer = False pygame.quit()Et pour plus d'informations comment se gère les evénements pygame, il faut lire la documentation, et suivre un bon tutoriel, il y a déjà ce qu'il faut sur le site officiel de pygame, c'est en anglais, mais ça impossible d'y échapper.