Proměnné a pohyb
Názvy funkcí
Náš aktuální program / hra hned skončí, ale my chceme aby běžela pořád. Je to
proto, že jsme udělali funkci _init která se spustí jen jednou na začátku.
Existuje ale název funkce která se spustí každou chvilku.
Takže pokud ji přejmenujeme na _draw, tak nám hra poběží pořád (dokud
nezmáčkneme Esc):
function _draw()
cls()
print("zdarec")
spr(1, 60, 60)
end
Jak poznáme, že se _draw spouští pořád?
Zatím jsme vypisovali a kreslili pořád to stejné, takže nepoznáme jak často se náš kód pouští. A na to si musíme něco uložit.
Proměnné
Proměnná je něco jako baťůžek kam si můžeme uložit co chceme a pak se na to zase podívat. Má nějaký název (podle čeho je rozeznáme když jich bude víc) a “hodnotu” – to je to, co jsme si uložili dovnitř.
Když si náš baťůžek pojmenujeme třeba n a chceme si do něj uložit jedničku,
tak stačí napsat:
n=1
A když budeme chtít použít hodnotu kterou máme v baťůžku uloženou, tak jen
napíšeme jeho název místo toho, co máme vevnitř. Na vypsání čísla použijeme funkci print kterou už v kódu máme:
n=1
function _draw()
cls()
print(n)
spr(1, 60, 60)
end
Když kód spustíme, tak ze místo zdarec vypíše 1, protože se místo názvu proměnné n použije to, co jsme do ní dali (1).
Note
Jak byste to udělali aby se místo čísla
1napsalo písmenkon?
Tip
Podívejte se jak jsme vypsali
zdarec
Tak jsme vypsali 1, ale to nám nic neřekne. Co my můžeme udělat je, že si to číslo pokaždé změníme. A to vždycky když jsi proměnnou vypíšeme!
Stejně jak jsme si do proměnné uložili číslo, tak si do ni můžeme uložit hodnotu proměnné.
Tento program taky vypíše 1:
n=1
p=n
print(p)
Tento program vypíše 3 protože 1 + 2 = 3:
n=1
p=n+2
print(p)
A tento program vypíše taky 3:
n=1
n=n+2
print(n)
Takže co mi uděláme je, že n pod funkcí print hned zvětšíme o jedničku:
n=1
function _draw()
cls()
print(n)
n=n+1
spr(1, 60, 60)
end
Procvičení
Zkuste si v programu udělat tyhle změny:
- Všechny čísla přepište na proměnné, použijte názvy
sprite,xay. - Vytvoření proměnných (nastavení na první hodnotu) udělejte ve funkci
_init. Tip: napište novou, funkci_drawtotiž budeme dál potřebovat.
Tip
Po každé změně zkuste, že hra funguje pořád stejně!
Konečně pohyb
Jako poslední věc udělejte to, že po zavolání funkce spr proměnné X a Y
změníte o malý kousek (přičtěte nebo odečtěte 1 nebo 2).