Низање корака

У претходном поглављу упознао си већину наредби кретања, а сада ћемо показати како да их повежеш у скрипте које задају понашање ликова.

Представићемо и неке наредбе из група Изглед, Догађаји и Управљање.

За скрипту у којој се наредбе извршавају редом једна за другом кажемо да има просту линијску структуру.

Таква су обе скрипте придружене ликовима у пројекту Виц.

Скрипте описују понашање ликова којима су придружене.

Сваки објекат има своје понашање, чак и непокретан простор - позорница, може да мења своју позадину. Дакле, у Скречу се скрипте, осим ликовима, могу придружити и позорници.

За ствари обично знамо од чега се састоје, на пример рачунарски систем се састоји од хардвера и софтвера, али од чега се састоји понашање?

Одговор на ово питање је – понашање чине акције и поруке. Људи, животиње, технички уређаји - могу да извршавају акције и да преносе поруке. Свакако сте видели како семафор помоћу различитих боја шаље поруку возачима и пешацима, кaда могу да прелазе раскрсницу.

У понашању се крију две тајне, које омогућавају предвиђање будућности.

Прва тајна је да понашањем управља сценарио - прецизан редослед акција и порука. Ако вам је познат, на пример, сценарио филма, онда тачно знате, када и како ће поступити сваки глумац, шта и коме ће рећи.

Друга тајна је да се понашање увек покреће догађајем, што може бити акција или добијање поруке.

_images/dogadjaji1.png

У Скречу акције извршава корисник мишем и тастатуром, а поруке предају један другом ликови и позорница.

Ликови могу да извршавају више од 100 наредби, а позорница нешто мање. Разуме се, позорница може да мења позадине (што одговара промени костима лика), али не може да се креће. Слично, од наредби из групе Оловка може да извршава само наредбу обриши.

Све расположиве наредбе чувају се у палети блокова и организоване су у 10 група. Блокови наредби сваке групе имају карактеристичну боју.

У овом поглављу кроз примере скрипти са простом линијском структуром упознаћемо неколико догађаја и наредбе из групе Изглед.

У пројекту “Виц” коришћене су наредбе из три групе блокова:

  • Догађаји zelena_zastavica,
  • Изглед izgovori_sec, zameni_kostim и
  • Управљање cekaj.

Програме који описују понашање ликова Перице и маме покреће исти догађај - клик на зелену заставицу и извршавају се истовремено. Зато акције Перице и маме морају да буду усклађене: док Перица говори, мама слуша и обрнуто. У овом пројекту понашање ликова је усклађено наредбама “чекај”.

prouci Проучи следеће примере пројеката

Друштво можемо да забавимо причањем вицева, али и математичким триковима. Следећи пројекат
илуструје један од њих. Има само једну скрипту која има просту линијску структуру.

Пример 1 - Пројекат Математичар

  • Корак 1: Замисли један троцифрени број чије су све цифре једнаке, нпр. 111, 222.
  • Корак 2: Сабери све цифре тог броја.
  • Корак 3: Замишљени троцифрени број подели добијеним збиром.
  • Корак 4: Резултат је број 37.

Сценарио овог пројекта је сасвим једноставан. Лик наредбама izgovori_sec задаје кориснику прва три захтева, а наредбом izgovori саопштава резултат.

Користићемо лик Мачка који има два костима (Кликни на картицу Костими да их видиш) и између свака два захтева задати промену костима наредбом sledeci_kostim.

Да би корисник имао времена да израчуна шта се од њега тражи у прве две наредбе ставићемо да се текст који лик изговара види 3 секунде, а у трећој 5 секунди. Наредба izgovori последњи текст оставља на екрану све док не прекинемо извршавање програма кликом на знак стоп - црвени осмоугао изнад горњег десног угла позорнице.

Скрипта овог пројекта приказана је на следећој слици.

_images/matematicar_a.png

Почетак и крај програма

Прва наредба програма одговара почетном алгоритамском кораку.
Блокове који одговарају почетном алгоритамском кораку чија је карактеристика да на њих не указује ниједан алгоритамски корак у Скречу називамо “капе”.
Овај тип блокова има заобљен врх и поставља се на врх низа блокова, а повезује се са наредним блоковима преко испупчења на дну.
“Капе” покрећу извршавање низа блокова испод њих, па их можемо назвати и “Покретачи”.
Поред клика на зелену заставицу тај догађај може да буде и притисак на неку дирку тастатуре, добијање одговарајуће поруке или клик на лик.
Последња наредба програма треба да одговара завршном алгоритамском кораку. Она нема испупчења на дну.
У Скречу постоје три верзије такве наредбе: једна која зауставља извршавање скрипте на чијем се крају налази, друга која зауставља све скрипте датог лика и трећа која зауставља извршавање свих скрипти пројекта.
_images/pocetni_zavrsni.png
Следећи пројекат илуструје могућности наредбе "промени ефекат" из групе Изглед.
Пројекат садржи 7 скрипти које се покрећу догађајем "Клик на лик".

Пример 2 - Пројекат Ефекти

Сценарио пројекта

На позорници се налази 7 примерака истог лика. Кликом на неки од њих лик се мења коришћењем једног од седам графичких ефеката. То омогућава наредба promeni_efekat. Лик такође изговара о којем се ефекту ради.

_images/efekti_vrste.png

Израда пројекта

Започни нови пројекат.

Обриши лик мачка и из библиотеке ликова изабери Singer1.

Лику придружи следећу скрипту.

_images/efekti_skripta.png

Сада десним кликом на лик у листи ликова отвори приручни мени и изабери опцију умножи. У листи ликова појавиће се лик Singer2 коме ће бити придружена иста скрипта као лику од кога је настао.

Промени ефекат у наредби promeni_efekat на рибље око, а у наредби izgovori_sec преправи текст у рибље око.

Понови ову операцију још 5 пута и сваки пут измени ефекат и поруку коју лик саопштава када се кликне на њега.

Равномерно распореди ликове на позорници и тестирај да ли пројекат ради то што је замишљено кликом на сваки од ликова.

При сваком новом клику на исти лик одговарајући ефекат ће се појачавати.

Зато треба додати скрипту позорници која ће по клику на зелену заставицу поништавати промене наредбом ukloni_efekte .

На следећој слици приказан је изглед ликова после једне или више примена одговарајућег ефекта.

_images/efekti.png
Да ли си већ чуо следећу шалу засновану на игри речима?
- Трчи зекa шумом, јуре га кобре.
- Наиђе он на дабра и каже му: "Бежи бре дабре, јуре ме кобре."
- Дабар: "Ко бре?"
- Зекa: "Да бре."
Наш нови пројекат представља анимацију ове шале. У њему разговор ликова треба ускладити
као у пројекту "Виц" - док један лик говори, други чека и обрнуто. Пројекат илуструје
како се могу искористи ликови који се увозе споља, из неке датотеке са твог рачунара
или са веба.

Пример 3 - Пројекат Шала

Скрипте за ликове зеке и дабра није тешко направити. Проблем је како креирати ликове, јер их нема у Скречовој библиотеци.

У овом пројекту показаћемо како се ликови могу преузети из фајла помоћу опције Пошаљи лик из датотеке. Фајл треба да буде типа JPG, BMP, PNG, GIF, а може да се на налази у ма којем фолдеру на рачунару или на вебу. Такође ћемо показати како се ликови могу прилагодити нашим потребама едитовањем у графичком едитору Скреча.

Припрема ликова и позадине

Слике зеке, дабра и кобре преузећемо са веба. Најбоље је да то буду цртани ликови без позадине, а ако позадина постоји, да буде у једној боји како би се лакше „скинула“ у графичком едитору. За позадину позорнице изабрали смо слику Water and rocks из Скречове библиотеке позадина. Претражујући Гуглове слике, за наш пројекат смо изабрали: слику кобре у JPG, слику зеца у PNG и слику дабра у GIF формату. При томе слике дабра и кобре имају позадину, па се додатно морају обрадити у Скречовом едитору слика.

План за креирање пројекта

  1. Започни нови пројекат кликом на дугме Ново у менију Датотека.
  2. Упамти пројекат (засад празан) под називом “Шала” у фолдеру Scratch Projects који је креиран приликом инсталације офлајн едитора.

Савет

Током рада на пројекту што чешће кликом на дугме Сачувај у менију Датотека памти дотад направљене измене у пројекту.

_images/sala_sacuvaj.png

  1. Избриши лик мачка – десним кликом на лик отвори приручни мени па изабери обриши.
  2. Увези слике зеца, дабра и кобре из фолдера у којем се налазе. Слика зеца нема позадину, док слика кобре има белу позадину коју треба скинути.
  3. Уклони позадине слика дабра и кобре у Скречовом едитору слика.
_images/sala_editovanje.png

Како да уклониш позадину

  1. Изабери да боја цртања буде “без боје” ikona1
  2. Селектуј алатку кантица ikona2
  3. Изабери први начин попуњавања (једнобојни) ikona3
  4. Кликни било где на позадину

  1. Распореди на позорници лево дабра, у средини зеца и десно кобре (превлачењем).
  2. Подеси величине ликова тако да буду у одговарајућој размери кликом на одговарајућу дугмад у палети алата.
  3. Алатком печат додај још једну кобру на позорницу.
  4. Преименуј ликове.
_images/sala_likovi.png
  1. Увези слику позадине и, ако је потребно, прилагоди распоред ликова новој позадини.
_images/sala_pozadina.png
  1. Придружи скрипте за разговор зецу и дабру.
_images/sala_skripte.png
  1. Тестирај програм и, ако је потребно, поправи скрипте.
  2. Упамти завршну верзију пројекта.
У следећем пројекту поново ћемо слике ликова преузети са веба.
То су чланови породице Симпсон.
Овај пројект може да послужи као узорак како у Скречу можеш да направиш презентацију.

Пример 4 - Пројекат Породица *

Припрема ликова

За ову презентацију потребни су ти следећи ликови: Лиза, Марџ, Хомер, Барт и Меги. Преузми их са веба. Очисти позадину са слика и преименуј их тако да се зову као у нашем пројекту.

_images/porodica_likovi.png

Лик Лизе смањи и постави у горњи десни угао позорнице. Лик Марџ окрени да гледа улево. Барта смањи и окрени да гледа улево. Лик Меги смањи. Кончан изглед и распоред ликова треба да буде као на следећој слици.

_images/porodica.png

На следећим сликама приказани су сценарио и скрипте пројекта Породица.

_images/porodica_slike.png _images/porodica_skripte.png

pitaj Одговори на следећа питања

Питање 1

    Који од блокова припада групи наредби Изглед? (Изабери све тачне одговоре)

    _images/pit3_1.png
  • (A)
  • Припада групи Кретање.
  • (B)
  • Блок који одговара наредби је љубичасте боје.
  • (C)
  • Припада групи Догађаји.
  • (D)
  • Блок који одговара наредби је љубичасте боје.

Питање 2

    Које од наредби припадају групи наредби Догађаји? (Изабери све тачне одговоре)

    _images/pit3_2.png
  • (A)
  • Покреће скрипту када се кликне на зелену заставицу.
  • (B)
  • Покреће скрипту када се кликне на лик.
  • (C)
  • Припада групи Изглед.
  • (D)
  • Припада групи Кретање.

Питање 3

    Који од блокова припада групи наредби Управљање? (Изабери све тачне одговоре)

    _images/pit3_3.png
  • (A)
  • Задржава извршавање следеће наредбе 1 секунду.
  • (B)
  • Припада групи Догађаји.
  • (C)
  • Зауставља извршавање свих скрипти пројекта.
  • (D)
  • Припада групи Кретање.

Питање 4

    Превлачењем упари акције са њиховим редоследом извршавања приликом уклањања позадине са слике. Покушај поново
  • Изабери да боја цртања буде "без боје"
  • 1
  • Селектуј алатку кантица
  • 2
  • Изабери начин попуњавања
  • 3
  • Кликни било где на позадину
  • 4

Питање 5

    Превлачењем упари блокове са одговарајућим групама наредби. Покушај поново
  • изговори
  • Изглед
  • питај__и чекај
  • Осећаји
  • повежи
  • Операције
  • усмери се ка 90
  • Кретање

pokusaj Покушај

Вежба 1

Увећање. Креирај пројекат који омогућава да се лик на позорници увећава и смањује. Увећавање треба да покреће догађај Клик на лик, а смањивање догађај Клик на позадину (који се може изабрати само када је позорница активна - у плавом оквиру). Обезбеди да се кликом на зелену заставицу уклоне графички ефекти.

Вежба 2

Окретање. Креирај пројекат који омогућава да се лик на позорници окреће налево и надесно. Окретање налево треба да покреће догађај Када је дирка стрелица лево притиснута, а окретање надесно догађај Када је дирка стрелица десно притиснута. Обезбеди да се лик приликом окретања налево не окреће наглавачке.

Креирај следеће пројекте који производе излаз на основу улазних података корисника. За сваки од њих лик који води разговор са корисницима и позадина нека буду по твом избору.

Вежба 3

Цифре троцифреног броја. Водитељ тражи од корисника да унесе троцифрен број, а онда му саопштава која је цифра стотина, која десетица, а која јединица тог броја.

Упутство. Користи операцију slovo.

Вежба 4

Из Целзијуса у Фаренхајта. Напиши програм којим се преводи температура из скале Целзијуса у скалу Фаренхајта, ако је одговарајућа формула облика:

температура по Фаренхајту = (температура по Целзијусу)*1.80+32.

Водитељ тражи од корисника да унесе температуру по Целзијусу, па саопштава колико она износи по Фаренхајту.

Упутство. Користи операције puta и plus.

Вежба 5

Минути у сате. Напиши програм којим се временски интервал дат у минутима изражава у сатима и минутима. Водитељ тражи од корисника да унесе број минута неког временског интервала па саопштава колико је то сати и минута.

Упутство. Користи операције podeli и mod.

bug Исправи грешке

Грешка 1

Питање:Следеће две скрипте приказују разговор два лика. Да ли је разговор добро усклађен?
_images/greska3_1.png

Одговор:

Нема паузе, што значи да су ликови причају истовремено Потребно је уметнути инструкције чекај.

Грешка 2

Питање:Да ли је следећи разговор добро синхронизован?
_images/greska3_2.png

Одговор:

Није добро постављено време. Инструкције чекај и изговори треба да имају исто време да би разговор био добро синхронизован.

Грешка 3

Питање:Ученик воли да све ради по правилима и зато жели да сваком програму дода и наредбу за заустављање програма. Тако је и на крају скрипте за математичара поставио наредбу zaustavi_sve. Међутим, текст последње наредбе izgovori уопште се није видео. Како да ученик ово исправи, а да на крају ипак остане наредба која га зауставља?
_images/matematicar_b.png

Одговор:

Наредба “изговори Резултат је 37” се тренутно извршава и одмах затим се извршава наредба “заустави све”, па ми практично и не успевамо да видимо дејство наредбе “изговори”. Зато наредбу “изговори” треба да заменимо наредбом “изговори__током__секунде” и поставимо да се приказ види, на пример током 5 секунди.

Грешка 4

Питање:Ученик жели да његов лик ротира када притисне тастер размак. Али лик се не покреће. У чему је грешка?
_images/greska3_4.png

Одговор:

Лик се окреће, али сувише брзо, брзином којом рачунар извршава наредбе, па људско око то не може да испрати. Да би се окретање лика видело треба између наредби “окрет удесно” ставити наредбе чекања, рецимо за десети део секунде. Тако ћемо успети да испратимо окретање лика.

knjiga Шта смо научили

Појмови: догађаји, акције, поруке, линијска структура скрипте.

Наредбе: dogadjaji - razglasi, razglasi_cekaj;

upravljanje - cekaj, zaustavi_sve, izgled - izgovori, sakrij, prikazi, sledeci_kostim, zameni_kostim, promeni_efekat, ukloni_efekte, neka_velicina, promeni_velicinu

Покретачи: zelena_zastavica, klik_lik, dirka, kad_primim.

project Уради неки од следећих пројеката

Пројекат 1 - Геније

Овај пројекат направи по узору на пример Математичар.

Започни нови пројекат који ћеш назвати Геније. Изабери главни лик из библиотеке ликова и позадину из библиотека позадина. Лик треба да поставља следеће задатке.

  1. “Замисли било који троцифрени број.”
  2. “Поређај његове цифре од већих ка мањим - то је први број.”
  3. “Поређај његове цифре одмањих ка већим - то је други број.”
  4. “Одузми други број од првог.”
  5. “Запамти резултат, а затим обрни његове цифре.”
  6. “Тај број додај резултату који си запамтио.”
  7. “Добио си број 1089.”

Пројекат 2 - Чококолач

Започни нови пројекат који ћеш назвати Чоко колач. То треба да буде анимација у којој кувар објашњава рецепт (алгоритам) за прављење чоколадних колача.

За ову анимацију биће ти потребни следећи ликови: кувар, јаја, брашно, шећер, чоколада, чинија, миксер, шпорет, колачи. Пронађи одговарајуће слике на свом рачунару или на интернету и прилагоди их пројекту (очисти од позадине, увећај, умањи…).

Води рачуна о синхронизацији скрипти за сваки лик убацивањем команде чекај потребне дужине. Једини лик који све време треба да буде на позорници је кувар. Он чита рецепт (алгоритам) и одређује појављивање и нестајање осталих ликова.

  1. Кувар је сам на позорници. Изговара: “Ево АЛГОРИТМА за прављење колача!” (2 секунде)
  2. Кувар изговара следеће: “Узмите јаја, брашно, шећер и чоколаду.” У том тренутку на позорници се појављују јаја, брашно, шећер и чоколада. Сцена траје 2 секунде.
  3. Кувар изговара следеће: “Све ставите у чинију и измешајте миксером.” У том тренутку са позорнице нестају јаја, брашно, шећер и чоколада, а појављују се чинија и миксер. Сцена траје 2 секунде.
  4. Кувар изговара следеће: “Ставите чинију у врућу рерну.” У том тренутку са позорнице нестају чинија и миксер, а појављује се шпорет. Сцена траје 2 секунде.
  5. Кувар изговара следеће: “Пеците колач пола сата.” На позорници се ништа не мења. Сцена траје 2 секунде.
  6. Кувар изговара следеће: “Послужите колаче.” У том тренутку са позорнице нестаје шпорет, а појављују се колачи. Сцена траје 2 секунде.

Пројекат 3 - Моја породица

Овај пројекат направи по узору на пример Породица.

Започни нови пројекат који ћеш назвати Моја породица. То треба да буде анимација у којој представљаш чланове своје породице.

За ову презентацију потребни су следећи ликови: водитељ (ти), мама, тата, брат, сестра (зависно од тога ко чини твоју породицу). Употреби фотографије или изабери слике цртаних ликова (на пример, Паја Патак, Пата, Пајини сестрићи) који ће играти улоге чланова породице) и прилагоди их пројекту (очистите од позадине, увећајте, умањите, по потреби окрените и распоредите на позорници). Како кога представиш треба да се појави на позорници.

Води рачуна о синхронизацији скрипти за сваки лик убацивањем команди чекај потребне дужине. Једини лик који све време треба да буде на позорници је водитељ. Он се представља и представља чланове своје породице.

  1. Водитељ је сам на позорници. Изговара: “Ја се зовем …” Сцена траје 2 секунде
  2. Водитељ изговара следеће: “Моја мама се зове …” У том тренутку на позорници се појављују мамина слика. Сцена траје 5 секунди.
  3. Водитељ изговара следеће: “Мој тата се зове…” У том тренутку на позорници се појављује татина слика. Сцена траје 5 секунди.
  4. Водитељ изговара следеће: “Мој брат се зове…” У том тренутку на позорници се појављује братовљева слика. Сцена траје 5 секунди.
  5. Водитељ изговара следеће: “Моја сестра се зове…” У том тренутку на позорници се појављује сестрина слика. Сцена траје 5 секунди.
  6. Скрипте чланова породице синхронизуј са скриптом водитеља. Сваки од њих после клика на зелену застивицу треба да се сакрије и чека док на њега не дође ред, а онда се појављује на позорници на месту које сте унапред одредили.