Spring til indhold
8-12 år Øvet ⏱ 60-90 minutter

Lav et flappy-spil i Scratch – flyv papegøjen gennem rørene

Tryk på mellemrumstasten, så flakser papegøjen op. Slip, så falder den. Kan du styre den gennem hullerne i rørene? Du lærer kloner, tilfældige tal og at opdage sammenstød.

🏅 Lav et diplom
Illustration af en retro arkademaskine

I dette spil styrer du en papegøje, der hele tiden falder lidt. Når du trykker på mellemrumstasten, flakser den op. Fra højre kommer der rør med et hul i. Flyver du gennem hullet, får du et point. Rammer du et rør eller kanten, er spillet slut.

Før du starter

Gå ind på scratch.mit.edu, og klik på Find på. Du kan kode uden konto og gemme projektet med Fil → Gem på din computer. Scratch kalder figurerne for sprites. Brikkerne nedenfor hedder det samme som i Scratch, når Scratch er sat til dansk.

Tegn rørene

  1. Slet katten: højreklik på den under scenen, og vælg slet. Klik på Vælg en baggrund nederst til højre, og vælg Blue Sky.
  2. Hold musen over Vælg en sprite, og klik på penslen, der hedder Tegn. Skriv Rør i feltet Sprite under scenen.
  3. Nu er du på fanen Kostumer. Vælg Rektangel, og vælg en farve under Fyld. Tegn et højt, smalt rektangel fra toppen af tegnefladen og ned mod midten. Det er det øverste rør.
  4. Klik på Kopier og derefter på Sæt ind. Træk kopien ned, så den går fra lidt under midten og helt ned til bunden af tegnefladen. Nu er der et hul midt på tegnefladen. Gør hullet cirka dobbelt så højt, som røret er bredt. Du kan altid gøre det mindre senere.

Få rørene til at glide

Klik på fanen Kode, og byg de to scripts herunder til Rør. Det første script gør det rigtige rør usynligt og laver en kopi af det hvert andet sekund. Sådan en kopi hedder en klon. Det andet script styrer hver klon: Den dukker op i højre side, glider over til venstre og bliver slettet igen.

når der klikkes på (grønt flag)
sæt størrelse til 200 %
skjul
for evigt
    opret en klon af (mig selv)
    vent 2 sekunder

når jeg starter som klon
vis
gå til x: 240 y: (vælg tilfældigt mellem -80 og 80)
glid 4 sekunder til x: -240 y: (y position)
slet denne klon

vælg tilfældigt mellem -80 og 80 ligger under Operatorer, og y position ligger under Bevægelse. Hver klon får sin egen tilfældige højde. Fordi den glider til sin egen y position, bliver den i samme højde hele vejen. Rørene bliver vist i 200 %, så de er dobbelt så store på scenen, som du tegnede dem – derfor når de helt ud over kanten. Klik på det grønne flag: Nu kommer der rør med huller i forskellige højder. Stop dem med den røde stopknap.

Papegøjen

  1. Klik på Vælg en sprite, og søg efter Parrot. Skriv Papegøje i feltet Sprite.
  2. Byg det første script herunder til Papegøje. Papegøjen bliver lille, starter lidt til venstre for midten og falder 3 trin ad gangen – for evigt.
  3. Papegøjen har to kostumer: parrot-a med vingerne oppe og parrot-b med vingerne nede. Byg det andet script. Når du trykker på mellemrum, slår vingerne ned, og papegøjen flyver 30 trin op. Så kommer vingerne op igen, mens den flyver 30 trin mere.
når der klikkes på (grønt flag)
sæt størrelse til 25 %
gå til x: -50 y: 0
for evigt
    ændre y med -3
når du trykker på (mellemrum)
skift kostume til parrot-b
gentag 5 gange
    ændre y med 6
skift kostume til parrot-a
gentag 5 gange
    ændre y med 6

Prøv det! Papegøjen falder, og hver gang du trykker på mellemrumstasten, flakser den op. Men der sker ikke noget, når den rammer et rør. Det laver du nu.

Sammenstød

  1. Vælg Papegøje, og klik på fanen Lyde og derefter på Vælg en lyd. Søg efter Screech, og vælg den.
  2. Lav en ny besked: Klik på Hændelser, klik på pilen i brikken send besked1, vælg Ny besked, og skriv slut.
  3. Byg scriptet herunder til Papegøje. Det venter, indtil papegøjen rører et rør eller kanten af scenen. Så skriger papegøjen, siger, at spillet er slut, sender beskeden slut og stopper sine andre scripts, så den holder op med at falde.
når der klikkes på (grønt flag)
gå til x: -50 y: 0
vent indtil <<berører (Rør)?> eller <berører (kant)?>>
spil lyden (Screech)
sig [Av! Spillet er slut.]
send (slut)
stop (andre scripts i sprite)

Den første brik, gå til x: -50 y: 0, er vigtig. Rørte papegøjen kanten, da sidste spil sluttede, ville den stadig røre kanten, når du klikker på det grønne flag – og så kunne spillet slutte med det samme. Nu flytter den sig først hen på sin startplads.

Vælg Rør, og giv det scriptet herunder. Både det rigtige rør og alle klonerne får beskeden, så alle rørene stopper, hvor de er.

når jeg modtager (slut)
stop (andre scripts i sprite)

Point

  1. Klik på Variabler og Lav en variabel. Kald den point, og lad den være For alle sprites.
  2. Vælg Rør. Sæt brikken sæt point til 0 ind lige under når der klikkes på (grønt flag) i det første script, så hvert spil starter med 0 point.
  3. Byg scriptet herunder til Rør. Hver klon venter, indtil papegøjen er længere til højre end klonen selv – altså når papegøjen er kommet forbi røret. Så får du et point. Rør har allerede lyden pop, fordi du har tegnet spriten selv.
når jeg starter som klon
vent indtil <([x position] af (Papegøje)) > (x position)>
ændre point med 1
spil lyden (pop)

Brikken [x position] af (Papegøje) ligger under Registrering. Vælg først Papegøje i menuen til højre og så x position i menuen til venstre. Den anden x position ligger under Bevægelse – det er klonens egen.

Prøv det

Klik på det grønne flag, og flyv! Hvor mange point kan du få?

💡 Er spillet for svært eller for nemt? Gør hullet i rørene større eller mindre under Kostumer. Lad rørene glide langsommere ved at skrive 5 i stedet for 4 i glid … sekunder, eller lad papegøjen falde langsommere med ændre y med -2.

💡 Til forældre: Scratch er gratis og kan bruges uden konto. Vil barnet gemme og dele online, skal det have en konto, og er barnet ungt, skal en forælder godkende den.

Vil du lave flere spil i Scratch? Prøv fangespillet eller raket-simulatoren, hvor tyngdekraften også trækker nedad. Vil du lære Scratch fra bunden, så tag forløbet Kom i gang med Scratch.

🧠 Udfordring – prøv selv

Lav en rekord, der husker dit bedste spil. Lav en variabel mere, der hedder rekord. Når spillet slutter, skal papegøjen tjekke, om point er større end rekord – og i så fald sætte rekord til point. Tip: Sæt "hvis <(point) > (rekord)> så → sæt rekord til (point)" ind i sammenstøds-scriptet lige før "send (slut)". Rekorden bliver ikke nulstillet, når du klikker på det grønne flag.

Se dit kodepas →

Fluebenet gemmes kun i din browser og samler stempler i dit kodepas.

👩‍🏫 Til læreren – brug projektet i undervisningen
Fag
Matematik, Natur/teknologi
Klassetrin
4.–6. klasse
Tid
2-3 lektioner à 45 min
Teknologiforståelse
Computationel tankegang, Teknologisk handleevne, Digital design og designprocesser

Læringsmål

  • Eleverne kan bruge kloner til at lave mange kopier af den samme figur og forklare, hvorfor det er smartere end at lave mange figurer.
  • Eleverne kan bruge tilfældige tal og koordinater til at placere rørene forskellige steder.
  • Eleverne kan bruge beskeder til at få to figurer til at arbejde sammen, fx når spillet slutter.
  • Eleverne kan finde og rette en fejl i spillet ved at teste det systematisk.

Forberedelse og materialer

  • En computer med browser og tastatur pr. elev eller pr. makkerpar. Spillet styres med mellemrumstasten, så tablets uden tastatur er ikke ideelle.
  • Afprøv scratch.mit.edu på skolens netværk, og lav selv projektet én gang.
  • Eleverne kan arbejde uden konto og gemme projektet som en fil på computeren. Skal I gemme online, kan læreren søge om en Scratch-lærerkonto og oprette elevkonti uden elevernes e-mail.
  • Vis evt. et kendt flappy-spil på storskærm, og tal om, hvad der sker i det.

Forslag til forløb

  • Opvarmning (10 min): Hvad sker der i et flappy-spil? Skriv reglerne på tavlen som hvis-så-sætninger: Hvis man trykker, hopper fuglen. Hvis den rammer et rør, er spillet slut.
  • Rørene (30 min): Eleverne følger "Tegn rørene" og "Få rørene til at glide" og laver kloner, der glider fra højre mod venstre i tilfældig højde.
  • Papegøjen (25 min): Eleverne laver tyngdekraft og hop med mellemrumstasten.
  • Sammenstød og point (30 min): Eleverne får spillet til at slutte ved sammenstød og tæller point for hvert rør.
  • Test og opsamling (25 min): Makkerparrene spiller hinandens spil og giver ét forslag. Fælles snak: Hvor bruger spillet kloner, tilfældighed og beskeder?

Differentiering

  • Hvis det går hurtigt: Eleverne laver en rekord, der huskes mellem spil (projektets udfordring), eller gør spillet sværere, jo flere point man har.
  • Hvis det driller: Lad eleverne få rørene til at virke, før de går videre til papegøjen. Gør hullet mellem rørene større, så spillet er lettere at teste.

Spørgsmål til samtale

  • Hvorfor er det smart, at alle rørene er kloner af den samme figur? Hvad skulle I ellers have gjort?
  • Hvordan påvirker tilfældigheden, om spillet er sjovt eller frustrerende?
  • Mange spil er lavet, så man får lyst til at spille én gang til. Hvordan gør spillene det, og er det altid i orden?

Lærerarket er vejledende og skrevet af CodingKids. Se også EMU's materialer om teknologiforståelse.

Oversat og bearbejdet af CodingKids efter et projekt fra Raspberry Pi Foundation. Ændret: dansk tekst og danske bloknavne, spritene hedder Rør og Papegøje, og papegøjen går til sin startplads, før spillet holder øje med sammenstød. Original: Flappy parrot. Denne side deles under licensen CC BY-SA 4.0.