Advertisement
Guest User

Untitled

a guest
May 24th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. from tkinter import *
  2.  
  3.  
  4. # Vitesse de départ
  5. speed = [0,5]
  6. dt=50
  7. g=80
  8. clics=0
  9. # Malheureusement, on a besoin de l'objet PhotoImage ( pour les dimensions )
  10. # et de l'objet dans le Canvas ( pour le déplacement )
  11.  
  12. def img_is_bouncing(image, obj, speed):
  13. # Demi-Dimensions de l'objet PhotoImage
  14. halfwidth = image.width() / 2
  15. halfheight = image.height() / 2
  16. # Coordonnées du centre de l'image
  17. centre = Dessin.coords(obj)
  18. # Coordonnées des deux bords supérieur gauche et inférieur droit
  19. coordonnees = (centre[0]-halfwidth, centre[1]-halfheight, centre[0]+halfwidth, centre[1]+halfheight)
  20. ##
  21.  
  22. if ( 0 >= coordonnees[0] ) or ( 500 - speed[0] <= coordonnees[2] ):
  23. newspeed = [-speed[0]*0.9, speed[1]*0.5]
  24. elif 0 >= coordonnees[1] or ( 500 - speed[1] <= coordonnees[3] ):
  25. newspeed = [speed[0]*0.9, -speed[1]*0.5]
  26. else:
  27. newspeed = [-speed[0], speed[1]+int(g*dt/1000)]
  28. #newspeed = speed
  29. return newspeed
  30.  
  31.  
  32. def compteur_clics(event):
  33. global speed
  34. speed[1] -= 30
  35.  
  36. def collision(obj1,obj2,taille):
  37. coordonnees1= Dessin.coords(balle)
  38. coordonnees2= Dessin.coords(obstacle)
  39. if coordonnees1[0]>=coordonnees2[0] and coordonnees1[1]>=coordonnees2[1] :
  40. print ("game over")
  41.  
  42.  
  43.  
  44. def bouge():
  45. global speed
  46. speed = img_is_bouncing(img, balle, speed)
  47. Dessin.move(balle, speed[0], speed[1])
  48. Dessin.move(obstacle, -15,0)
  49. centre1 = Dessin.coords(obstacle)
  50. if centre1[0]<0:
  51. Dessin.move(obstacle,800,0)
  52. if collision (balle, obstacle,100):
  53. print("game over")
  54. Dessin.after(dt, bouge) ## Fonction bouge appelée toutes les 50 ms
  55.  
  56. #def change_bg(event):
  57. # Dessin.config(bg="red")
  58.  
  59. def tkquit():
  60. mafenetre.destroy()
  61.  
  62. mafenetre = Tk()
  63. mafenetre.title("Un premier canvas")
  64. mafenetre.geometry("600x600")
  65. mafenetre.grid_columnconfigure(0, weight=1)
  66.  
  67. Dessin = Canvas(mafenetre, width=500, height=500, bg="orange")
  68. Dessin.grid(row=0, column=0, pady=20)
  69.  
  70. img=PhotoImage
  71. img = PhotoImage(file="ball.gif")
  72. balle = Dessin.create_image(100,100, image=img)
  73.  
  74. img2=PhotoImage
  75. img2 = PhotoImage(file="ball2.gif")
  76. obstacle = Dessin.create_image(300,350, image=img2)
  77.  
  78. montexte = Dessin.create_text(200,50, text="", fill="red", font=("Comic Sans MS", 14, "bold"))
  79. mafenetre.bind("<1>", compteur_clics)
  80.  
  81. quitter = Button(mafenetre, text="Quitter", command=tkquit)
  82. quitter.grid(row=1, column=0)
  83.  
  84. bouge()
  85.  
  86. #mafenetre.bind('<space>', change_bg)
  87.  
  88. mafenetre.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement