
Kontrol i Scratch bruges når vi skal kontrollere noget. Det kan fx være, hvis vi skal hoppe ud af et loop eller hvis en sprite skal noget nyt i spillet. Kontrol er altså som ordet antyder, når vi kontrollere noget i spillet 🙂
Vent (x) sekunder

I nærværende eksempel siger katten først “Hej med jer!” og venter i 5 sekunder. Derefter siger den “Hyggeligt at møde jer!”.
Scratch læser altså vores koder fra toppen ned mod bunden.


Gentag 10 gange

Gentag 10 gange, siger til Scratch at den skal gentage den samme handling ti gange. Du kan altid ændre tallet 10 til et andet. Enten lavere eller højere.

I nærværende eksmepel gentager Scratch den samme handling ti gange. Dvs at vores sprite går 10 trin og venter 1 sekund. Derefter går spriten 10 trin igen og venter en gang til i 1 sekund. Sådan bliver spriten altså ved ti gange.
Vi har med andre ord lavet et loop, som looper 10 omgange.
For evigt

I modsætning til ovenstående kodeblok om gentag (x) gange, så er dette loop et evighedsloop. Så her bliver vores sprite altså ved med at gå 10 trin, vente 1 sekund, og gentage den samme bevægelse igen og igen.

Hvis < > så
Bemærk at dette eksempel kræver kendskab til operatorer og registrering.

Inden for programmering kalder man også disse for if-statements. Dvs at hvis der sker noget så skal programmet opføre sig på en ny måde.
I dette eksemepl bruger jeg operatoren “(x) = (x)” og “Bed om (x)” fra registrering. Se på menuen om disse to blokke, hvis du endnu ikke kender dem.

I følgende eksempel spørger vores sprite os om resultatet af regnestykket 2 + 2. Hvis vi svare 4 vil spriten sige “Jubii!” i 2 sekunder. Svare vi derimod ikke 4, vil spriten ikke sige “Jubii!”.
4 er altså adgangen til denne kode, da Scratch ellers ikke vil læse den for os.

Vi svare 4, og spriten siger “Jubii!”. Tillykke, du har lavet dit første statement i et program – det er en stor ting!

Statements fylder meget i programmering med Scratch. Så øv dig derfor en masse i dem.
Prøv også at svare forkert og se hvad der sker. Får du noget svar?
Hvis < > så ellers

Hvad nu, hvis vi gerne vil lave en besked til brugeren, hvis han/hun ikke svare rigtigt på 2 + 2 og skriver 4. I så fald kunne vi bruge blokken “hvis < > så ellers”.


Jeg skriver nu 90 og ikke 4. Vi kan se at programmet ikke læser koden med “Jubii!” men i stedet springer hen til koden, der siger “Øv, det var desværre forket!”

Ps. Det gik lidt hurtigt, og jeg kan se at jeg har skrevet forkert forket. Prøv at lave en, hvor forkert står skrevet korrekt.
Vent indtil < >

Denne blok fungere ligesom “hvis < > så”. Der skal altså ske noget før vores sprite gider at lave noget.
I nærværende eksempel beder vi brugeren om, at skrive et tal der er højere end 5. Derefter siger spriten “Korrekt”.

Vi skriver her 55 og sendes videre ned til blokken der siger “Korrekt!”.

Gentag indtil < >

Gentag indtil er et loop. Man kan fx loope 50 gange den samme lyd med et halvt sekunds pause.

I dette eksempel har vi sat en variabel til at indeholde tilfældige tal mellem 1 og 40.
Så længe variablens tal er over 15 vil vi ikke spille lyden af Meow. Men når tallet er under 15 bliver den afspillet og programmet stopper.

I det sidste eksempel har jeg benyttet et evighedsloop. Herefter indsat variablet med de tilfældige tal fra 1 – 100. Derefter indsætter jeg blokken “vent 2 sekunder”. Jeg vælger at benytte denne blok, fordi vi så bedre kan se, hvordan programmet hele tiden laver et nyt loop og kommer med nye tal, så længe de er over 15.
Når tallet er under 15 bliver lyden af “meow” afspillet og evighedsloppet stopper.
Stop <alle>

Blokken “stop alle” stopper vores loop. Du vil møde denne form for stop af loop, hvis du senere vil prøver andre programmeringssprog af. Her kalder man dem bare for break conditions.

I nærværende eksempel glider vores sprite rundt lige så længe, at det tilfældige tal i variablen er højere end 15.
Når tallet ikke er højere end 15, stopper loopet.
Opret en klon (af mig selv)

Opret en klon af mig selv-blokken er en rigtig spændende funktion af benytte i et program, fordi den lade os klone sprites i stedet for at vi skulle oprette nye.
Det spare både hukommelse, og så gør det ikke mindst vores programmer langt mere overskuelige.

I nærværende eksempel kloner vi vores sprite for hver gang vi trykker på mellemrumstasten.

Når jeg starter som klon

I dette eksempel lader vi vores sprite klone og gå til en tilfældig position, samt skifte farve.
Husk at en klon altså fordobles. Man får derfor ret hurtigt mange kloner. Regnestykket er: 1 sprite klones: 1 + 1 = 2 sprites. 2 klones: 2 + 2 = 4. 4 klones: 4 + 4 = 8. 8 klones: 8 + 8 = 16. Dvs: [n + 1 = klon1, n + 2 = klon2… [


Slet denne klon

Slet denne klon, sletter klonen. Det kan fx være nyttigt, hvis vi ikke ønsker så mange kopier som i ovenstående eksempel, hvor de blev fordoblet.
I modsætning til n + 1 = 2 kloner, er matematikken nu: n – 1 = 1 klon. Sådan fortsætter det med hele tiden kun at blive til en klon for hver gang vi trykker på mellemrum.

Fortsætter du med at programmere vil dette også være en teknik, som er brugt. Nogle taler fx om hierakiske træer, hvor man har en forælder(parent) som i dette tilfælde er vores sprite, mens klonerne er børn(children). På den måde kan man se det som et lille familietræ, man får bygget op.