import pygame
import pilota
import pala

def ini_joc(ample, alt, font):
    """
    Crea i retorna tots els sprites del joc, així com els grups de
    sprites.
    """
    impilota1 = pygame.image.load('pilota1.png').convert()
    impilota2 = pygame.image.load('pilota2.png').convert()
    bola1 = pilota.Pilota(impilota1, (ample/2, alt*0.8), (1,2) )
    bola2 = pilota.Pilota(impilota2, (ample/2, alt*0.8), (1,1) )
    boles = pygame.sprite.Group() 
    boles.add(bola1)
    boles.add(bola2)
    raqueta = pala.Pala((100, 15), (400, 540), (200, 100, 0))
    all_sprites = pygame.sprite.Group()
    all_sprites.add(boles)
    all_sprites.add(raqueta)
    return all_sprites, boles, raqueta

def tracta_events():
    for event in pygame.event.get():
        if event.type == pygame.QUIT: 
            return True
    return False

def main():
    pygame.init()
    color_fons = (255, 255, 255)
    ample, alt = (800, 600)
    pantalla = pygame.display.set_mode((ample, alt))
    fontp = pygame.font.Font(None, 30)
    all_sprites, pilotes, raqueta = ini_joc(ample, alt, fontp)
    crono = pygame.time.Clock()
    final = False
    while not final:
        tanca_finestra = tracta_events()   # Tracta tots els esdeveniments
        # Actualització dels sprites
        pilotes.update(ample, alt, raqueta)
        raqueta.update(pygame.mouse.get_pos(), ample)
        pantalla.fill(color_fons)     # pinta el fons de la pantalla
        all_sprites.draw(pantalla)    # pinta sprites
        pygame.display.flip()         # visualitza la nova pantalla
        crono.tick(150)               # limita les imatges per segon (fps)
        final = tanca_finestra
    pygame.quit()   

            
if __name__=='__main__' :
    # podeu executar aquest programa des del terminal amb la comanda
    #    python trencamur.py
    main()
