Flappy bird

Signaler
-
Messages postés
15817
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 avril 2021
-
Bonjour , je dois coder un jeux flapppy bird mais je bloque beaucoup pour les fonctions pause , play et le message game over lorsque l'oiseau touche un tuyeau , j'ai également du mal avec les trois points de vie qui devront s'effacer et les cœurs, merci d'avance ! (tout doit se faire en tkinter)

voici mon debut de travail :

#importation des modules

from tkinter import *
from math import *


#définition des fonction


def haut (event):
    zone_dessin.move(flappy_c, 0, -8)
    zone_dessin.move(flap, 0, -8)
    zone_dessin.move(flappy_y, 0, -8)
    zone_dessin.move(flappy_yn, 0, -8)
    zone_dessin.move(aile, 0, -8)
    zone_dessin.move(bec, 0, -8)

def bas (event):
    zone_dessin.move(flappy_c, 0, 8)
    zone_dessin.move(flap, 0, 8)
    zone_dessin.move(flappy_y, 0, 8)
    zone_dessin.move(flappy_yn, 0, 8)
    zone_dessin.move(aile, 0, 8)
    zone_dessin.move(bec, 0, 8)


def deplacer1(zone_dessin, tuyau1, x) :
    x -= 5
    zone_dessin.move(tuyau1, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer1, zone_dessin, tuyau1, x)

def deplacer2(zone_dessin, t1, x) :
    x -= 5
    zone_dessin.move(t1, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer2, zone_dessin, t1, x)


def deplacer3(zone_dessin, tuyau2, x) :
    x -= 5
    zone_dessin.move(tuyau2, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer3, zone_dessin, tuyau2, x)

def deplacer4(zone_dessin, t2, x) :
    x -= 5
    zone_dessin.move(t2, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer4, zone_dessin, t2, x)

def deplacer5(zone_dessin, tuyau3, x) :
    x -= 5
    zone_dessin.move(tuyau3, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer5, zone_dessin, tuyau3, x)

def deplacer6(zone_dessin, t3, x) :
    x -= 5
    zone_dessin.move(t3, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer6, zone_dessin, t3, x)

def deplacer7(zone_dessin, tuyau4, x) :
    x -= 5
    zone_dessin.move(tuyau4, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer7, zone_dessin, tuyau4, x)

def deplacer8(zone_dessin, t4, x) :
    x -= 5
    zone_dessin.move(t4, -5, 0)
    if x > 0 :
        zone_dessin.after(100, deplacer8, zone_dessin, t4, x)


#création de l’objet principal (fenêtre vide)

fenetre = Tk()
fenetre.title("Flappy Bird")


#création des widgets esclaves

zone_dessin = Canvas(fenetre,height = 500,width = 800,bg = "PaleTurquoise2")


#création des objets dans les widgets esclaves

buisson1 = zone_dessin.create_arc(0,400,50,435, width = 2 ,outline = "spring green" , fill = "spring green",extent=180)
buisson2 = zone_dessin.create_arc(40,405,80,435, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson3 = zone_dessin.create_arc(70,400,100,450, width = 2 ,outline = "spring green" , fill = "spring green", start = 50)
buisson4 = zone_dessin.create_arc(90,390,150,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson5 = zone_dessin.create_arc(145,395,180,445, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson6 = zone_dessin.create_arc(176,400,210,435, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson7 = zone_dessin.create_arc(200,410,260,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson8 = zone_dessin.create_arc(230,400,290,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson9 = zone_dessin.create_arc(280,405,320,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson10 = zone_dessin.create_arc(310,395,350,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson11 = zone_dessin.create_arc(340,400,400,440, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson12 = zone_dessin.create_arc(390,400,440,435, width = 2 ,outline = "spring green" , fill = "spring green",extent=180)
buisson13 = zone_dessin.create_arc(430,405,470,435, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson14 = zone_dessin.create_arc(430,400,460,450, width = 2 ,outline = "spring green" , fill = "spring green", start = 50)
buisson15 = zone_dessin.create_arc(450,390,510,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson16 = zone_dessin.create_arc(505,395,545,445, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson17 = zone_dessin.create_arc(541,400,575,435, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson18 = zone_dessin.create_arc(565,410,620,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson19 = zone_dessin.create_arc(590,400,650,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson20 = zone_dessin.create_arc(640,405,680,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson21 = zone_dessin.create_arc(670,395,710,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson22 = zone_dessin.create_arc(700,400,760,440, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)
buisson23 = zone_dessin.create_arc(750,400,800,435, width = 2 ,outline = "spring green" , fill = "spring green",extent=180)
buisson24 = zone_dessin.create_arc(790,395,810,450, width = 2 ,outline = "spring green" , fill = "spring green", extent = 180)

buisson25 = zone_dessin.create_rectangle(0,420,805,436, width = 2 ,outline = "spring green" , fill = "spring green")


sol = zone_dessin.create_rectangle(0,450,805,500, width = 1 ,outline = "tan" , fill = "tan")
ligne = zone_dessin.create_line(0,448,805,448, width = 3 , fill = "peru")
herbe = zone_dessin.create_rectangle(0,437,805,447, width = 1 ,outline = "black" , fill = "pale green")

haut = zone_dessin.create_rectangle(0,0,805,50, width = 1 ,outline ="black", fill="tan")


pause = zone_dessin.create_rectangle(10,8,44,42, width = 1 ,outline ="black", fill="white")
pause1 = zone_dessin.create_rectangle(18,14,25,36, width = 1 ,outline ="black", fill="black")
pause2 = zone_dessin.create_rectangle(30,14,37,36, width = 1 ,outline ="black", fill="black")

recvies = zone_dessin.create_rectangle(55,8,200,42, width = 1 ,outline ="black", fill="beige")

text_1=zone_dessin.create_text(700,30,text="Flappy bird",fill="black",font=("Courier", 18))


nuage0 = zone_dessin.create_oval(80,110,110,140, width = 2 ,outline = "white" , fill = "white")
nuage1 = zone_dessin.create_oval(95,90,130,120, width = 2 ,outline = "white" , fill = "white")
nuage2 = zone_dessin.create_oval(125,90,170,150, width = 2 ,outline = "white" , fill = "white")
nuage3 = zone_dessin.create_oval(100,130,140,155, width = 2 ,outline = "white" , fill = "white")
nuage4 = zone_dessin.create_oval(135,110,175,154, width = 2 ,outline = "white" , fill = "white")
nuage5 = zone_dessin.create_oval(100,115,130,145, width = 2 ,outline = "white" , fill = "white")
nuage6 = zone_dessin.create_oval(150,98,190,130, width = 2 ,outline = "white" , fill = "white")
nuage7 = zone_dessin.create_oval(155,120,192,145, width = 2 ,outline = "white" , fill = "white")

nuage00 = zone_dessin.create_oval(600,110,630,140, width = 2 ,outline = "white" , fill = "white")
nuage01 = zone_dessin.create_oval(620,95,655,130, width = 2 ,outline = "white" , fill = "white")
nuage02 = zone_dessin.create_oval(645,90,675,115, width = 2 ,outline = "white" , fill = "white")
nuage03 = zone_dessin.create_oval(665,97,695,125, width = 2 ,outline = "white" , fill = "white")
nuage04 = zone_dessin.create_oval(615,130,645,155, width = 2 ,outline = "white" , fill = "white")
nuage05 = zone_dessin.create_oval(635,135,670,160, width = 2 ,outline = "white" , fill = "white")
nuage06 = zone_dessin.create_oval(665,133,695,154, width = 2 ,outline = "white" , fill = "white")
nuage07 = zone_dessin.create_oval(685,110,715,140, width = 2 ,outline = "white" , fill = "white")
nuage08 = zone_dessin.create_oval(625,100,690,140, width = 2 ,outline = "white" , fill = "white")

nuage000 = zone_dessin.create_oval(245,85,280,110, width = 2 ,outline = "white" , fill = "white")
nuage001 = zone_dessin.create_oval(265,75,295,105, width = 2 ,outline = "white" , fill = "white")
nuage002 = zone_dessin.create_oval(260,95,290,121, width = 2 ,outline = "white" , fill = "white")
nuage003 = zone_dessin.create_oval(280,85,310,120, width = 2 ,outline = "white" , fill = "white")
nuage004 = zone_dessin.create_oval(285,80,318,110, width = 2 ,outline = "white" , fill = "white")

tuyau1 = zone_dessin.create_rectangle(400,437,445,300, width=1, outline="black", fill = "green")
tuyau2 = zone_dessin.create_rectangle(400,50,445,200, width=1, outline="black", fill = "green")
tuyau3 = zone_dessin.create_rectangle(600,437,645,380, width=1, outline="black", fill = "green")
tuyau4 = zone_dessin.create_rectangle(600,50,645,280, width=1, outline="black", fill = "green")

t1 = zone_dessin.create_rectangle(395,288,450,300, width=1, outline="black", fill = "green")
t2 = zone_dessin.create_rectangle(395,200,450,212, width=1, outline="black", fill = "green")
t3 = zone_dessin.create_rectangle(595,368,650,380, width=1, outline="black", fill = "green")
t4 = zone_dessin.create_rectangle(595,280,650,292, width=1, outline="black", fill = "green")


flap = zone_dessin.create_polygon(180,251,180,279,200,265,width = 1, outline = "black", fill="LightGoldenrod1")
flappy_c = zone_dessin.create_oval(190,250,230,280, width = 1 ,outline = "black" , fill = "yellow")
flappy_y = zone_dessin.create_oval(211,252,224,265, width = 1 ,outline = "black" ,fill = "white")
flappy_yn = zone_dessin.create_oval(216,256,224,265, width = 1 ,outline = "black", fill="black")
bec = zone_dessin.create_polygon(230,262,230,270,240,266, width = 1, outline = "black", fill="orange")
aile = zone_dessin.create_polygon(185,285,200,265,213,273,width = 1, outline = "black", fill="LightGoldenrod1")


#positionnement des widgets

zone_dessin.grid(row = 1)

#liaison et évènement

fenetre.bind("<Down>", bas)
fenetre.bind("<Up>", haut)


deplacer1(zone_dessin, tuyau1, 800)
deplacer2(zone_dessin, t1, 800)
deplacer3(zone_dessin, tuyau2, 800)
deplacer4(zone_dessin, t2, 800)
deplacer5(zone_dessin, tuyau3, 800)
deplacer6(zone_dessin, t3, 800)
deplacer7(zone_dessin, tuyau4, 800)
deplacer8(zone_dessin, t4, 800)


#ouvre le gestionnaire d’évènements

fenetre.mainloop()
A voir également:

3 réponses

Messages postés
1783
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
2 avril 2021
126
j'ai ajouter l'indentation
je n'ai pas compris
Messages postés
15817
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 avril 2021
532
Bonjour
En python, il y a truc primordial : l’indentation.

Pour qu’elle soit préservée sur il site, il faut utiliser les balises de codes comme décrit sur ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Sans cela aucune chance que quelqu’un puisse te venir en aide.
Tu as encore un peu de temps pour modifier ton message
pouvez vous m'aider ?
Messages postés
15817
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 avril 2021
532 > camille
Non, mais karamel l’a fait, et il suffit de lire le tuto que je t’ai mis en lien pour comprendre
pouvez vous m'aider avec mon programme