Nous allons créer un mini pong pour un joueur
Un mini pong
Le contexte : Une balle qui se déplace dans une fenêtre, qui doit rebondir sur un mur et un joueur qui doit faire rebondir la balle avec un "paddle" que l'on manipule à la souris...
Méthode : Étape 1 : la fenêtre
Vous devez commencer à avoir l'habitude...
def setup():
size(500,300)
def draw():
background(255,160,122)
Méthode : Étape 2 : La balle
On crée les variables nécessaires pour l'affichage de la balle. Puis une fonction afficheBalle()
pour son affichage
bx=100
by=150
r=15
def setup():
size(500,300)
def draw():
background(255,160,122)
afficherBalle()
def afficherBalle():
fill(254,255,18)
ellipse(bx,by,2*r,2*r)
Faisons bouger cette balle, avec la fonction bougerBalle()
( on aura créé deux variables vx=4
et vy=5
au préalable
def bougerBalle():
global bx,by
bx=bx+vx
by=by+vy
Gérons les collisions de la balle avec les murs avec la fonction collisionBords()
On a déjà vu comment faire (pour rappel voilà le code...)
def collisionBord():
global vx,vy
if bx>width-r:
vx=-vx
if by>height-r or by<15:
vy=-vy
Méthode : Étape 3 : Le paddle
Ce sera un rectangle aux coordonnées ( 10 , mouseY
) de dimensions
avec la couleur
fill(186,85,211)
que l'on affichera avec la fonction afficherPaddle()
je vous laisse faire...
Pour la collision de la balle et du paddle voilà la fonction : collisionPaddle()
def collisionPaddle():
global vx
if bx-r+vx<20 and by<mouseY+60 and by>mouseY:
vx=-vx
Le principe est : si on rentre dans le paddle alors il y a collision, de plus on teste la collision légèrement avant qu'elle n'arrive...
Complément : Et après....
Il vous reste à voir en vous aidant des références, comment compter des points, comment les faire afficher et pour les plus courageux, d'envisager un second joueur qui manipulerai un second paddle avec le clavier...