Zhrnutie na Dátové typy a pokročilé programovanie v Scratch
Dátové Typy a Pokročilé Programovanie v Scratch
Úvod
Scratch je vizuálne programovacie prostredie určené na tvorbu interaktívnych projektov pomocou blokov. Tento materiál vysvetlí dôležité koncepty týkajúce sa práce so súbormi, postavami, udalosťami, klonovaním a komunikáciou medzi postavami v Scratchi. Materiál je upravený pre samostatné štúdium (Not attending student) a obsahuje príklady, praktické úlohy a stručné zhrnutie.
Definícia: Scratch je udalosťami riadené grafické prostredie pre tvorbu programov pomocou skladačiek-blokov.
Práca s textovými súbormi
Scratch štandardne počas behu priamo nezapisuje do súborov. Namiesto toho sa používa export a import zoznamov do textových súborov.
Formát ukladania
- Každý prvok zoznamu sa exportuje ako jeden riadok do textového súboru.
- Pri ukladaní výsledkov (napr. skóre hráča) počas hry ukladáme hodnoty do zoznamu a po skončení exportujeme celý zoznam.
Definícia: Export zoznamu v Scratch vytvorí textový súbor, kde každý riadok zodpovedá jednému prvku zoznamu.
Použitie pri mapách (napr. labyrint)
- Každý riadok súboru reprezentuje jeden riadok mapy.
- Jednotlivé znaky v riadku reprezentujú typ políčka (napr. 1 = stena, 0 = voľné políčko).
Príklad: súbor s riadkami
- 1011
- 1100
- 1110
- 1111
Reprezentuje labyrint 4×4: každý riadok zo súboru je riadkom mapy a každý znak je stĺpec.
Postavy (Sprites) a kostýmy
Postava v Scratch môže byť čokoľvek: osoba, písmeno, číslo alebo objekt. Postava má kostýmy, skripty a môže mať vlastné premenné.
Vytváranie a import postáv
- Vybrať z knižnice Scratch.
- Dokresliť alebo upraviť kostým priamo v editore.
- Nakresliť vlastnú postavu.
- Importovať postavu zo súboru s koncovkou .sprite3.
Definícia: Kostým je grafická vrstva postavy; zmena kostýmu vytvára ilúziu pohybu.
Kostýmy a animácia
- Každá postava môže mať viac kostýmov.
- Bloky ako "ďalší kostým" alebo "zmeň kostým na" menia vzhľad a simulujú pohyb.
Vlastné premenné
- Postava môže mať lokálne premenné (viditeľné len pre ňu) alebo globálne premenné (spoločné pre všetky postavy).
Duplikovanie vs. klonovanie
Existujú dva spôsoby, ako mať viac rovnakých postáv: duplikovanie (manuálne) a klonovanie (pomocou programu).
| Vlastnosť | Duplikovanie | Klonovanie |
|---|---|---|
| Vytvorenie | Manuálne kliknutie → Duplikuj | Blok programu: naklonuj seba / naklonuj postava |
| Závislosť na originále | Kópia, nezávislá | Klony spúšťajú kód postavy; originál môže inak nereagovať |
| Hmotnosť | Menší počet | Môže byť veľa naraz |
| Použitie | Pri tvorbe rôznych nezávislých objektov | Padajúce objekty, častice, efekty |
Definícia: Klonovanie v Scratch vytvorí novú inštanciu postavy, ktorá vykonáva skript, ktorý sa nachádza v pôvodnej postave.
Praktický príklad klonovania
- Postava: hviezdička, blok: "naklonuj seba" každých 0.5 sekundy.
- Každý klon pri štarte vykoná program, napr. padá nadol a po dosiahnutí spodnej hranice sa zničí.
Komunikácia medzi postavami (správy)
Postavy komunikujú pomocou správ (broadcast).
- Bloky: "pošli správu" a "pri prijatí správy".
- Na základe prijatej správy postava vykoná definovanú činnosť.
Príklad: hra s úrovňami
- Scéna po skončení levelu pošle správu "Ďalšia úroveň".
- Všetky postavy, ktoré majú blok "pri prijatí správy 'Ďalšia úroveň'", pripravia nové rozmiestnenie.
Zisťovanie a kontrola kolízií
Scratch umožňuje zisťovať dotyk medzi postavami, farbami a myšou.
- Bloky: "dotýkaš sa postava/myš?", "dotýkaš sa farba?".
- Zisťovanie vzdialenosti: "vzdialenosť k postava/myš".
- Pohybové bloky: "smerom k postava/myš", "skoč na postava/myš".
- Zobrazenie: "Ukáž sa/skry sa", "prejdi na vrchnú vrstvu".
Príklad úlohy: zbieranie kľúčov
- Ak sa hráč dotkne kľúča → zvýš počet kľúčov v zozname alebo premennej a kľúč sa skryje.
Udalosti: klávesnica a myš
Scratch je udalosťami riadené prostredie — skripty sa spúšťa
Už máš účet? Prihlásiť sa
Scratch programovanie - základy
Klíčová slova: Programovanie v Scratch, Scratch programovanie, Porovnanie Scratch a OOP (Python)
Klíčové pojmy: Scratch je udalosťami riadené prostredie, Export zoznamu vytvorí textový súbor, každý prvok = riadok, Mapa z textu: riadok = riadok mapy, znak = stĺpec, Kostýmy simulujú animáciu zmenou vzhľadu postavy, Duplikovanie = manuálna nezávislá kópia, Klonovanie = programovo vytvorené inštancie vykonávajúce kód postavy, Postavy komunikujú pomocou správ (broadcast), Zisťovanie dotykov a vzdialenosti slúži na kolízie, Udalosti: zelená vlajka, klik, stlačenie klávesu, prijatie správy, Použitie lokálnych a globálnych premenných pre stav hry, Praktické cvičenia: uložiť skóre, načítať mapu, klony padajúcich objektov, Scéna reaguje na správy a zelenú vlajku