IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Débutant en interface graphique (Pygame)


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Débutant en interface graphique (Pygame)
    Bonjour à tous, je suis un lycéen qui a débuté le langage python cette année grâce à la spécialité ISN (informatique et sciences du numérique).

    Pour le bac, j'ai un programme à réalisé (calcul mental).
    J'ai déjà fini entièrement le programme écrit sans interface graphique (que j'ai joint à la discussion).

    Mais nous n'avons suivi absolument aucun cours sur l'interface graphique, et je rencontre malheureusement quelques problèmes.
    J'ai aussi joint "Logiciel N&R.py", le début de mon interface graphique.
    Le but étant uniquement de voir l'erreur commise dans le programme et non de lancer le logiciel (car les images/musiques ne sont pas fournies)

    Et le soucis, c'est qu'une fois que je me retrouve dans le menu des types de calcul, impossible d'accéder au menu des difficultés (des additions, c'est le seul que j'ai configuré).
    Je n'ai aucune idée de la provenance de l'erreur, si quelqu'un de plus expérimenté pouvait m'aider, j'en serait heureux

    (J'ai aussi joint un screen des deux écrans obtenus, et il n'y a pas de soucis avec la musique).
    Images attachées Images attachées   
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    sans les ressources, images,etc ... ça va pas être facile de déboguer.
    T'aurais pas un .zip plutôt ?

    sinon l'indentation du bloc de la ligne 45 y est pour quelque chose

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    J'ai ajouté le programme + les images
    La musique pèse 34mo, n'importe qu'elle musique fera l'affaire, prenez un musique à vous et renommez là dans le programme (.mp3 si elle est en mp3).

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Comme le dit josmiley le souci est en effet au niveau des conditions.
    Une autre présentation du code plus 'structurée' vous permettrais peut être d'y voir plus clair (Sans trop sortir du code d'origine) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    visual = "Enter"  # Affichage
    level = "Facile"  # Niveau sélectionné
    mode = "Addition"  # Mode sélectionné
    #BOUCLE INFINIE
    continuer = 1
    while continuer:
        # Affichage
        if visual == "Enter":
            fenetre.blit(fond, (0,0))
            fenetre.blit(perso, (345,450))
            fenetre.blit(quite, (823,570))
        elif visual == "Visual":
            fenetre.blit(fond_2, (0,0))
            fenetre.blit(add, (314,292))
            fenetre.blit(sous, (314,396))
            fenetre.blit(mult, (314,500))
            fenetre.blit(quite, (823,570))
        elif visual == "Level":
            fenetre.blit(fond_3, (0,0))
            fenetre.blit(facil, (314,292))
            fenetre.blit(moyen, (314,396))
            fenetre.blit(mathe, (314,500))
            fenetre.blit(quite, (823,570))
        pygame.display.flip()
        # Actions
        for event in pygame.event.get():
            if event.type == MOUSEBUTTONDOWN and event.button == 1:
                if visual == "Enter":
                    if 450 < event.pos[1] < 530 and 345 < event.pos[0] < 585:
                        visual = "Visual"
                    elif 570 < event.pos[1] < 650 and 823 < event.pos[0] < 900:
                        continuer = 0
                elif visual == "Visual":
                    if 292 < event.pos[1] < 367 and 314 < event.pos[0] < 585:
                        mode = "Addition"
                        visual = "Level"
                    elif 570 < event.pos[1] < 650 and 823 < event.pos[0] < 900:
                        visual = "Enter"
                elif visual == "Level":
                    if 292 < event.pos[1] < 367 and 314 < event.pos[0] < 585:
                        level = "Facile"
                    # ...
                    elif 570 < event.pos[1] < 650 and 823 < event.pos[0] < 900:
                        visual = "Visual"
    @+
    Merci d'utiliser le forum pour les questions techniques.

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    La catégorie "# Affichage" fonctionne-t-elle avec la boucle for ?
    J'ai joint le programme que j'ai essayé de modifier.
    Il est censé fonctionner uniquement pour aller jusqu'a l'écran d'affichage des niveaux des additions, mais il ne se lance même pas...

    J'ai beau relire, mais comme je débute, l'erreur ne me saute pas aux yeux.

    Sinon merci pour l'idée d'organisation du programme qui rend les choses plus simple !
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 048
    Points : 1 378
    Points
    1 378
    Par défaut
    l'utilisation de fonction pour les menus facilite la lecture ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    import pygame
    from pygame.locals import *
    pygame.init()
     
     
    #Ouverture de la fenêtre Pygame
    fenetre = pygame.display.set_mode((900, 650))
     
    #Chargement des images
    fond = pygame.image.load("background.jpg").convert()
    fond_2 = pygame.image.load("background2.2.jpg").convert()
    fond_3 = pygame.image.load("background2.jpg").convert()
    niv_add = pygame.image.load("niv_add.jpg").convert()
    quite = pygame.image.load("quit.png").convert_alpha()
    facil = pygame.image.load("facil.png").convert_alpha()
    moyen = pygame.image.load("moyen.png").convert_alpha()
    mathe = pygame.image.load("math.png").convert_alpha()
    add = pygame.image.load("add.png").convert_alpha()
    sous = pygame.image.load("sous.png").convert_alpha()
    mult = pygame.image.load("mult.png").convert_alpha()
    perso = pygame.image.load("perso.png").convert_alpha()
     
    #~ categorie accueil
    def accueil():
        fenetre.blit(fond, (0,0))
        entrer  = fenetre.blit(perso, (345,450))
        quitter = fenetre.blit(quite, (823,570))
        pygame.display.flip()
        while True:
            ev = pygame.event.wait()
            if ev.type == MOUSEBUTTONDOWN and ev.button == 1:
                if entrer.collidepoint(ev.pos):
                    return "entrer"
                if quitter.collidepoint(ev.pos):
                    return "quitter"
     
    def categorie():
        fenetre.blit(fond_2, (0,0))
        additi = fenetre.blit(add, (314,292))
        soustr = fenetre.blit(sous, (314,396))
        multip = fenetre.blit(mult, (314,500))
        quitter = fenetre.blit(quite, (823,570))
        pygame.display.flip()
        while True:
            ev = pygame.event.wait()
            if ev.type == MOUSEBUTTONDOWN and ev.button == 1:
                if additi.collidepoint(ev.pos):
                    return "Addition"
                if quitter.collidepoint(ev.pos):
                    return "quitter"
     
    def menu_niveau():
        fenetre.blit(niv_add, (0,0))
        facil_ = fenetre.blit(facil, (314,292))
        moyen_ = fenetre.blit(moyen, (314,396))
        mathe_ = fenetre.blit(mathe, (314,500))
        quitter = fenetre.blit(quite, (823,570))
        pygame.display.flip()
        while True:
            ev = pygame.event.wait()
            if ev.type == MOUSEBUTTONDOWN and ev.button == 1:
                if facil_.collidepoint(ev.pos):
                    return "Facile"
                if quitter.collidepoint(ev.pos):
                    return "quitter"
     
     
    #BOUCLE INFINIE
    continuer = 1
    while continuer:
        if accueil() == "quitter":
            break
        choix_menu = categorie()
        if choix_menu == "quitter":
            break
        choix_niveau = menu_niveau()
        if choix_niveau == "quitter":
            break
        print(choix_menu,choix_niveau)
        while pygame.event.wait().type != QUIT: continue
        break
    pygame.quit()

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse, je vais étudier un peu les termes de ta solution qui me sont inconnus, mais je sais au moins de quel pied partir

    Merci pour votre aide

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Question
    Depuis le temps, avez vous réussi à intégrer une interface graphique au code de votre programme brut de Calcul mental. En gros avez vous fini le jeu avec interface graphique parce que je trouve que votre programme sans interface graphique est très volumineux, alors est-ce difficile de mettre une interface graphique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Interface graphique avec un périphérique USB
    Par mr:titi7 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 02/11/2007, 17h54
  2. [Débutant]Interface graphique avec eclipse
    Par steelidol dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 08/06/2006, 13h12
  3. Création d'interface graphique pour débutant ...
    Par lesuisse dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 08/03/2006, 13h20
  4. [Débutant] Interface Graphique
    Par Ben.fr dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 23/06/2005, 18h27
  5. [débutant]Interface graphique Récalcitrante
    Par chleuh dans le forum Débuter
    Réponses: 2
    Dernier message: 12/12/2004, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo