Spēļu veidošana Scratch
Ievads spēļu veidošanā Scratch, 4 piemēri. Autors Imants Gorbāns
3. Spēles "Angry Crab" apskats
Spēles oriģināla autors ir NickSmith, oriģināla adrese: http://scratch.mit.edu/projects/3269427/. Lai spēle nepazustu vai tajā neparādītos neparedzētas izmaiņas, kā arī lai to ar laiku latviskotu un kodā sarakstītu komentārus latviešu valodā, spēle ir remiksēta uz JDS studiju: http://scratch.mit.edu/projects/26697189/, šo versiju arī izmantosim. Ja spēle patīk, varat tās oriģināla autoram spēles komentāros ierakstīt savas atsauksmes. "Angry Crab" spēlīte ir izmantota kāda brīnišķīga programmēšanas pulciņa nodarbībās, kuru materiālus vēlāk, neobligāti varat papētīt (angļu val.): http://labs.greenbush.us/moodle/course/view.php?id=15.
Šādu spēli veidojot, droši vien lietderīgi sākt ar fona uzzīmēšanu, skat. 17. att. Šīs spēles fons ir vienkāršs- tam ir tikai 1 kostīms.
17. att. Spēles "Angry Crab" skatuves izveide.
Spēlē darbojas 7 gariņi, no tiem 5 ir ar 2 kostīmiem, tātad, var mainīt savu izskatu, 18. att.
18. att. Spēles gariņu komplekts.
Veidojot šādu spēli, pēc skatuves un gariņu izvēles vai uzzīmēšanas, nākamais darba posms ir koda veidošana un skaņu pievienošana. "Angry Crab" spēlīte zināmā mērā atgādina seno laiku mazās spēlītes, kurās ar tanku šāva pa lidmašīnām, tikai šeit vide ir simpātiskāka - dusmīgajam krabim droši vien gribas nomedīt astoņkāji, bet viņviņam š tikai cenšas tam trāpīt ar burbuļiem, un vēl tam maisās pa kājām jūras zvaigsnes un zivs.
Visvienkāršākais skripts ir skatuvei - tas rūpējas tikai par burbuļu skaņas skanēšanu fonā, skat. 19. att.
19. att. Skatuves fona skripts nodrošina fona skaņu.
Sarkano krabi vada spēlētājs ar klaviatūras 3 bultām, kā arī to ietekmē 1 saņemta ziņa, skat. 20. att. Ar horizintālajām bultām krabi var pārvietot pa kreisi vai labi, 10 pumkti ir parasta izvēle šādiem soļiem. Kad nospiež bultu uz augšu, kabis maina tērpu, bet burbuļa palaišana notiek ar burbuļa kodu.
20. att. Krabja skripts.
Otrs svarīgākais spēles dalībnieks ir zilais astoņkājis, kas samērā haotiski kustas, peldēšanu attēlojot ar savu 2 kostīmu maiņu, kā arī tas maina krāsu, ja pa to trāpa sarkanā krabja izlaistie burbuļi, 21. att. Labāka attēla kvalitāte sanāk, ja zīmē gariņu tērpus lielākā izmērā un tad samazina tos ar koda bloku "iestatīt izmēru uz 45%". Astoņkāka horizintālās pārvietošanas "pārvietot ... soļus" kodā ie ielikta nejaušība, lai spēle monotoni neatkārtojas. Cikls "nepārtraukti" liek tam visu laiku kustēties. Pirmais "if" ("ja") stāsta, ka, pēc aizpeldēšanas līdz ekrāna labajai malai, jāparādās atkal pie kreisās. Otrais "if" apraksta sadursmi ar otru gariņu "Bubbles", te būtiski, ka mainīgais "Hit?" tad tiek iestatīts uz "Yes".
21. att. Astoņkāja kods.
Pa spēles darbību laukumu visai haotiski peld 2 jūraszvaigznes un zivs, to kodi ir līdzīgi, bet vaidoti tā, lai tās nekustētos pilnīgi vienādi (22., 23., 24. att.). Šo trīs objektu kodi ir veidoti līdzīgi kā astoņkāja kods, tikai 1. jūraszvaigzne kustas pa kreisi.
22. att. 1. jūraszvaigznes kods.
23. att. 2. jūraszvaigznes kods.
24. att. Zivs kods.
Vēl spēlē piedalās lielie sarkanā krabja izlaistie burbuļi, ar kuriem tas cenšas trāpīt pa zilo astoņkāji, bet netrāpīt pa pārējām peldošajām radībām (skat. 25., 26. att.). Burbuļu gariņš paša gariņa īpašībās ir iestatīts uz neredzamu, tāpēc tā koda sākuma daļā to savieto ar krabi un padara redzamu,
25. att. Burbuļa kods.
Spēls sākumā, kad nospiests zaļais karodziņš, uz īsu brīdi parādās uzraksts "Hit the octopus!" (Noķer astoņkāji!), kas jaunam spēlētājam īsi paskaidro, kas jādara, tālāk jau spēlētājs pats saprot, ka parasti šādās spēlēs darbojas ar bultu taustiņiem, retāk- ar peli. Skatiet 26. att.
26. att. Uzraksta gariņa kods.
Spēlē ir izveidots viens mainīgais "Hit?", kas ir ieķeksēts - parāda uz ekrāna ar "Yes" vai "No" ir vai nav burbuļi trāpījuši pa astoņkāji.
27. Spēles mainīgais "Hit?".
Spēles URL: http://scratch.mit.edu/projects/26697189/.
28. att. Spēles "Angru Crab" izskats.
UZDEVUMI:
a) izpētiet spēles kodu;
b) papildiniet spēli tā, lai uz ekrāna rādītos punktu skaitīšana, saglabājot labākos datus globāli- uz Scratch servera: plusi par trāpīšanu pa astoņkāji un mīnusi - par trāpīšanu pa jūraszvaigznēm vai zivi.
c) lai lietotāji varētu sacensties, uzdodiet spēlei noteiktu izlgumu vai piedāvājiet to izvēlēties.