Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. -- tables
  2.  
  3. local raquette = {}
  4.  
  5. raquette.positionpointx = 0
  6. raquette.positionpointy = 0
  7. raquette.largeur = 80
  8. raquette.hauteur = 33.3
  9.  
  10.  
  11. local balle = {}
  12.  
  13. balle.positionpointx = 0
  14. balle.positionpointy = 0
  15. balle.velocitex = 0
  16. balle.velocitey = 0
  17. balle.rayon = 10
  18. balle.colle = false
  19. balle.tombe = false
  20.  
  21. local brique = {}
  22.  
  23.  
  24.  
  25.  
  26. -- fonction quand le jeu débute
  27.  
  28. function DemarreJeu()
  29. balle.colle = true
  30. balle.tombe = false
  31. end
  32.  
  33.  
  34. -- collision de la balle quand sa position moins son rayon dépasse certaines coordonnées
  35.  
  36.  
  37. function CollisionBalle()
  38.  
  39. if balle.positionpointx + balle.rayon > screen_width then
  40.  
  41. balle.positionpointx = screen_width - balle.rayon -- quand la balle dépasse la limite de la fenetre
  42. balle.velocitex = 0 - balle.velocitex
  43.  
  44. elseif balle.positionpointx - balle.rayon < 0 then
  45.  
  46. balle.positionpointx = 0 + balle.rayon
  47. balle.velocitex = 0 - balle.velocitex
  48.  
  49. elseif balle.positionpointy - balle.rayon < 0 then
  50.  
  51. balle.positionpointy = 0 + balle.rayon
  52. balle.velocitey = 0 - balle.velocitey
  53.  
  54. elseif balle.positionpointy - balle.rayon > screen_height then -- quand la balle tombe
  55.  
  56. balle.colle = true
  57. balle.tombe = true
  58. end
  59.  
  60. local balleCollisionRaquettey = raquette.positionpointy - balle.rayon
  61.  
  62. local raquette_limit = math.abs(raquette.positionpointx - balle.positionpointx)
  63.  
  64. if balle.positionpointy > balleCollisionRaquettey and raquette_limit < raquette.largeur / 2 then -- collision de la balle avec la raquette
  65.  
  66. balle.velocitey = 0 - balle.velocitey
  67. end
  68. end
  69.  
  70.  
  71. -- quand un bouton de la souris est appuyé
  72.  
  73.  
  74. function love.mousepressed(x, y, b)
  75.  
  76. if balle.colle == true then
  77.  
  78. balle.colle = false
  79. balle.velocitex = 200
  80. balle.velocitey = -200
  81. end
  82. end
  83.  
  84.  
  85. -- comportement de la balle quand elle est collé a la raquette et quand elle ne l'est pas
  86.  
  87.  
  88. function Ballecolle(dt)
  89.  
  90. if balle.colle == true then
  91. balle.positionpointx = raquette.positionpointx -- position x et y de la balle quand la balle est collé a la raquette
  92. balle.positionpointy = raquette.positionpointy - balle.rayon
  93. else
  94. balle.positionpointx = balle.positionpointx + balle.velocitex * dt -- velocité x et y de de balle
  95. balle.positionpointy = balle.positionpointy + balle.velocitey * dt
  96. end
  97. end
  98.  
  99.  
  100. -- position y de la raquette quand le jeu est chargé
  101.  
  102.  
  103. function PositionRaquettey()
  104. raquette.positionpointy = screen_height - raquette.hauteur / 2
  105. end
  106.  
  107.  
  108. -- skelette d'un jeu love2d
  109.  
  110.  
  111. function love.load()
  112.  
  113. screen_width = love.graphics.getWidth() -- largeur de la fenetre quand le jeu est chargé
  114.  
  115. screen_height = love.graphics.getHeight() -- hauteur de la fenetre quand le jeu est chargé
  116.  
  117. PositionRaquettey()
  118.  
  119. DemarreJeu()
  120.  
  121.  
  122. end
  123.  
  124.  
  125. function love.update(dt)
  126.  
  127. raquette.positionpointx = love.mouse.getX() -- position x de la raquette controlée par le curseur de la souris
  128.  
  129. Ballecolle(dt)
  130.  
  131. CollisionBalle()
  132.  
  133.  
  134.  
  135.  
  136. end
  137.  
  138.  
  139. function love.draw()
  140.  
  141. love.graphics.rectangle("fill", raquette.positionpointx - raquette.largeur / 2, raquette.positionpointy, raquette.largeur, raquette.hauteur)
  142.  
  143. love.graphics.circle("fill", balle.positionpointx, balle.positionpointy, balle.rayon)
  144.  
  145.  
  146.  
  147. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement