Napíš programZákladná10 XPÚloha 7/8

Kruhy kliknutím

Zadanie

Po každom kliknutí ľavým tlačidlom myši nakresli kruh s polomerom 25, ktorého stred je v mieste kliknutia. Farbu si vyber sám.

Program beží v simulácii tkinteru priamo v prehliadači - po spustení uvidíš okno a môžeš doň klikať. Testy klikajú a kontrolujú, čo sa na plátne nakreslilo.

Príklady

  • Volanie

    from tkinter import _mente as okno
    
    
    def sedi(k, x, y):
        x1, x2 = sorted([k.coords[0], k.coords[2]])
        y1, y2 = sorted([k.coords[1], k.coords[3]])
        return abs(x1 - (x - 25)) <= 1 and abs(x2 - (x + 25)) <= 1 and abs(y1 - (y - 25)) <= 1 and abs(y2 - (y + 25)) <= 1
    
    
    okno.click(100, 120)
    okno.click(300, 200)
    kruhy = okno.items("oval")
    okno.check("kazdy klik nakreslil kruh", len(kruhy) == 2, f"kruhov: {len(kruhy)}")
    okno.check("kruhy maju stred v mieste kliknutia a polomer 25", len(kruhy) == 2 and sedi(kruhy[0], 100, 120) and sedi(kruhy[1], 300, 200))

    Očakávaný výstup

    kazdy klik nakreslil kruh: OK
    kruhy maju stred v mieste kliknutia a polomer 25: OK

Python sa spustí pri prvom spustení kódu.

Ctrl+Enter spustí program. Tab odsadí riadok. Esc a potom Tab opustí editor.

Vstup (stdin)

Každý riadok = jedno volanie input().

Výstup

Nápovedy

Najprv to skús sám. Každá nápoveda prezradí o niečo viac - a trochu zníži odmenu.

Bez prihlásenia sú nápovedy zadarmo - ale ani XP sa neudeľujú.

Riešenie

Riešenie sa odomkne po poslednej nápovede.