esmaspäev, 7. november 2016

Joonejärgija mäng

Järgmiseks loome mängu, kus nooleklahvidega tuleb tegelast mööda kindla värviga joont liigutada. Joonelt väljaminek või joone ääre puutumine tähendab automaatselt alguspunkti tagasiminekut.

Kui jätkad eelmisel tunnil tehtud parooliküsimise skriptiga, siis peale õige parooli sisestamist peaks skript saatma välja teate, mis vahetaks tausta joonemängule sobivaks ja annaks spraidile teada, et nüüd peab hakkama liikuma.

1. Uue tausta joonistamine


Selleks vali "Lava" ja siis kesmiselt menüüribalt "Taustad". Pliiatsi märgil klõpsates saad luua uue tühja tausta ja siis joonistusvahendeid kasutades sinna ühe joone joonistada.
NB! Tee joon piisavalt paks, et sinu tegelane mahuks seal liikuma!

Nipp! Tegelast on võimalik ka väiksemaks muuta. Selleks võid lisada näiteks tegelase skripti näiteks mängu alustamise teate järele välimuse ploki

Nüüd peaks sul olema 2 tausta. Üks kindlasti see, millel on joon.

2. Lava programmeerimine (taustavahetus).

Lisa Lavale skript, mis võtaks mängu alustades (klõps rohelisel lipul) ette ilma jooneta nö avatausta ja teate saamise peale (sama teade, mis spraidi skriptis peale õige parooli sisestamist käivitab mängu) võtab taustaks joone.

3. Spraidi (tegelane) programmeerimine nooleklahvidega liikuma ja värvile reageerima.

Tegelane peaks teate saades (või mängu alguses) minema laval kindlasse punkti (joone algusesse). Hiirega saad laval spraidi sobivasse kohta nihutada ja siis liikumise plokist õige käsu võtta (koordinaate saad valgetes avaustes muuta).

Edasi tuleb programmeerida tegelase liikumine klahvivajutuse peale. Oled seda ka varasemalt teinud, aga siis programmeerisime kõik klahvivajutused eraldi. Nüüd aga vaatame, kuidas saaks kõik klahvivajutused ühte skripti kokku panna.

Selleks tuleks leida menüüst üles plokk "Andurid". Täna läheb vaja sealt kahte plokki - esmalt "klahv tühik on all?" ja siis ka "puudutab värvi".

Järgmiseks programmeerimine tegelase liikumist nii, et kui nooleklahv "ülesnool" on all, siis liigub tegelane üles.
Lõputu korduse sisse on vaja see tingimus panna selleks, et programm teaks, mis tegevust ta seni kuni klahvi all hoitakse, tegema peab.
Proovi nüüd sarnaselt programmeerida ka alla, vasakule ja paremale liikumine! Tuleta meelde, et parem-vasak liikumise puhul muutus x-koordinaat! Pane kõik plokid lõpmatu korduse sisse!
Värvile reageerimine

Järgmiseks oleks vaja, et kohe kui tegelane rajalt ära läheb, satuks ta tagasi alguspunkti. Selleks kasutame teist andurit - "puudutab värvi ...". Värvi valimiseks klõpsa anduriklotsil oleval värvikastil ning edasi laval vastavalt värvil, millele sprait peab reageerima (näitepildil on selleks roheline värv).

Ka see tingimus tuleb lisada lõpmatu korduse ploki sisse, sest me tahame ju, et tingimust kontrollitakse igal võimalikul hetkel.

Joonemängu skript tervikuna võiks välja näha selline: