import math
import pygame as pg
pg.init()
pg.display.set_caption("Tri loptice")
(sirina, visina) = (400, 300)
prozor = pg.display.set_mode((sirina, visina))

r = 10
(x1, y1) = (r, r)
(dx1, dy1) = (1, 1)
(x2, y2) = (sirina - r, visina - r)
(dx2, dy2) = (-1, -1)
(x3, y3) = (sirina//2, r)
(dx3, dy3) = (2, 2)

def crtaj():
    prozor.fill(pg.Color("white"))
    pg.draw.circle(prozor, pg.Color("red"), (x1, y1), r)
    pg.draw.circle(prozor, pg.Color("green"), (x2, y2), r)
    pg.draw.circle(prozor, pg.Color("blue"), (x3, y3), r)

def novi_frejm():
    global x1, y1, x2, y2,x3,y3, dx1, dy1, dx2, dy2, dx3, dy3

    # pomeramo prvu lopticu i proveravamo sudar sa ivicama prozora
    x1 += dx1
    y1 += dy1
    if x1 - r < 0 or x1 + r > sirina:
        dx1 = -dx1
    if y1 - r < 0 or y1 + r > visina:
        dy1 = -dy1

    # pomeramo drugu lopticu i proveravamo sudar sa ivicama prozora
    x2 += dx2
    y2 += dy2
    if x2 - r < 0 or x2 + r > sirina:
        dx2 = -dx2
    if y2 - r < 0 or y2 + r > visina:
        dy2 = -dy2

    # pomeramo treću lopticu i proveravamo sudar sa ivicama prozora
    x3 += dx3
    y3 += dy3
    if x3 - r < 0 or x3 + r > sirina:
        dx3 = -dx3
    if y3 - r < 0 or y3 + r > visina:
        dy3 = -dy3

kraj = False
sat = pg.time.Clock()  # sat koji određuje broj frejmova u sekundi
while not kraj:
    # crtamo i ažuriramo sadržaj prozora
    crtaj()
    pg.display.update()

    # proveravamo da li je korisnik isključio prozor
    for dogadjaj in pg.event.get():
        if dogadjaj.type == pg.QUIT:
            kraj = True

    # pauziramo do sledeceg frejma
    sat.tick(100)
    novi_frejm()

pg.quit() # isključujemo rad biblioteke PyGame
