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 :

Créer des tuyaux s'affichant aléatoirement à l'aide d'une liste pour un jeu Flappy Bird


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Créer des tuyaux s'affichant aléatoirement à l'aide d'une liste pour un jeu Flappy Bird
    Bonjour,
    Je suis nouveau sur ce forum donc je m'excuse d'avance si il y a une quelconque erreur dans la procédure pour poster

    Je suis actuellement en train de créer un jeu Flappy Bird à l'aide de Tkinter et je bloque à un certain endroit.
    En effet, j'ai réussi à afficher un tuyau (en réalité 2 tuyaux, un pour le haut et un pour le bas) et le faire bouger, pendant que mon oiseau saute statiquement.

    Mon problème est que j'aimerai maintenant pouvoir afficher les tuyaux avec des longueurs aléatoires (avec des limites évidemment) et à intervalles réguliers.
    Je veux donc passer par une liste et une boucle, mais j'ai beaucoup de mal à rendre mon idée concrète ^^
    J'ai fait plusieurs recherches pour par exemple utiliser du random.randint dans un l.append et d'autres petites idées comme ça mais rien n'a vraiment abouti.
    Je créerai sinon moi-même les tuyaux mais cela me prendra beaucoup plus de temps en plus d'être assez limité

    Je vous mets le code au cas où, ce qui est entre trois crochets sont les éléments qui font parti de l'idée que je souhaite mettre en place.

    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
    83
    84
    85
    86
    87
    88
     
    from tkinter import *
    import random
     
    L=500
     
    x=100
    y=200
     
    xc=250
    yc=250
    Thx0=300
    Thy1=150
    Tby0=250
    Tby1=500
     
    dx=0
    dy=0
    dx1=-5
    dy1=0
     
    g=2
    mult=6
     
    '''l=[]'''
     
     
     
     
     
    def chute():
        global dx, dy, g, y
        dy=dy+g
        can.move(image_oiseau,dx,dy)
        fen.after(50,chute)
        y=y+dy
        if (y<0)or (y>L):
            can.delete(ALL)
            can.create_text(xc, yc, anchor=CENTER, text="VOUS AVEZ PERDU. VOULEZ-VOUS REJOUER ?", font=('Helvetica', '15'))
     
     
     
     
     
     
    def saut(event):
        global dx, dy, g, mult
        dy=-mult*g
     
     
    def animation():
        global tuyau_haut, tuyau_bas, dx1, dy1
        '''for i in range(0, len(L)-1):
            l.append('''
     
     
        can.move(tuyau_haut,dx1,dy1)
        can.move(tuyau_bas,dx1,dy1)
        fen.after(50,animation)
     
     
     
     
     
    #Interface Graphique
    fen=Tk()
    can= Canvas(fen,width = L, height = L , bd=0, bg="white")
     
    oiseau = PhotoImage(file='flappy2.gif')
    image_oiseau=can.create_image(x,y, anchor=CENTER, image=oiseau)
     
    tuyau_haut=can.create_rectangle(Thx0, 0, Thx0+40, Thy1,  fill="#74BF2E", outline="green")
    tuyau_bas=can.create_rectangle(Thx0, Tby0, Thx0+40, Tby1, fill="#74BF2E", outline="green")
     
     
    can.bind('<space>', saut)
    can.focus_set() 
     
    animation()
    Bouton_Demarrer=Button(fen, text='Démarrer', command=chute)
    Bouton_Demarrer.pack(side=BOTTOM)
    Bouton_Quitter=Button(fen, text ='Quitter', command = fen.destroy)
    Bouton_Quitter.pack(side=BOTTOM)
     
     
     
    can.pack()
    fen.mainloop()
    Nom : flappy2.gif
Affichages : 215
Taille : 1,4 Ko (c'est l'image de l'oiseau)


    J'ai également des problèmes pour faire en sorte que les collisions fassent perdre le joueur mais c'est un problème moins important à l'heure actuelle.

    Merci d'avance pour avoir lu tout ça

  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 781
    Points
    36 781
    Par défaut
    Salut,

    Vous aurez peut être des idées et des codes pour démarrer dans cette discussion.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 30/07/2015, 13h40
  2. [MySQL] Afficher aléatoirement un texte sur une page
    Par baboulinet84 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/02/2008, 12h02
  3. Besoin d'aide avec une requete pour récupérer des hyperliens
    Par scaleo dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 21/12/2007, 12h56
  4. Réponses: 27
    Dernier message: 12/04/2007, 10h23
  5. Réponses: 4
    Dernier message: 05/07/2006, 15h47

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