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

Bibliothèques tierces Python Discussion :

Pyscripter + Pygame, installation de modules (ou bibliothèque?)


Sujet :

Bibliothèques tierces Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Pyscripter + Pygame, installation de modules (ou bibliothèque?)
    Bonjour à tous,


    J'ai cherché sur le forum un sujet pouvant répondre à mes questions mais il me manque du vocabulaire informatique pour m'en sortir on dirait. Donc voilà mon problème:

    Je suis lycéen et je développe un jeu avec deux autres amis pour le bac dans la spécialité que j'ai choisi, l'ISN (Informatique et Sciences du Numérique). Je suis donc un débutant complet dans le domaine de la programmation, nous avons vu les fonctions de base de Python avec Pyscripter, fait un peu de code, rien de très poussé pour l'instant.


    Nous souhaiterions faire un jeu du style 8-bit, où le principe serait de défendre une base contre des vagues de zombies, arrivant à intervalles réguliers. A chaque zombie d'éliminé, on obtient de l'argent permettant d'améliorer la base. Forcement, ça implique l'utilisation d'images animées, c'est pourquoi je me tourne vers Pygame qui pourrait nous économiser de longs efforts.



    J'ai trouvé une version de Pygame compatible avec la version 3.3 de Python, elle est installée, fonctionne dans la fenetre Python (pas d'erreur lorsque " import pygame" est rentré).Mais c'est un peu rébarbatif pour nous, on est plus efficace avec Pyscripter et on aimerait pouvoir utiliser Pygame avec.


    Alors voilà mes questions:
    -Comment faire pour installer pygame dans Pyscripter?
    -Pygame est-il une bibliothèque ou un module?
    -Quelle différence entre les deux?
    -Quels sont les équivalents anglais de ces mots?


    de votre lecture et de vos éventuelles réponses!

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Citation Envoyé par Timcampy Voir le message
    -Comment faire pour installer pygame dans Pyscripter?
    D’après la FAQ, PyScripter ne supporte que Python 3.1 au mieux... Mais, elle explique aussi comment travailler avec un autre Python. A vous de faire votre cuisine: tester, downgrader,... ou d’espérer que quelqu'un partage son expérience avec cet IDE.

    note: Il sera peut être plus simple d'utiliser une bibliothèque comme tkinter. Elle est intégrée a Python. Elle n'a pas les fonctionnalités d'un PyGame, mais comme vous débutez, vous les subirez plus qu'autre chose. Vous avez des exemples de ce qu'on peut faire avec dans le Swinnen

    -Pygame est-il une bibliothèque ou un module?
    -Quelle différence entre les deux?
    -Quels sont les équivalents anglais de ces mots?
    Une bibliothèque / librairie sera un ensemble de fonctionnalités prête a l'emploi: vous les utilisez "out of the box" plutôt que de les recoder vous même.
    Quelque soit le langage de programmation, vous aurez un jargon qui décrira comment construire une librairie utilisable par le langage en question. Ce jargon sera "spécifique" au langage car les "interfaces" utilisables seront "spécifiques".
    Avec Python, utiliser une librairie passera par "import".
    La machinerie d'import s'applique a des "modules".
    Et un module pourra être un simple fichier, un répertoire contenant une hiérarchie de fichier (on parle alors de package).

    In fine PyGame est une bibliothèque (fonctionnalités prêtes a l'emploi) qui ressemble assez a un module pour pouvoir lui appliquer "import" et permettre au programmeur Python de profiter de ses fonctionnalités.
    Comme leur nombre est important, impossible de caser le code correspondant dans un seul script... c'est aussi un package.

    Si vous voulez apprendre Python dans la langue de Shakespeare, le Python tutorial est une bonne lecture.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par wiztricks Voir le message

    D’après la FAQ, PyScripter ne supporte que Python 3.1 au mieux...
    Ah... C'est bon à savoir! Merci de la précision.

    Citation Envoyé par wiztricks Voir le message

    note: Il sera peut être plus simple d'utiliser une bibliothèque comme tkinter. Elle est intégrée a Python. Elle n'a pas les fonctionnalités d'un PyGame, mais comme vous débutez, vous les subirez plus qu'autre chose. Vous avez des exemples de ce qu'on peut faire avec dans le Swinnen
    C'est une bibliothèque que nos professeurs nous ont conseillé. Après avoir lu votre réponse, nous allons donc nous rabattre dessus. Nous avons déjà commencé à faire plusieurs scripts séparés pour le projet.

    Une autre question à ce propos ne nécessitant pas (je pense) d'ouverture de nouveau sujet: Nous sommes à l'élaboration d'un menu comprenant un fond (image GIF), et trois boutons par dessus. Est-il possible dans Tkinter de personnaliser les boutons ou faut-il passer par des images GIF cliquables? Quelle instruction nous recommanderiez-vous?

    Nom : t kinter accueil.jpg
Affichages : 3839
Taille : 295,5 Ko

    Merci
    Timcampy

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Timcampy Voir le message
    Nous sommes à l'élaboration d'un menu comprenant un fond (image GIF), et trois boutons par dessus. Est-il possible dans Tkinter de personnaliser les boutons ou faut-il passer par des images GIF cliquables?
    L'un et l'autre sont possibles et de plusieurs façons.

    Quelle instruction nous recommanderiez-vous?
    En fait, il faut arriver a séparer 2 point de vues ou perspective:
    • ce que voit l'utilisateur et ses modalités d'actions sur le jeu - boutons, appuyer sur une touche,... - c'est ce qu'on appelle l'interaction homme-machine (IHM). Il serait bon de commencer par faire de petits sketchs sur des feuilles de papier.
    • et le code qui mouline derrière.

    Les deux sujets sont compliques.
    Pour le code, commencez "bourrin" pour voir ce que ça donne.

    Illustration:
    Le lien que vous avez donne pourrait s'appeler "écran d'accueil" (ou autre).
    Le fond est joli mais "le joli" est relatif.
    L'important est ce qui se passera lorsqu'on "clique" sur chacun des boutons: Jouer, Regles, Quitter.
    Vos boutons sont d'abord des "Button": le widget qui affiche un label et qui déclenche une action lorsqu'on cliquera dessus.
    Quelque soit la biblio. graphique, action = "callback" et en Python "callback" = function: do_play, do_show_rules, do_quit
    Donc ça commence par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> def do_play(): print('do_play')
    ...
    >>> def do_show_rules(): print('do_show_rules')
    ...
    >>> def do_quit(): print('do_quit')
    ...
    Pour l'instant, on se fout un peu du boulot que ca doit faire: on s'occupe de "structure".
    On se contente juste de traduire Button => action = function.
    Manquent les fameux Buttons, ca pourrait etre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> import tkinter as tk
    >>> app = tk.Tk()
    >>> w = tk.Frame(app)
    >>> tk.Button(w, text='Jouer', command=do_play).pack()
    >>> tk.Button(w, text='Regles', command=do_show_rules).pack()
    >>> tk.Button(w, text='Quitter', command=do_quit).pack()
    >>> w.pack()
    Comme le sujet est "structure" on va emballer ce "welcome" dans une boite...
    Pour l'instant une fonction suffira:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> def create_welcome(app):
    ...    w = tk.Frame(app)
    ...    tk.Button(w, text='Jouer', command=do_play).pack()
    ...    tk.Button(w, text='Regles', command=do_show_rules).pack()
    ...    tk.Button(w, text='Quitter', command=do_quit).pack()
    ...    return w
    ...
    >>> app = tk.Tk()
    >>> welcome = create_welcome(app)
    >>> welcome.pack()
    Et vous avez un écran d'accueil réalise pour 6 sous qui permet de travailler sur le reste.
    Une fois que ce reste sera "satisfaisant" vous pourrez remettre du "jus" dans "create_welcome" pourvu que les "interfaces" soient "semblables".
    Le canvas est un widget qui permet de mettre un "fond" et des Button par dessus:
    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
    def create_welcome(app):
        w = tk.Canvas(app)
        w.image = #ouvrir l'image
        w.create_image(...)
        # puis on colle les Button dedans.
        x0 = 100
        y0 = 50
        b = tk.Button(w, text='Jouer', command=do_play)
        w.create_window(x0, y0, window=b)
     
        b = tk.Button(w,text='Regles', command=do_show_rules)
        w.create_window(x0, y0+100, window=b)
     
        b = tk.Button(w, text='Quitter', command=do_quit)
        w.create_window(x0, y0+200, window=b)
     
        return w
    Dans la pratique, vous allez passer un temps fou a compter les pixels pour positionner les trucs de façon sympa. Vous allez vouloir remplacer les Button par des images plus cool,...
    Comme vous n'avez qu'un cerveau le mobiliser sur des détails alors que vous avez encore des soucis de structure, c'est courir le risque d'un pétage de plombs ou d'engueulades entre plusieurs cerveaux qui bossent en parallèle avec des préoccupations différentes.

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

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Entendu! Se concentrer sur la structure en premier lieu. J'ai compris vos explications, Voici le programme de la capture d'écran précédente:

    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
    from tkinter import*
     
     
    fenetre=Tk()
    fenetre.title("Anemia")
     
    #Supprime la barre de fenêtre + plein écran
    fenetre.geometry(str(fenetre.winfo_screenwidth())+"x"+str(fenetre.winfo_screenheight())+"+0+0")
    fenetre.overrideredirect(TRUE)
     
     
    can1=Canvas(fenetre,bg='black',height=1024,width=1280)
    can1.grid(row=0,rowspan=100,column=0,columnspan=100)
    photo=PhotoImage(file='foret.gif')
    item=can1.create_image(648,500,image=photo)
     
     
    bouton_jouer=Button(fenetre,text='Jouer',command=fenetre.destroy)
    bouton_jouer.grid(row=40,column=50)
    bouton_regle=Button(fenetre,text='Regles',command=fenetre.destroy)
    bouton_regle.grid(row=50,column=50)
    bouton_quitter=Button(fenetre,text='Quitter',command=fenetre.destroy)
    bouton_quitter.grid(row=60,column=50)
     
    fenetre.mainloop()
    fenetre.destroy


    Et le code après vos explications (j'ai fais une ou des erreurs ):



    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
    from tkinter import*
     
     
     
     
    #Supprime la barre de fenêtre + plein écran
    #fenetre.geometry(str(fenetre.winfo_screenwidth())+"x"+str(fenetre.winfo_screenheight())+"+0+0")
    #fenetre.overrideredirect(TRUE)
     
     
     
    def do_play():
        print('C est parti')
     
    def do_show_rules():
        print('Afficher les règles')
     
    def do_quit():
        print('Quitter')
     
     
     
     
    def create_welcome(app):
       w = tk.Frame(app)
       tk.Button(w, text='Jouer', command=do_play).pack()
       tk.Button(w, text='Regles', command=do_show_rules).pack()
       tk.Button(w, text='Quitter', command=do_quit).pack()
       return w
     
     
    welcome= create_welcome(app)
    welcome.pack()
     
    fenetre.mainloop()
    fenetre.destroy



    Je ne comprends pas le " w = tk.Frame(app) " . Vous pourriez m'expliquer cette ligne?
    Le reste me semble clair

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Timcampy Voir le message
    Je ne comprends pas le " w = tk.Frame(app) ".
    Vous pourriez m'expliquer cette ligne?
    .
    Frame et Toplevel sont les containeurs de base de Tk.
    Des widgets qui servent a contenir et gérer la disposition des widgets qu'on "met dedans".
    Le Canvas que vous utilisez est aussi un "conteneur" puisqu'on peut "créer" des items "dedans". Mais il faut les placer a la bonne position, puis gérer les superpositions,... Complique de faire ça pour des listes ou des boutons...

    Le tuto de Swinnen vous présente les widgets de base Tk.
    Vous avez aussi une FAQ a consulter pour les questions de base.
    Arriver a se repérer dans tout ça demande un peu de temps...
    Mais si vous ne prenez pas la peine de les consulter avant de poster des questions, vous ne n'arriverez jamais a les utiliser.
    Dommage d'attendre des réponses qui existent déjà, d'autant qu'il sera difficile de mieux les rédiger.

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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Si vous travaillez sous windows, il y a la distribution :

    AmiensPython : Sous Python 2.7
    EduPython : Sous Python 3.2

    Qui propose un package portable avec inclus PyScripter, PyGame et pas mal d'autre choses pour les maths et l'ISN au lycée

    Vincent

    P.S : Il ne me semble pas de PyScripter soit limité à Python 3.1

Discussions similaires

  1. instalation du module pygame
    Par stin7 dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 16/02/2009, 15h31
  2. probleme pour installer le module DBD::Sybase
    Par black_code dans le forum SGBD
    Réponses: 9
    Dernier message: 25/07/2005, 15h06
  3. Installer un module
    Par cryptorchild dans le forum Modules
    Réponses: 4
    Dernier message: 16/07/2005, 03h23
  4. installation du module DBD::Pg
    Par champijulie dans le forum Modules
    Réponses: 2
    Dernier message: 18/05/2005, 17h21
  5. Installation du module DBI pour perl sous W2K
    Par tomcat dans le forum Modules
    Réponses: 6
    Dernier message: 22/01/2004, 11h54

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