Loptička

Odrážajúca sa loptička

Základ je podobný ako minule.


def setup():
    size(400, 400)

def draw():
    background(0)
    fill(255, 0, 0)
    ellipse(100, 100, 10, 10)

Zadefinujeme teraz našu vlastné premenné pozX a pozY a priradíme im číselnú hodnotu:


pozX = 100
pozY = 100

def setup():
    size(400, 400)

def draw():
    background(0)
    fill(255, 0, 0)
    ellipse(pozX, pozY, 10, 10)

Keď priradenú hodnotu počas programu zmeníme, tak sa zmení to, čo náš program nakreslí.

pozX = 100
pozY = 100

def setup():
    size(400, 400)

def draw():
    global pozX;

    background(0)
    fill(255, 0, 0)
    ellipse(pozX, pozY, 10, 10)

    pozX = pozX + 3

Námety na rošírenie (nepovinné)

  • prirob loptičke postupnú zmenu veľkosti v jednom/dvoch smeroch, zmenu farby, nejaké pekné statické pozadie.

Pohyb zdola nahor

Úloha 2. Zmeň program s loptičkou tak, aby šla loptička zdola nahor (ako bublinka vo vode).

Úloha 3. Zmeň program tak, aby loptička robila krok aj v smere osi X aj osi Y (zložený pohyb).

Loptička sa vracia späť (logické podmienky)

Aby nám loptička neutiekla z obrazovky, potrebujeme ju nejako obmedziť, a keď bude na okraji plátna, nech sa vráti späť na začiatok. Na to budeme potrebovať podmienky.

Podmienka je nejaká veta, o ktorej vieme v danom momente povedať, či je pravdivá alebo nepravdivá. V programovacom jazyku sa takéto tvrdenie nazýva logický výraz a zapisuje sa pomocou logických operácií:

Úloha: Skús slovne pomenovať nasledujúce znamienka operácií:

Pomocou týchto operácií vieme porovnávať dve čísla, ale aj slová a ďalšie veci, ktoré sa môžu nachádzať v premenných.

Výsledok logických operácií sú len dve rôzne logické hodnoty True a False.

Príklad.

5 > 3
tento výraz bude vždy pravdivý (true).
2 == 3
tento výraz bude vždy nepravdivý
5 <= 3
tento výraz bude vždy false.

keď použijeme premenné, výsledok logického výrazu nebude vždz rovnaký:

pozX < 0
tento výraz bude true vtedy, ak v premennej pozX bude záporné číslo.

Keď si mimo, vráť sa na začiatok (príkaz if)

Na čo by sa dali takéto podmienky využiť?

Vráťme sa k našej guľôčke. Ako by vyzerala podmienka, ktorá bude platiť (to čo podmienka hovorí, bude práve v tej chvíli pravda) vtedy, keď guľôčka opustila pravý okraj plátna? Použijeme premenné, čísla a porovnávanie.

pozX > 400

Táto podmienka dá hodnotu pravda vtedy, keď v pozX bude číslo väčšie ako 400.

My by sme

if pozX > 400:
    pozX = 0

Loptička sa odráža