Pour ma part, je pense qu'il faut que tu contrôles la hauteur de la barre qui renvoie la balle. Si la balle touche le premier pixel de cette barre, tu comptes 1.
Je pense qu'aujourd'hui, ton code ne contrôle pas cette hauteur de barre, et la balle passe au travers des pixels de la barre augmentant ton compteur d'autant de pixels traversés.
Ceci est une hypothèse.
Quand tu mets un point d'arrêt dans pictureBoxBalle_LocationChanged, et ici particulièrement :
if ((pictureBoxBalle.Location.X >= pictureBoxBarre.Location.X) && (pictureBoxBalle.Location.X <= pictureBoxBarre.Location.X + 88) && (pictureBoxBalle.Location.Y > 364)) // valeur normale = 366
ça fait quoi exactement ?
Je pense que le problème vient de là. Y'a soit un contrôle de valeur manquant, ou alors les valeurs ne reflètent pas ce que tu attends.
Partager