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

Tkinter Python Discussion :

Conception jeu de type Space Invader


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Conception jeu de type Space Invader
    Bonjour à tous (ou bonsoir),

    Dans le cadre de mes études je dois programmer un jeu sous tkinter et étant débutant je peine un peu à quelques niveaux malgré mes recherches intensives de documentation et d'éventuels solutions à mon problème.

    J'essaie de réaliser une interface qui se compose d'une frame et qui selon le choix sur le bouton auquel on appuie, la frame se detroy, on créée et affiche une nouvelle frame.

    Schéma :
    Nous somme sur la frame Menu -> appuyer sur le bouton jouer -> frameMenu.destroy() -> page_jeu = Jeu() (instantiation d'une class Jeu elle même enfant de la class Frame) -> page_jeu.pack()

    Et mon problème est que j'ai besoin du paramètre master pour instancier une nouvelle frame, mes boutons font partie de la class Menu(Frame) et ont pour callback des méthodes.
    Y a t-il une solution à ce problème ?
    C'est assez complexe pour moi pardonnez si c'est un peu flou

    La class Menu :
    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
    from tkinter import Frame,Button,Label,X
    from Class.ClassJeu import Jeu
    from Class.ClassInstruct import Instructions
    from Class.ClassEquip import Equipements
     
    class Menu(Frame):
            def __init__(self):
                    super().__init__()
     
                    # INITIALISATION DES VARIABLES
                    # Créations des widgets
     
     
                    self.message = Label(self, text="SPACE INVADER")
                    self.message.pack(side="top", fill=X)
     
     
                    self.btn_jouer = Button(self, text="Jouer", command=self.call_play)
                    self.btn_jouer.pack()
     
                    self.btn_instruc = Button(self, text="Instruction", command=self.call_instruct)
                    self.btn_instruc.pack()
     
                    self.btn_equip = Button(self, text="Equipements", command=self.call_equipment)
                    self.btn_equip.pack()
     
                    self.btn_quitter = Button(self, text="Quitter",cursor="pirate", command=self.master.quit)
                    self.btn_quitter.pack()
     
     
            # méthode d'appel de la page de jeu
     
            def call_play(self):
                    self.destroy()  # On détruit la frame en cour 
                    page_jeu = Jeu()  # et on créé la nouvelle
     
            # méthode d'appel de la page d'instruction
     
            def call_instruct(self):
                    self.destroy()
                    page_instruction = Instructions()
     
            # méthode d'appel de la page d'équipement
     
            def call_equipment(self):
                    self.destroy()
                    page_equipement = Equipements()
    Ps: J'ai découpé mon programme en plusieurs fichier (Un pour chaque class et un main)

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par Yazga Voir le message
    Et mon problème est que j'ai besoin du paramètre master pour instancier une nouvelle frame, mes boutons font partie de la class Menu(Frame) et ont pour callback des méthodes.
    paramètre est une notion qui se rattache à une variable d'entrée d'une fonction (et comme créer un objet s'assimile à un appel de fonction, par extension, çà s'applique aussi à "instanciation"). Après, il faut définir à quoi çà correspond (histoire de savoir quoi y mettre).

    Citation Envoyé par Yazga Voir le message
    Y a t-il une solution à ce problème ?
    Il y a certainement une solution, mais tant qu'on ne comprend pas le problème...

    Citation Envoyé par Yazga Voir le message
    C'est assez complexe pour moi pardonnez si c'est un peu flou
    Peut être que vous pourriez "simplifier"... histoire de maîtriser un peu ce que vous faites.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Jeu Space Invaders
    Par Saiko-sama dans le forum Java ME
    Réponses: 0
    Dernier message: 23/12/2014, 18h16
  2. Jeu space invaders
    Par Saiko-sama dans le forum Java ME
    Réponses: 2
    Dernier message: 22/12/2014, 17h14
  3. Structure de jeu vidéo 2D - cas d'un Space Invaders
    Par firepolo dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 17/01/2013, 17h38
  4. Programmer un jeu (space invader) avec Java Micro Edition
    Par Alain Defrance dans le forum Java ME
    Réponses: 5
    Dernier message: 16/06/2009, 21h21
  5. [Article] Programmer un jeu (space invader) avec Java Micro Edition
    Par Alain Defrance dans le forum Contribuez
    Réponses: 2
    Dernier message: 09/06/2009, 23h02

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