Baltík


↓ Lekce

↓ Odkazy

↓ Programy

↓ Základní příkazy


↓ Proměnné, základní matematické operace, výpis na obrazovku


Deklarace (vytvoření proměnné):
Kliknout na tlačítko:

Potom vybrat typ proměnné na liště:

  • Celočíselná (celá čísla např. 1, 5, 5021, -321, -4) - barva MODRÁ
  • Reálná (desetinná čísla např. 1, 5) - barva ZELENÁ
  • Řetězcová (text např. "Ahoj, jak se máš?") - barva ŽLUTÁ


V okně "změna prvku" nastavit jméno proměnné tak, aby identifikovalo proměnnou (třeba podle toho co bude v ní):

Tomuto nastavení se můžeme "vyhnout" použitím Baltíkovy přednastavené proměnné (č.1 až 30):
Ty už mají předem určené, na co jsou (číslo 1 je klávesa, 2 je náhodné číslo, 4 je zdraví, 23 je číslo předmětu...)
A tak nám vznikla nová proměnná
S proměnnými se pracuje následujícím způsobem:
Nejdříve si ukážeme vložení hodnoty do proměnné:

Výpis hodnoty proměnné na obrazovku - rovnou výpis hodnoty zvětšené o 3:

Pro matematické výpočty v Baltíku používáme hranaté [ ] a kulaté ( ) závorky. Nikoliv složené { }!!!
Číselné proměnné (modré a zelené) lze sčítat, odčítat, násobit a dělit a provádět další úkony. My si ukážeme ty nejjednodušší:

Inkrementace (zvětšení proměnné) o 1:

Dekrementace (zmenšení proměnné) o 1:

Inkrementace proměnné o 5 (stejné je to i s dekrementací):

Inkrementace a dekrementace logicky funguje pouze u číselných proměnných...

↓ Vstup z klávesnice


Vstup z klávesnice umožňuje uživateli "něco zadat", a program se pak může na základě toho rozhodovat.
Jednoduchý program, který do textové proměnné uloží to, co uživatel napsal, a poté vypíše "Zadal jste:", k čemu přidá to, co uživatel napsal:

Jiný program, který nejdříve od uživatele získá 2 čísla (povšimněte si, že mohou být desetinná - používáme takové proměnné) a jejich podíl vypíše na obrazovku:

POZOR!!! Až budete do programu chtít zadat desetinné číslo, používejte desetinnou TEČKU!
Díky tomu, že pracujeme s reálnými (desetinnými) číselnými proměnnými, můžeme jednak zadat desetinné číslo, ale také výsledek vyjde jako desetinné číslo (5/2 = 2,5). Kdybychom však pracovali s celočíselnými proměnnými, program bude desetinná místa ignorovat.

↓ Podmínky


Podmínky slouží k větvení programu a proto, aby se mohl program, nebo Baltík rozhodovat sám. Pro začátek použijeme podmínku if-else. Tyto příkazy najdete v bloku příkazů a vypadají takto:
Příkaz if znamená když. Else znamená jinak. Zde je syntaxe (pořadí) podmínky if-else:

Lze uvádět i více podmínek najednou pomocí syntaxe else-if:

Zde je jednoduchý program, kde Baltík sám obejde překážku (zeď).

Zde je program, kde Baltík posbírá hřiby v lese (místo nich vyčaruje trávu) a na konci vypíše počet hřibů, které sesbíral:

Zde je program, kde Baltík sbírá hřiby, muchomůrky jen počítá a na konci vypíše počet hřibů, které sesbíral a muchomůrek, které našel:

↓ Logické operátory


V podmínkách lze použít i tzv. logické operátory:
  • OR (nebo)
  • AND (a zároveň)
  • < (je menší než)
  • > (je větší než)
  • = (je rovno)
  • >= (je menší nebo rovno)
  • >= (je větší nebo rovno)
  • NOT (logická negace) , která tzv. "neguje" nějaký stav - to znamená že negace stavu prší (1) je neprší (0). Negace stavu neprší (0) je prší (1). Obrací to binární hodnotu výroku, která může být jen 1, nebo 0, resp. PRAVDA / NEPRAVDA.

Zde je ukázka použití podmínky s AND a OR:

Zde je ukázka použití logických operátorů s proměnnou:

Zde je ukázka použití negace v podmínce s předmětem:

↓ Ovládání šipkami


Baltíka lze ovládat pomocí šipek za použití podmínek a klávesových konstant*.
Zde je jednoduchý program pro ovládání Baltíka šipkami. Tvoří jej nekonečná smyčka (nekonečný cyklus), která zařizuje, aby bylo Baltíka možné ovládat dokud uživatel program nezavře. V cyklu je příkaz "čti klávesu, nebo tlačítko myši (čekej na stisk)", který zařizuje, že baltík čeká, dokud uživatel nestiskne jakékoli tlačítko a zapamatuje si (uloží si do fronty), které tlačítko bylo stisknuto. Rozhodování na základě toho, které tlačítko bylo stisknuto je vyřešeno čtyřmi podmínkami, které sledují, jestli nebyla stisknuta ta určitá klávesa a podle toho se pak Baltík otáčí a provádí krok. Na konci cyklu je příkaz vyprázdni frontu kláves. Ten řeší problém, když bude uživatel šipku držet tak se několikanásobně uloží do fronty a tak bude Baltík chodit i po uvolnění klávesy (bude mít stisknuté klávesy stále ve frontě).

Jednoduchý program, kde je Baltík ovládán šipkami, sbírá a počítá hřiby. Když jich napočítá 5, tak napíše obrazovku text. opět používáme předdefinovanou (předurčenou) proměnnou pro počet (počítadlo).

*Klávesové konstanty najdete na kartě "Klávesy" v okně "Výběr klávesy, konstanty nebo proměnné z banky":

↓ Automatická animace

↓ Hromadná animace


↓ Hromadná animace se změnou fáze

↓ Hromadná animace se změnou fáze - složitější

↓ Grafika

↓ Náhodná čísla

Náhodná čísla používáme v případě, že chceme simulovat nějaký děj tak, jak se chová v realitě, nebo chceme, aby se program pokaždé choval jinak.
V Baltíkovi k tomu slouží příkaz Náhodné číslo, který má podobu hrací kostky a jeho chování je podobné. Existuje více variant použití příkazu Náhodné číslo:

↓ Pomocníci a lokální (košíčkové) proměnné


Pomocníci slouží ke zjednodušení programu a svoji obdobu mají i ve vyspělých programovacích jazycích (funkce, metody, procedury). Pomocník má danou práci, kterou vykonává pokaždé, když ho Baltík zavolá.
Nyní si ukážeme, jak s pomocníky pracovat. Seznam vytvořených pomocníků a příkazy pro práci s nimi se nacházejí v nabídce schované za tlačítkem na hlavním panelu:

Zobrazí se toto okno:

Na tomto okně jsou nejdůležitější 2 příkazy umístěné dole. Příkaz vlevo - "Nový pomocník" a list slouží k deklaraci pomocníka (vysvětleno níže) a příkaz "Volání pomocníka" slouží k volání pomocníka.
Zde je postup práce s pomocníky:
  1. Nejprve je nutné deklarovat (vytvořit) pomocníka. To se provádí příkazem "Nový pomocník" (umístěným vlevo dole v okně s pomocníky). Za tento příkaz je nutné uvést identifikátor pomocníka (jedinečná "jmenovka" pomocníka - podle které budeme pomocníka později volat.). Jsou hned 3 způsoby, jak pomocníka pojmenovat:
    • Názvem (literálem) - nejlepší, nejpoužívanější způsob - zkrátka napíšete jméno pomocníka jako např. "domek, scitani"
    • Číslem - méně používaný způsob - zkrátka si pomocníky očíslujete. Problém je v tom, že hned není jasné, co pomocník dělá.
    • Předmětem - nedoporučuji - identifikujete a voláte pomocníka určitým předmětem
    Poté za tento příkaz umístíte blok příkazů (libovolný počet, může to být cokoliv - cykly, matematické operace, práce s obrazovkou a proměnnými, volání jiného pomocníka, volání téhož pomocníka - vysvětleno níže). Tento blok příkazů se provede pokaždé, když Baltík pomocníka zavolá.

    Pomocníci se vždy umísťují na konec celého programu. Blok příkazů pomocníka (to, co má pomocník na práci) začíná příkazem "Nový pomocník" s názvem pomocníka a končí deklarací dalšího pomocníka, je-li v programu další pomocník.
  2. Pomocník je vytvořený a nyní jej můžeme kdykoli v běhu programu zavolat. Zde je jednoduchý příklad s cyklem:

    V tomto jednocuchém programu se nachází cyklus, který 5x zavolá pomocníka s názvem "domecek", který má za úkol postavit domeček a vždy skončit tak, aby šlo jednoduše pokračovat v cestě dál (začíná stavět otočený doprava a končí stejně). Poté udělá vždy jeden krok, aby domky stály 1 políčko od sebe.
S pomocníky jsou také spojeny lokální (košíčkové proměnné). Rozdíl mezi klasickými globálními proměnnými (šuplíky) je ten, že lokální proměnnou vidí a může použít jen ten daný pomocník, ve kterém se nachází, zatímco globální proměnné jsou použitelné v celém programu. To opět vychází z vyšších programovacích jazyků, kde toto rozdělování má větší význam.

↓ Oblasti


Oblasti nám slouží k vymezení určité části obrazovky. Přesněji se jedná o čtverce či obdélníky. Oblasti slouží např. k zobrazování obrázků a videí do nich, při zjišťování, jestli bylo kliknuto myší do určité části obrazovky, jestli se v ní nachází Baltík a do oblastí lze v neposlední řadě také zobrazovat geometrické útvary a vyplňovat je. Oblasti mají svá čísla, může jich být až 200 a jsou definovány (určeny) 2 body (stejně jako čtverec a obdélník) - levým horním a pravým dolním.
Podobně, jako nám pomáhá s prací s proměnnými a pomocníky okno, s oblastmi nám pomůže okno zvané "Tabulka". V ní se nachází definice jednotlivých oblastí, určení umístění zvuků, obrázků a videí na disku:


V levém sloupci tabulky se nacházení oblasti.
Nyní si v několika bodech ukážeme, jak s oblastmi pracovat:
  1. Nejprve je nutné vytvořit oblast - můžeme to provést několika způsoby:
    • Ručně - do políčka v tabulce zadáme souřadnice bodů definujících oblast v tomto formátu: a,b,c,d
      Kde:
      • a = x souřadnice levého horního rohu
      • b = y souřadnice levého horního rohu
      • c = x souřadnice pravého dolního rohu
      • d = y souřadnice pravého dolního rohu

      U oblastí se vždy používají pixelové (malé) souřadnice.
    • Pomocí Editoru oblastí - Do daného políčka klikneme pravým tlačítkem a vybereme "Editovat":

      Poté se nám objeví "Editor oblastí" - okno, ve kterém si můžeme myší vymezit danou oblast. Uděláme to tak, že klikneme do levého horního rohu oblasti, kterou chceme vytvořit myší a držíme a táhneme myš do pravého dolního rohu oblasti, kde tlačítko uvolníme:

      Dole v okně lze souřadnice uvést stejným způsobem, jak je popsáno výše a pomocí zelených šipek lze přeskakovat mezi jednotlivými oblastmi.
  2. Práce s oblastmi - do oblastí můžeme vepisovat geometrické útvary, vyplňovat je barvou, posunovat je, zvětšovat je, používat je v podmínkách atd...
    Protože se příkaz "Oblast" nenachází v hlavní nabídce příkazů, musíme opět použít okno "Tabulka" (popsáno výše). V ní vybereme požadovanou oblast a vlevo dole klikneme na tlačítko "Oblast" a příkaz zaneseme do programu:
    • Definice oblasti v programu

      Druhá možnost využívá příkaz "Tabulka" (úplně vlevo) ten najdete ve stejnojmenném okně vyvolaném tlačítkem "Tabulka" na hlavním panelu.
      Stejně tak je možné definovat oblast podle jiné oblasti (oblast 1 bude totožná s oblastí 2 - duplikace):
    • Posun oblasti
      Oblast můžeme posunovat po obrazovce tímto způsobem:

      ↓ Vysvětlení polopatě

      Platí jednoduché matematické vztahy:
      • V případě použití znaménka zvýšení (inkrementace)
      • V případě použití znaménka snížení (dekrementace)
        Jde o to, že když je posun roven -10 a používáme znaménko dekrementace (2. případ výše), tak po dosazení do vzorce se znaménka minus vyruší a výsledkem je +:
    • Zvětšení / zmenšení oblasti

      V případě zmenšení lze použít znaménko zmenšení (dekrementace), nebo ponechat znaménko zvýšení, ale použít záporné hodnoty...
    • Podmínka - Baltík v oblasti
    • Podmínka - Stisk myši v oblasti
      Zde je ukázka jednorázového ověření stisku levého tlačítka myši v oblasti:

      Pokud bude levé tlačítko myši stisknuto v oblasti 1, Baltík popojde o 5 kroků vpřed.
    • Podmínka - Kurzor myši v oblasti
      Zde je ukázka programu, který neustále kontroluje, jestli se kurzor myši nenachází v oblasti 1 (není potřeba příkaz čti klávesu - nezáleží nám totiž na STISKU):

↓ Příklady

↓ Soutěžní úlohy

↓ Kreslení předmětů


Nápověda - jak používat editor předmětů
Pokud chcete upravit nějaký z baltíkových předmětů, nejprve si vytvořte jeho kopii ve volném místě (začíná bankou 13) a poté ho můžete upravit. Kdybyste pak potřebovali původní vzhled předmětu, jen těžko byste ho překreslili do původní podoby.
Editor předmětů otevřete kliknutím na tlačítko "Kreslení předmětů" na hlavním panelu:

Otevře se nám okno pro úpravu předmětů. Zde můžeme předměty mazat, kopírovat vyjímat a graficky je upravovat.
Pokud chceme upravit nějaký ze stávajících baltíkových předmětů, jak již bylo zmíněno, je potřeba jej nejprve zkopírovat do banky 13 (nebo do další volné banky, pokud již máte banku č. 13 zaplněnou).

Postup:
  1. Přesuneme se do příslušné banky ve který se nachází daný předmět pomocí šipek dole na okně.
  2. V levém menu klikneme na tlačítko "Práce s předměty" a pak hned na první tlačítko v nabídce:
  3. Nyní by se měla zobrazit mřížka předmětů. Klikneme na předmět, který chceme kopírovat pravým tlačítkem a vybereme "Kopírovat":
  4. Přejdeme do volné banky (v tomto případě banka 13).
  5. V prvním volném místě klikneme pravým tlačítkem a vybereme "Vložit". Náš předmět je nyní zkopírován v bance a můžeme přistoupit k jeho grafické úpravě.
    V tomto případě se jedná o zavřené dvěře (původně předmět č. 4).
  6. Aby se nám s předmětem lépe pracovalo, použijeme nástroj "Lupa" s osminásobným zvětšením, takže se nám předmět roztáhne do celého okna:

    Klikneme tedy na tlačítko lupa a vybereme příslušný předmět:

  7. Pro příklad budeme chtít přidat do dveří okno. Jak to udělat si teď ukazovat nebudeme. To není předmětem tohoto článku. Návod naleznete na odkazu na začátku tohoto článku.
    Výsledek:
  8. Úprava je u konce. Zavřeme proto okno a potvrdíme uložení změn.
  9. A máme hotovo! Nyní lze s předmětem pracovat jako s každým jiným: