import random
import pygame
from constantes import *

"""
	classe raquette
	
	une raquette est définie par les attributs (champs) suivants :
	- sa position x, y dans la fenêtre en pixels, sachant que x est fixé
	- sa largeur et sa hauteur en pixels
	- son vecteur de déplacement en dy en pixels
	- une référence à la fenêtre du jeu pour pouvoir dessiner la balle
"""
class Raquette(object):

	"""
		initialisation de la raquette
	"""	
	def __init__(self, fenetre):
		self.hauteur = 80
		self.largeur = 20
		self.x = 20
		self.y = (HAUTEUR_FENETRE - self.hauteur) // 2
		self.dy = 2
		self.fenetre = fenetre
		
	"""
		dessine la raquette dans la fenêtre graphique	
		en blanc sous forme d'un rectangle
	"""	
	def dessine(self):
		pygame.draw.rect(self.fenetre, couleurs[BLANC_ROLAND_GARROS], \
			(self.x, self.y, self.largeur, self.hauteur), 0)
	
	"""
		déplace la raquette suivant le vecteur de déplacement en inversant la direction
		si on arrive en haut ou en bas de la fenêtre
	"""	
	def deplace(self):
		self.y += self.dy
		# si la raquette est en haut on change la direction du déplacement
		# TODO
		# si la raquette est en bas on change la direction du déplacement
		# TODO
	
	"""
		modifie le vecteur de déplacement pour que la raquette aille vers le haut
	"""	
	def vers_le_haut(self):
		self.dy = -1
	
	"""
		modifie le vecteur de déplacement pour que la raquette aille vers le bas
	"""	
	def vers_le_bas(self):
		self.dy = +1
	
	"""
		vérifie s'il y a contact entre la raquette et la balle
	"""	
	def contact(self, balle):
		# TODO
		

