5. Sąlygos

Kas yra sąlygos?


Pasirinkimus darome kasdien: priklausomai nuo oro renkamės drabužius arba priklausomai nuo nuotaikos - veiklą. Pasirinkimai atliekami ir vykstant programai. Pavyzdžiui, norime pridėti tašką tik tada, kai žaidėjas pasieks finišą. Piešti tik tada, kai nuspaustas pelės mygtukas ir pan. Tokiais atvejais naudojamos sąlygos. Tai tarsi klausimai, į kuriuos galima atsakyti tik dvejopai: True (Taip) arba False (Ne).  


Paprasčiausia sąlygos komanda yra if. Jei sąlyga atitinka (į ją atsakoma taip), programa, esanti jos viduje atliekama. Jei ne - ignoruojama (Ar žaidėjas pasiekė finišą? -> Taip. Pridėti tašką. -> Ne. Nekreipti dėmesio).


Kiek sudėtingesnė if..else komanda. Ji atsakinga ir už tai, kas atsitinka priešingu (False) atveju.

Pavyzdyje dešinėje programa, priklausomai nuo to, ar veikėjas liečia picą, pasako „Neliesk“ (jei liečia) arba „Skanaus“ (jei dar nepalietė).



Patarimai

  • Dažniausiai pasitaikanti klaida, dirbant su if..else - pamirštama pridėti forever blokelį. Akcentuokite, kad programa patikrins sąlygą tik vieną kartą, jei nebus suprogramuota kitaip.

  • Tyčia padarykite klaidą, kad dalyviai suvoktų, kaip veikia paralelinės programos: jei toje pačioje programoje į vieną iš if sąlygų įdėsime ilgą veiksmą, tarkime, ilgą melodiją, į kitas if sąlygas, esančias toje pačioje programoje, veikėjas nereaguos. Taigi tokiu atveju reikės pridėti papildomą įvykį.

Parodykite, kaip galima kurti sąlygas patiems, naudojant matematikos (<, >, =) arba and, or, not operatorius. Pvz., žaidimas baigsis, jei Žaidėjas 1 ARBA Žaidėjas 2 surinks reikiamą taškų skaičių.


Techninės užduotys


1. Interakcijos


Tikslas: įtvirtinti sąlygų konceptą bei pakartoti anksčiau išmoktą medžiagą

Atliekant šias užduotis, reikia prisiminti viską, kas iki šiol išmokta ir išbandyta. Mokiniai turi išspręsti kuo daugiau užduočių. Skatinkite dalyvių bendradarbiavimą. Kuriant interakcijas, gali kilti idėjų naujam žaidimui ar animacijai - duokite laisvę eksperimentams. Užduotys nuo lengviausios iki sudėtingiausios. Tikrai nebūtina atlikti visas! Spręsti galima tame pačiame projekte arba kiekvienai užduočiai kurti atskirą projektą - kam kaip patogiau.

  1. Kai paspaudi mygtuką G, pagarsini muziką, kai paspaudi T - tylini. Atsakymas.

  2. Jei veikėjas palietė kliūtį (vienspalvį kubelį), pasikeičia fonas. (Veikėjas seka pelės rodyklę). Atsakymas.

  3. Jei aplinkoje triukšminga, veikėjas pasislepia. Jei tylu - vėl atsiranda. Atsakymas.

  4. Veikėjas juda ne tik į kairę, dešinę, žemyn ir aukštyn, bet ir įstrižai (naudoti sąlygas: jei paspaustas mygtukas...) Atsakymas.

  5. Jei atstumas nuo veikėjo iki lobio yra didesnis nei 200px, lobis sako „šalta“, jei didesnis nei 100px - „jau šilčiau“, jei mažesnis nei 101px - „karšta“. (Veikėjas seka pelės rodyklę). Atsakymas.

  6. Programa užduoda klausimą „Koks šiandien oras?“. Priklausomai nuo atsakymo, ekrane pasirodo saulė, lietaus lašas arba klaustukas (jei atsakymas programai nesuprantamas). Šiai interakcijai prireiks panaudoti broadcast komandą - jos pagalba siunčiame žinutę kitam veikėjui. Atsakymas.

Parsisiųskite užduočių lapą:

Interakcijos_Užduočių_lapas
.docx
Download DOCX • 462KB

2. Gaudyklė (pratęsimas)


Pastaba: pradinis, originalus „Gaudyklės“ projektas yra temoje „2.1. Judėjimas“

Projekto pavyzdys: https://scratch.mit.edu/projects/279699713/.


Papildykite Gaudyklės projektą naujomis sąlygomis. Idėjos:


- Žaidimas dviem žaidėjams (pakeisti veikėjų valdymą, sukurti naują kintamąjį antrojo veikėjo taškams skaičiuoti ir pan.);

Pavyzdys projekte. Veikėjas Dorian valdomas rodyklėmis, o Ben - awsd klavišais. Dorian taškai skaičiuojami kintamajame „Dorian suvalgė apelsinų:“, o Ben - „Ben suvalgė apelsinų:“.


Taškai pridedami į skirtingus kintamuosius, priklausomai nuo to, kuris veikėjas palietė apelsiną.












- „Teleportas“ - palietus kokią nors figūrą, pasikeičia fonas (pavyzdyje šią funkciją atlieka tuščiaviduris ratas);

Pavyzdys projekte.

Objektas atsiranda bet kurioje ekrano vietoje ir, visuomet, jei paliečia bet kurį veikėją (sąlygoje Dorian ARBA Ben), programos fonas pasikeičia ir objektas persikelia į kitą, atsitiktinai parinktą, vietą.

- Laiko limitas. Pvz., taškams surinkti skirtos 10s, vėliau skelbiamas nugalėtojas (pavyzdyje šios funkcijos kodą rasite fono programoje);

Prasidėjus naujam žaidimui, laikas pradedamas skaičiuoti iš naujo (reset timer). Jei praėjo daugiau nei 10s (timer > 10), tikrinama, kuris veikėjas surinko daugiau taškų, arba gal tai lygiosios. Suprogramuojama norima reakcija - pasikeičia fonas, sugrojamas garsas ar pan. Pavyzdyje panaudotas Text to Speech papildinys, kuris užrašytą tekstą nuskaito balsu.

Pasveikinus laimėtoją, visa programa sustabdoma, kad rezultatas nebepasikeistų (stop all).


- Prasižengus taisyklėms (pavyzdžiui, palietus neleidžiamą daiktą), veikėjas laikinai pradingsta (pavyzdyje taip nutinka, kai Ben paliečia šikšnosparnį);


Jei abu žaidėjų veikėjai susiliečia - sumažėja arba pakeičia išvaizdos efektą (pavyzdyje tai suprogramuota Dorian veikėjui , kai jis paliečia Ben, pasako „Ouch“);


- Ir t.t.


Parsisiųskite užduočių lapą:

Gaudyklė_pratęsimas_Užduočių_lapas
Download • 462KB

28 views