10. hodina - Kreslenie textu


  1. Išli sme 1. apríla do troch obchodov, v ktorých mali predajcovia veselú náladu. Každý od nás za nákup vypýtal náhodnú sumu peňazí z intervalu od 4 do 20 eur. Napíš podprogram nakupy, ktorý vygeneruje tri náhodné sumy, vypíše ich a na záver vypíše aj ich súčet, napríklad:

    Tvoj prvý nákup bol za 8 eur
    Tvoj druhý nákup bol za 12 eur
    Tvoj tretí nákup bol za 5 eur
    Spolu si zaplatil 25 eur
    

  1. Prišli nám 3 veselé balíky. Každý má obdĺžnikový tvar. Balíky sme uložili na stôl vedľa seba. Šírka každého z nich je 100 a výška je náhodné číslo od 10 do 200. Napíš program, ktorý ich nakreslí tromi rôznymi farbami, napríklad:

    _images/10_01.png

  1. Ak chceš písať texty do grafickej plochy, musíš sa naučiť nový príkaz – vyskúšaj:

    import tkinter
    
    canvas = tkinter.Canvas()
    canvas.pack()
    canvas.create_text(150, 50, text='srdečný pozdrav z grafickej plochy')
    

    Súradnice v príkaze canvas.create_text určujú stred vypisovaného textu:

    • 150 je x-ová súradnica

    • 50 je y-ová súradnica


  1. Napíš príkazy do programu, ktorými takto pomenuješ okraje grafickej plochy (súradnice odhadni):

    _images/10_02.png

  1. Do premenných x1, y1, x2, y2 priraď súradnice dvoch protiľahlých vrcholov obdĺžnika (napríklad 100, 50, 330, 200). Nakresli obdĺžnik s týmito súradnicami. Pomocou príkazov canvas.create_text a premenných x1, y1, x2, y2 označ všetky vrcholy písmenami A, B, C, D:

    _images/10_03.png

  1. Uprav príkazy pre písanie textov v predchádzajúcom programe tak, aby sa označenia vrcholov neprekrývali s čiarami obdĺžnika:

    _images/10_04.png

  1. Vypíš do grafickej plochy riadky svojej obľúbenej pesničky, napríklad:

    _images/10_05.png

  1. Vyrob si svoj štítok. V novom programe priraď do premenných x, y súradnice stredu. Potom nakresli biely obdĺžnik veľkosti, napríklad, 50 x 20 a do jeho stredu napíš svoje meno.

    _images/10_06.png

  1. Uprav predchádzajúci program tak, že vyrobíš z kreslenia štítku podprogram stitok. Podprogram bude kresliť štítok na náhodné x, y. Nakoniec podprogram desať krát zavolaj.

    _images/10_07.png

  1. Bez použitia počítača zisti, aká veta sa objaví v grafickej ploche:

    canvas.create_text(random.randint(180, 260), 40, text='den')
    canvas.create_text(random.randint(80, 110), 50, text='je')
    canvas.create_text(random.randint(120, 170), 70, text='pekny')
    canvas.create_text(random.randint(30, 70), 60, text='dnes')
    

  1. Napíš podprogram nahodne_cislo, ktorý na náhodnú pozíciu v grafickej ploche vypíše náhodné šesťciferné číslo – teda číslo z intervalu od 100000 do 999999. Po niekoľkých zavolaniach podprogramu môžeme dostať napríklad takýto výsledok:

    _images/10_08.png

    Príkaz create_text vie vypísať aj čísla alebo hodnoty výrazov. Napríklad môžeš napísať:

    canvas.create_text(x, y, text=123+456)
    

    a vypísal by sa text 579.