https://scratch.mit.eduZde najdete Scratch

Lekce – Co je to proměnná?

Proměnná je místo, ve kterém můžete uchovávat nějakou informaci (číslo) při běhu programu. Práce s proměnnými je velice užitečná a často používaná, ve složitějších hrách/programech budete proměnné používat neustále.

Co je to proměnná?

Vše v programování se točí okolo proměnných. Proměnné podopruje každý programovací jazyk a pokud se budete programování věnovat, budete s různými proměnnými pracovat neustále. Co to tedy vlastně je a k čemu jsou vůbec dobré?

Podívejte se na tento příklad:

Najdete ho také na adrese: https://scratch.mit.edu/projects/130200849/#editor

Chobotnice se ovládá myší, cílem je posbírat všechny hvězdice.

A ve hře chceme počítat a vypisovat (viz levý horní roh), kolik hvězdic hráč sebral. Kam ale tuto informaci zaznamenávat? Ano, správně – do proměnné. Založíme si proměnnou, nazveme ji třeba Skore. Na začátku hry do ní přiřadíme hodnotu nula. A při každém sebrání hvězdice ji zvýšíme o jedna.

Proměnná je tedy místo, kde můžeme uchovávat informaci – číselnou hodnotu (ve Scratchi mohou být pouze číselné proměnné). Každá proměnná má podobně jako Zpráva své unikátní Jméno, který ji přiřadíme při vytvoření proměnné (v našem příkladu Skore). Tímto jménem pak proměnnou identifikujeme.

Vytvoření proměnné

Proměnnou vytvoříme ve scénářích, v oranžové skupině Data. Klikněte na tlačítko Vytvořit proměnnou.Práce s proměnnými

Objeví se okno, ve kterém musíte zadat jméno proměnné. Jméno musí být unikátní – dosud nepoužité.

Přestože na jméně nezáleží (proměnnou můžete nazvat třeba Xbc98P ) tak doporučuji, nazývat proměnné takovými jmény, které naznačují, k čemu je proměnná slouží. Například PocetZivotu, Body, CitacCyklu,… . Mnohem lépe se Vám bude v programu orientovat.

Dále je zde důležité nastavení, zda je proměnná pro všechny, nebo jen pro tuto postavu. Je to velmi důležité nastavení:

  • Pro všechny postavy – neboli globální proměnná. Dostanou se k ní všechny postavy, platí ve všech scénářích. Pokud jedna postava změní její hodnotu, druhá si ji může přečíst. Nastavení je vhodné pro informace, které mají platit v  celé hře (jako například Skore v našem příkladu).
  • Jen pro tuto postavu – neboli lokální proměnná. K této proměnné se dostanete pouze ze scénářů této postavy. Z venku (z jiné postavy) k ní není přístup. Pokud postavu budeme klonovat, bude mít každý klon svoji vlastní proměnnou se svou vlastní hodnotou.

Práce s proměnnou

Každé proměnné můžeme hodnotu přiřazovat a také ji získávat – číst. Přiřazení hodnoty se děje pomocí příkazů NASTAV proměnnou NA – a změna hodnoty pomocí ZMĚŇ proměnnou  O –.prikaz_nastavzmenpromennou

Pro čtení proměnné využijeme to, že po vytvoření se nám proměnná zobrazila ve skupině Data. Můžeme ji přetáhnout do parametru libovolného bloku, kam běžně píšeme číslo. Například:

Použití proměnné

Výpis proměnné

Některé proměnné chceme vypsat uživateli na obrazovku (například Skore).  Stačí u proměnné ve skupině Data zaškrtnout políčko, a hodnota proměnné se bude vypisovat na scéně. Myší ji můžete přetáhnout na zvolené místo.Práce s proměnnými

Výpis proměnné také můžete řídit pomocí příkazů UKAŽ PROMĚNNOU – a SKRYJ PROMĚNNOU. Použijeme například při práci s více obrazovkami, není vhodné, aby se nám skóre vypisovalo na úvodní obrazovce.

Odstranění a přejmenování proměnné

Proměnnou odstraním tak, že klikneme pravým tlačítkem na proměnnou ve skupině Data a zvolíme Smaž. Pozor, proměnnou předtím musíme odstranit všude ze skriptů.

Stejným způsobem můžeme proměnnou také přejmenovat.

Proměnné jako konstanty

Název proměnná naznačuje, že se její hodnota mění. Dobré je ale také naučit se používat proměnné místo čísel přímo používaných v kódu. Takovým proměnným říkáme konstanty. Konstanty se za běhu programu nemění. K čemu jsou tedy dobré, proč místo nich nenapíšeme do kódu rovnou jejich hodnotu?

V naší hře se chobotnice pohybuje nějakou rychlostí. V každém cyklu se pohne například o 3 kroky směrem k myši. Když se ale dotkne okraje nebo ukazatele myši, pohnu s ní o 3 kroky zpět (a tak zůstane vlastně na místě). Místo toho, abych v skriptu použil POSUŇ SE O 3 KROKŮ, založím se proměnnou(tedy konstantu) Rychlost a budu psát POSUŇ SE O rychlost KROKŮ.lekce_promenne1

Výhoda je, že když zjistím, že chobotnice je moc pomalá, stačí mi upravit konstantu na začátku programu a rychlost se mi změní všude, kde ji používám.

V našem případě jsem k výpisu proměnné ještě přidal posuvník, takže konstantu je možné měnit přímo během hry. Posuvník přidáte tak, že kliknete pravým tlačítkem do scény na zobrazenou proměnnou.

Používejte konstanty na všechny parametry herních mechanismů, jako je  rychlost, výška skoku, počet životů nepřátel,… . Nastavujte je na jednom místě na začátku hry. Budete pak moci snadno hru ladit a zjišťovat, jaké nastavení je nejlepší.

 

Přehled základních lekcí:

Share This