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 : 282
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