Scratch ohjelmoinduprojektu

Martti Penttonen
13.5.2017

Projektan kuvavus:

Luaji Scratch-kielel animatsii, kudamas kaksi robottua kävelöy ielleh-järilleh poikki estruadas da tostu vastates toine tostu tervehtitäh täh tabah: "Terveh, olen Robo. Kenbo sinä olet?". Toine vastuau: "Terveh Robo, olen Bottu." Kudai kergiey ezmäi, on sattuman varas. Toizin sanojen, pidäs luadie animatsii, kudamas eri hetkil nävyttäs Kuvan 1 tilandehet:

Kuva 1. Robotat tervehtitäh.

Tehtävän reššindäs pidäy jo maltua Scratch-ohjelmoindua da tundie kielen ominazuksii. Hos ohjelmu ei ole ylen vaigei, parembi on lähtie sidä kehittämäh porras pordahal. Muite rodieu sellittämätöi vyyhti "luttiloi", eigo ohjelmu valmistu. Luajimmo ohjelman kuvves etapas.

Etappu 1. Ielleh-järilleh kävelendy

Otammo enzimäzekse tavoittehekse liikuttua Scratch-kažii ekruanan reunas reunah. Se on helpo todevuttua, kui Kuvas 2 nägyy:

Kuva 2. Kaži ielleh-järilleh.

Tallendammo File men'us ohjelman ielleh kehitettäväkse, hos nimel robo1.bs.

Etappu 2. Robottu kävelöy leviembäldi piä ylähpäi

Kuvan 2 tilandeh on vie loitton Kuvan 1 tavoittehes. Allammo kahtel muutoksel:
- piirrämmö Scratch-kažin sijah oman robottu-otuksen
- panemmo robotan kävelemäh leviembäldi yli reunangi suundua vaihtamah. - robottu libuu hurahpäi pystyi, ei muurin

Robotan piirdämizekse avuammo ohjelman robo1.bs da ohjelmoindualovehen piäl valličemmo Costumes da ielleh edit, kačo Kuvua 3. Piirrämmö robotan harpavusazendoh. (Myöhembi kävelyn todevutandas tarvičemmo toizen "sovan", kus robottu siirdäy jalgua toizen edeh.)

Kuva 3. Robotan piirdämine.

Oigienpuolizes kuvas ozutetah pyhkindy- da piirrändybrujat.

Kuva 4. Robottu libuu kahteh suundah piä ylähpäi.

Kiännyndäs piätämmö, emmo reunukosketukse a koordinuatan mugah. Suunnan muuttamizekse emmo kiännä robottua, a muutamme askelpiduhuon oigies kiännöskohtas negatiivizekse, juras kiännöskohtas pozitiivizekse. Nenga robottu "kävelöy" oigielpäi hurah tagaperin. Tallendammo ohjelman nimel robo2.sb.

Etappu 3. Kävelemine nenä edehpäi

Paha on kävellä tagaperin. Sendäh menemmö piirrändyohjelmah Kuvan 3 tabah. Kopiruičemmo toizen sovan huran kuvan Copy nybläl. Siirrymmö koupieh da menemmö edittorah. Edittoran ylärivil on nybly, kudamas D kaččou iččiedäh zirkalos. Sidä painaldamal robottu muuttuu hurah kaččojakse. Ohjelmas panemno robotan kävelemäh oigieh enzimäzes sovas da hurah toizes sovas.

Kuva 5. Robotal on ainos nenä edehpäi.

Tämän tallendammo nimel robo3.sb.

Etappu 4. Robottu opastuu siirdämäh jalgua toizen edeh

Tässah meijän robottu ei ole kävellyh, se on libunuh mollemmat jallat muas. On aigu oigiesti opastuo kävelemäh. Kuibo ristikanzu libo humanoidurobottu kävelöy? Siirdämäl jalgua jallan edeh. Ku siirdymine ekruanal ozuttas kävelyle, pidäy harpavusten välis nägyö vihjavus jallan siirros. Sih niškoi pidäy piirdiä robotas jallansiirdokuva, kudamua ozutetah harpavuskuvien välis. Yhten jallansiirron da harpavuksen jälgeh edujalgu muuttuu tagajallakse. Äijängo kuvua pidäy siirdiä? Minun kuvas ekruanal harpavuskuvas kadupiäs kandupiäh on 11 mm da estruadan levevys on 90 mm. Sendäh siirdomatku on (11/90)*480=58, yhten kuvan aijannu 29 pikselua. Proubuiččemal voi siädiä, mi ozutahes parahal. Ohjelman lougiekku ei muite muutu, nygöi vaiku pidäy lizätä harpavuksien välih jallansiirrot, oigieh da hurah mennes. Jallansiirdokuvan voi piirdiä muuttamal harpavuskuvua sih tabah kui Etapas 2 nevvottih. Konzu mollembat jallat ollah piän al, piädy pidäs nostua korgiembale, jallat eihäi välil lyhetä!

Kuva 6. Robottu kävelöy.

Tämän tallendammo tiijostoh robo4.sb.

Etappu 5. Kaksi robottua kävelöy

Projektan kuvavukses sanottih, ku robottoi on kaksi. Meil meni kodvaine aigua yhten robotan kazvattamizeh. Toizen robotan kloniiruičemmo. Avuammo ohjelman robo4.sb.

Kuva 7. Otuksen (Sprite) kopiruičendu.

Viemäl hiiri otuksen (Sprite) piäle da painandamal hiiren oigiedu nybliä, lövvämmö copy käskyn. Se kopiruiččou otuksen skriptanke. (Ku ezmäi ollus luajittu tyhjy otus ilmai skriptua, sille voi luadie skriptan avuamal toine otus, viemäl hiiri sen skriptan libo skriptan ozan piäle, da vedämäl se tämän otuksen piäle.) Nygöi meil on kaksi identtisty robottua. Ku net eroituttas, väritämmö uvven robotan Etapas 2 ozutetul mualuandubrujal. Pidäy vie luadie pikkaraine muutos skriptoih. Robotat pannah liikkehele käskemäl robottua 1. Se työndäy käskyl (broadcast (go)) se ilmoittau liikkehele lähtendäs. Robotan 2 skriptan allus olijan käsky (when I receive (go)) vuoh robottu 2 lähtöy matkah. Pidäy vie huomata yksi šeikku. Kopiruičendan periä muuttuju d1 on yhtehine. Sendäh mollembat robotat kiännytäh joga kerral ku toine tulou reunah! Robotan 2 skriptas pidäy muuttua d1:n paikale uuzi muuttuju d2. Tallendammo tämän ohjelman nimel robo5.sb.

Kuva 8. Kaksi robottua kävelöy.

Etappu 6. Robotat tervehtitäh

Tervehtindän aktivoiččou lähäl tulendu. Sih niškoi Scratchas on funktsii (distance to (Sprite)). Ku se rodinou rajua d1 (libo d2) pienembäkse, pidäy tervehtie da kiändyö. Robotan 1 välimatku robottah 2 on sama kui robotan 2 välimatku robottah 1. Kumbaine tervehtiy ezmäi, sen arbomizekse kiännökseh lizätäh vie (set (kudai) to (pick random (1) to (2))). Arbondan tulos työnnetäh toizellegi. Sendäh mollembat tiedät, kudai tervehtiy da kudai vastuau enzi kerral.