Přeskočit na obsah

Hra

Tato část je určena pro ilustraci základních pricipů použítých ve strukturovaném programování. A navrhl jsem ji jako hru pro její názornost a odlehčení.

Level 1

{ "title": "#1 - příkaz", "description": "V prostředním okně máte na výběr dva příkazy - krok a rotaci. Jejich přetažením pomocí myši je můžete umístit do rámečku pod příkaz program. Cílem je aby modrá postavička snědla všechny červené kuličky.", "place": { "listOfBlocks":[[1,1,1,1,1], [1,1,0,1,1], [1,1,0,1,1], [1,1,0,0,1], [1,1,1,1,1]] }, "characterIni": { "xPos":1, "yPos":2, "rotation":0 }, "program": { "canMove":true, "canRotate":true, "canVarX":false, "canVarY":false, "canVarRotate":false, "canVarFrontType":false, "canVarCurrentType":false, "canIf":false, "canIfElse":false, "canDo": false, "canWhile":false }, "diagram": true }

Level 2

{ "title": "#2 - cyklus", "description": "V prostředním okně přibýl příkaz do. Cyklus bude opakovat příkazy které do něj vložíte tolikrát, kolikrát nastavíte. Puste se použít cyklus k řešení následujícího bludiště.", "place": { "listOfBlocks":[[1,1,1,1,1], [1,0,0,0,1], [1,0,1,0,1], [1,0,0,0,1], [1,1,1,1,1]] }, "characterIni": { "xPos":1, "yPos":1, "rotation":0 }, "program": { "canMove":true, "canRotate":true, "canVarX":false, "canVarY":false, "canVarRotate":false, "canVarFrontType":false, "canVarCurrentType":false, "canIf":false, "canIfElse":false, "canDo": true, "canWhile":false }, "diagram": true }

Level 3

{ "title": "#3 - podmínka", "description": "V prostředním okně přibýl příkaz if. IF je podmíněný příkaz. To znamená, že příkazy uvnitř se vakonají pouze pokud je podmínka splněna. Zde se podmínka zkládá ze třech částí: proměnná (x, y, rotation, typ, typPred, typZa, typVlevo, typPravo), logický operátor (==, <=, >=, >, <, /=) a hodnota. Význam proměnných je následující: x - pozice postavičky na ose x; y ...; rotation - natocení postavičky, výchozí rotace je 0 a dále může nabývat hodnot 90,180,270; typ - je typ políčka na kterém se postavička aktuálně nachází. Políčko s červenou kuličkou je typ 0, černé políčko je typ 1, políčko kde již červená kulička není je typ 3; typPred, typZa, typVlevo, typVpravo jsou jsou typ políčka nacházející se na pozicích, které naznačuje název proměnné. Pokuste se splnit bludiště s co nejmenším počtem použítých komponent.", "place": { "listOfBlocks":[[1,1,1,1,1,1], [1,0,1,1,1,1], [1,0,1,0,0,1], [1,0,1,1,0,1], [1,0,0,0,0,1], [1,1,1,1,1,1]] }, "characterIni": { "xPos":1, "yPos":1, "rotation":0 }, "program": { "canMove":true, "canRotate":true, "canVarX":true, "canVarY":true, "canVarRotate":true, "canVarFrontType":true, "canVarCurrentType":true, "canIf":true, "canIfElse":false, "canDo": true, "canWhile":false }, "diagram": true }

Level 4

{ "title": "#4 - podmínka 2", "description": "V prostředním okně přibýl příkaz if..else. Tento příkaz se jako podmínka jen má navíc druhý blok, který se vykoná poduk podmínka není splněna.", "place": { "listOfBlocks":[[1,1,1,1,1,1], [1,0,1,1,1,1], [1,0,1,0,0,1], [1,0,1,1,0,1], [1,0,0,0,0,1], [1,1,1,1,1,1]] }, "characterIni": { "xPos":1, "yPos":1, "rotation":0 }, "program": { "canMove":true, "canRotate":true, "canVarX":true, "canVarY":true, "canVarRotate":true, "canVarFrontType":true, "canVarCurrentType":true, "canIf":true, "canIfElse":true, "canDo": true, "canWhile":false }, "diagram": true }

Level 5

{ "title": "#5 - moduly", "description": "Celou dobu je pod blokem program tlačítko add module. Nyní přišel čas ho použít. Do modulu můžete vkládat příkazy jako do bloku program a následně modul moužít v programu. Moduly se používají pro zvýšení přehlednosti kódu, znovupoužitelnosti, atd.", "place": { "listOfBlocks":[[1,1,1,1,1,1,1], [1,0,0,0,0,0,1], [1,0,1,0,1,0,1], [1,0,0,0,0,0,1], [1,0,1,0,1,0,1], [1,0,0,0,0,0,1], [1,1,1,1,1,1,1]] }, "characterIni": { "xPos":1, "yPos":1, "rotation":0 }, "program": { "canMove":true, "canRotate":true, "canVarX":true, "canVarY":true, "canVarRotate":true, "canVarFrontType":true, "canVarCurrentType":true, "canIf":true, "canIfElse":true, "canDo": true, "canWhile":false }, "diagram": true }