|
| 1 | +--- |
| 2 | +title: 'Kodetimen - Lag ditt eget spill! Kaos på kodefabrikken. ' |
| 3 | +author: marikisfoss |
| 4 | +language: nb |
| 5 | +--- |
| 6 | +# Oppgave: Lag ditt eget spill – Kaos på robotfabrikken! {.intro} |
| 7 | + |
| 8 | +**Scenario:** |
| 9 | +Robotfabrikken er i trøbbel! Produksjonsrobotene har gått amok, og fabrikken er full av ødelagte maskiner som spruter gnister og flammer. |
| 10 | + |
| 11 | + |
| 12 | +Nå skal du få bruke fantasien og programmeringsferdighetene dine til å lage dette spillet helt fra bunnen av. 🚀 |
| 13 | +I denne oppgaven får du instruksjoner om hva de ulike figurene skal programmeres til å gjøre for å lage spillet. |
| 14 | + |
| 15 | +Her kan dere se fasiten på hvordan spillets koder er bygget opp: [https://scratch.mit.edu/projects/1103337943](https://scratch.mit.edu/projects/1103337943) |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | +# Beskrivelse av spillet du skal lage{.activity} |
| 22 | + |
| 23 | +Din oppgave er å lage et spill i Scratch der spilleren styrer en robot som skal samle inn 20 verktøy og robotdeler for å rydde opp i kaoset. |
| 24 | + |
| 25 | +Men vær forsiktig! Dersom roboten krasjer i fabrikkens vegger, taper spilleren. Spilleren mister også poeng hvis roboten treffer flammer eller gnister. |
| 26 | + |
| 27 | +Målet er å samle alle delene uten å miste for mange poeng! |
| 28 | + |
| 29 | +# Steg 2: Åpne prosjektet i scratch{.activity} |
| 30 | +Åpne dette scratchprosjektet for å få tilgang til bakgrunn og ulike figurer som du skal programmere: |
| 31 | +[https://scratch.mit.edu/projects/1100091878](https://scratch.mit.edu/projects/1100091878) |
| 32 | + |
| 33 | +# Steg 3: Programmer roboten {.activity} |
| 34 | + |
| 35 | +- [ ] Når spillet skal starte skal roboten `gå til x og y-koordinatene`{.blockmotion} til inngangen til robotfabrikken. |
| 36 | +- [ ] Når spillet skal starte må `poengene`{.blockdata} settes til 0 |
| 37 | +- [ ] Husk å legg inn en `send melding (start spill)`{.blockevents}-kloss som aktiverer scriptet som trigger poengtap når figuren kommer i kontakt med flammene og gnistene. |
| 38 | +- [ ] Roboten skal programmeres til å `kontinuerlig`{.blockcontrol} styres på `x og y aksen`{.blockmotion} ved hjelp av `pilene`{.blocksensing}; høyre, venstre, opp og ned. |
| 39 | +- [ ] Dersom roboten kommer i kontakt med figurene **vegg1**, **vegg2** og **vegg3** skal figuren **GAME OVER** dukke opp på skjermen og spillet skal **`stoppe`{.blockcontrol}** å fungere. |
| 40 | +- [ ] Dersom roboten kommer i kontakt med figurene **Gnister** eller **Flammer** skal du miste **`ett poeng`{.blockdata}**. |
| 41 | + |
| 42 | +## Hint: {.protip} |
| 43 | +Robotens program skal ha to rader med koder: en rad som setter poengene til 0, som styrer robotens plassering, robotens bevegelser, hva som skjer når roboten krasjer i veggene og som starter den neste raden med kode. Og en rad som trigges av "Start spill" og som styrer poengtapet når roboter kommer i kontakt med flammene og gnistene. |
| 44 | + |
| 45 | + |
| 46 | +# Steg 2: Programmer "GAME OVER" {.activity} |
| 47 | + |
| 48 | +- [ ] Programmer figuren til å skjules fra start. |
| 49 | +- [ ] Når roboten sender "Game over"-meldingen, skal figuren dukke opp igjen. |
| 50 | + |
| 51 | +# Steg 3: Programmer flammene og gnistene {.activity} |
| 52 | +- [ ] Opprett kopier av figurene så du har **3 flammer** og **4 gnister**. Disse plasseres på ulike steder i fabrikken. Juster gjerne størrelsen på figurene så det blir mer realistisk og vanskeligere å komme unna. |
| 53 | +- [ ] Hver figur skal skjules fra start |
| 54 | +- [ ] I en `gjenta for alltid`{.blockcontrol}-loop skal du legge inn antall sekunder det tar før figuren skal dukke opp igjen. Dette skal være ulikt for hver figur, så ikke alle dukker opp samtidig. |
| 55 | +- [ ] Deretter skal figuren `vises`{.blocklooks} igjen, og `endre størrelse`{.blocklooks} opp og ned noen piksler så det ser ut som om figuren pulserer. Husk å legge inn noen pauseklosser i koden, så animasjonen ikke er for rask! |
| 56 | +- [ ] Før koden er ferdig må du også legge inn en kloss som `skjuler`{.blocklooks} figuren igjen. |
| 57 | + |
| 58 | +- [ ] Gjenta dette for alle figurene. |
| 59 | + |
| 60 | +## Test programmet! {.flag} |
| 61 | +- [ ] Dukker de ulike figurene opp på bakgrunnen til ulike tider? |
| 62 | + |
| 63 | +- [ ] Endrer de størrelse så de ser animert ut? |
| 64 | + |
| 65 | +# Steg 4: Programmer verktøy og robotdelene {.activity} |
| 66 | +- [ ] Figurene skal vises fra start |
| 67 | +- [ ] Figurene skal `vente til`{.blockevents} de `berører Fixitron`{.blocksensing} før de `starter en lyd`{.blocksound} (dette kan være en metallisk lyd, eller en boing-lyd eller noe helt annet. Du bestemmer, det er ditt spill! |
| 68 | +- [ ] Når Fixitron har kommet i kontakt med figurene, skal figuren `skjules`{.blocklooks} og `poengene skal øke med 1`{.blockdata}. |
| 69 | +- [ ] For at det skal være enklere å se de ulike figurene er det fint å legge inn litt bevegelse! Legg inn et script som fra start sørger for at figuren `snur seg x antall grader`{.blockmotion} `for alltid`{.blockcontrol}, eller `snur seg frem og tilbake`{.blockmotion} `for alltid`{.blockcontrol}. |
| 70 | +- [ ] Disse kodene skal legges inn for hver figur! |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | +## Test prosjektet {.flag} |
| 76 | + |
| 77 | +**Klikk på det grønne flagget.** / **Start prosjektet for å teste koden så |
| 78 | +langt.** |
| 79 | + |
| 80 | + **Når spillet er helt ferdig skal dette være på plass:** |
| 81 | + |
| 82 | +- [ ] Du skal kontrollere Fixitron med piltastene |
| 83 | + |
| 84 | +- [ ] Fixitron skal kunne plukke opp verktøy og få poeng per verktøy plukket opp |
| 85 | +- [ ] Det skal dukke opp gnister og flammer på ulike steder til ulik tid |
| 86 | +- [ ] Du skal miste poeng når du kommer i kontakt med flammer og gnister |
| 87 | + |
| 88 | +- [ ] Få opp GAME OVER når du krasjer i vegger og taper spillet. |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +## Lagre spillet {.save} |
| 93 | + |
| 94 | + |
| 95 | +Husk å lagre spillet/programmet ditt. Når du er ferdig kan du klikke på "Legg |
| 96 | +ut"-knappen. Da vil det bli lagt ut på Scratch-hjemmesiden din slik at du enkelt |
| 97 | +kan dele det med familien og vennene dine. |
0 commit comments