Úvod

V této lekci se naučíš, jak naprogramovat mluvícího robota!

Krok 1: Tvůj povídací robot

Seznam úkolů

  • Předtím než začneš dělat mluvícího robota, musíš se rozhodnout jakou bude mít osobnost.
    • Jaké je jeho jméno?
    • Kde bydlí?
    • Je štastný? Vážný? Veselý? Přátelský? Stydí se?
  • Vytvoř si nový projekt a smaž kočičku, takže tvůj projekt bude prázdný. Online editor můžeš nalézt zde: jumpto.cc/scratch-new.

  • Vyber si jednu z těchto postaviček a přidej je do projektu:

    screenshot

  • Vyber si pozadí, které podpoří osobnost robota. Tady je příklad, jak by mohla (ale nemusí) scéna vypadat:

    screenshot

Ulož projekt

Krok 2: Mluvící robot

Nyní když máš robota s osobností, naprogramuj ho, aby mluvil

Seznam úkolů

  • Klikni na robota a přidej kód:

        po kliknutí na mě
    ptej se [Ahoj! Jak se jmenuješ?] a čekej
    říkej [To je krásné jméno!] příštích (2) sekund

  • Klikni na robota, abys ho vyzkoušel(a). Po té co se zeptá na jména, napiš ho do boxíku, který se objeví.

    screenshot

  • Robot odpoví pokaždé jen To je krásné jméno!. Teď uprav robotovu odpověď tak, aby použil jméno, které napíšeš. Změn robotův kód takto:

        po kliknutí na mě
    ptej se [Ahoj! Jak se jmenuješ?] a čekej
    říkej <spoj [Ahoj] (answer)> příštích (2) sekund

    Abys vytvořil poslední blok, musíš přesunout zelený blok spoj na fialový blok říkej.

    screenshot

    Pak změn text hello na Ahoj, a přesuň světle modrý blok answer (ze sekce ‘Vnímání’) na text world.

    screenshot

  • Vyzkoušej program. Funguje jak jsi čekal? Můžeš opravit problém, který se objevil? (Nápověda: přidej někam mezeru!)

  • Pro případ, že bys chtěl zadané jméno použít dále v kódu, musíš ho uložit do proměnné. Vytoř proměnnou nazvanou name. Pokud jsi zapomněl(a) jak se to dělá, podívej se do projektu ‘Lovci duchů’.

  • Informace, kterou jsi zadal je uložená do speciální proměnné odpověď. Jdi do skupiny Vnímání; klikni na blok odpověď, aby se vedle něj objevilo zatržítko. Hodnota uložená v odpověď se objeví v levém horním rohu scény.

  • Jakmile vytvoříte novou proměnnou, upravte kód robota takto:

        po kliknutí na mě
    ptej se [Ahoj! Jak se jmenuješ?] a čekej
    nastav [name v] na (answer)
    říkej <spoj [Ahoj ] (name)> příštích (2) sekund

  • Pokud vyzkoušíš znovu svůj program, zjsitíš, že je hodnota odpovědi uložena v proměnné name a ukazuje se v levém horním rohu scény. Proměnná name bude obsahovat stejnou hodnotu jako proměnná answer.

    screenshot

    Pokud proměnné nechceš na scéně vidět, klikni na ně a odstraň tím zatržítko v levé části.

Ulož projekt

Výzva: Více otázek

Naprogramuj robota tak aby se zeptal na více otázek. Dokážeš uložit odpovědi do proměnných?

screenshot

Ulož projekt

Krok 3: Rozhodování

Robota můžeš naprogramovat tak, aby se rozhodoval co dále bude dělat na základě odpovědi.

Seznam úkolů

  • Nech robota se zeptat na otázky, na které jde odpovědět ano nebo ne. Tady je příklad:

        po kliknutí na mě
    ptej se [Ahoj! Jak se jmenuješ?] a čekej
    nastav [name v] na (answer)
    říkej <spoj [Ahoj ] (name)> příštích (2) sekund
    ptej se <join [Máš se dobře? ] (name)> a čekej
    když ((answer)=[ano]) tak
        říkej [To rád slyším!] příštích (2) sekund
    end

    Všimni si, že jakmile máš jméno uživatele uložené v proměnné, můžeš ho použít kolikrát chceš.

  • Abys vyzkoušel program pořádně, pusť ho dvakrát a jednou odpověz ne a jednou ano. Odpověď od robota dostaneš jen když odpovíš ano.

  • Problém je, že robot neodpoví, když je odpověď ne. To můžeš opravit tak, že změníš blok když na blok když/jinak:

        po kliknutí na mě
    ptej se [Ahoj! Jak se jmenuješ?] a čekej
    nastav [name v] na (answer)
    říkej <spoj [Ahoj ] (name)> příštích (2) sekund
    ptej se <join [Máš se dobře? ] (name)> a čekej
    když ((answer)=[ano]) tak
        říkej [To rád slyším!] příštích (2) sekund
    jinak
        říkej [Ale neee!] příštích (2) sekund
    end

  • Když vyzkoušíš svůj kód, zjistíš, že robot odpovídá jak na ano tak na ne. Robot odpoví To rád slyším! na tvoji odpověd ano, ale odpověď Ale neee! když zadáš cokoliv jiného než ano (blok jinak znamená ‘jinak’).

    screenshot

  • Do bloku když nebo jinak můžeš vložit cokoliv, nejen mluvení robota. Například můžeš změnit vzhled robota (kostým) aby odpovídal odpovědi.

    Pokud se podíváš na kostýmy robota, zjistíš, že jich je tam více než jeden. (Pokud ne, můžeš je přidat)

    screenshot

    Tyto kostýmy můžeš použít jako část robotovy odpovědi takto:

    screenshot

  • Vyzkoušej program a měl bys vidět, že robot mění vzhled dle tvé odpovědi.

    screenshot

Ulož projekt

Výzva: Více rozhodování

Naprogramuj robota tak, aby se ptal více otázek - tak aby odpovědi byly ano nebo ne.

screenshot

Ulož projekt

Krok 4: Změna místa

Robota můžeš naprogramovat tak, aby měnil místo, kde se nachází.

Seznam úkolů

  • Přidej další kulisy na scénu například měsíc - ‘moon’.

    screenshot

  • Naprogramuj robota pomocí následujícího kódu:

        ptej se [Letím na měsíc, chceš jít se mnou?] a čekej
    když ((answer) = [ano]) tak
        změň pozadí na [moon v]
    end

  • Také potřebuješ přidat kódi, který zajistí, aby robot začínal ve správných kulisách (a se správným kostýmem):

        po kliknutí na mě
    změň pozadí na [space v]
    změň kostým na [nano-b v]

  • Otestuj program a odpověz ano, když se robot zeptá na cestu na měsíc. Měl(a) bys vidět, že se pozadí změní.

    screenshot

  • Změní se pozadí, když odpovíš ne? Co se stane, když odpovíš Nejsem si jistý?

  • Pokud chceš, aby robot poskočil 4x, když odpovíš ano, přidej tento kód do bloku když:

    opakuj (4) krát
    změň y o (10)
    čekej (0.1) sekund
    změň y o (-10)
    čekej (0.1) sekund
end

    takto

        ptej se [Letím na měsíc, chceš jít se mnou?] a čekej
    když ((odpověď) = [ano]) tak
        změň pozadí na [moon v]
        opakuj (4) krát
            změň y o (10)
            čekej (0.1) sekund
            změň y o (-10)
            čekej (0.1) sekund
        end
    end

  • Vyzkoušej svůj program znovu. Skáče robot nahoru a dolů při odpovědi ano?

Ulož projekt

Výzva: Vytvoř si svého vlastního robota

Použiji, to co ses naučil(a), abys dokončil robota. Tady je pár nápadů:

screenshot

Jakmile robota dokončíš, nech kamarády, ať ho vyzkouší! Líbí se jim? Jsou s robotem nějaké problémy?

Ulož projekt