Skip to content

Commit eaca0d1

Browse files
authored
Merge pull request #1675 from marikisfoss/8
Kodetimen - Lag ditt eget spill! Kaos på kodefabrikken.
2 parents c1fbbf3 + c281284 commit eaca0d1

File tree

4 files changed

+207
-0
lines changed

4 files changed

+207
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
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+
![Bildebeskrivelse](./screenshot-2024-11-28-at-11.png)
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.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: 'Kodetimen - Lag ditt eget spill! Kaos på kodefabrikken. '
3+
author: marikisfoss
4+
language: nb
5+
---
6+
7+
8+
# Oppgave: Lag ditt eget spill – Kaos på robotfabrikken! {.intro}
9+
10+
**Scenario:**
11+
Robotfabrikken er i trøbbel! Produksjonsrobotene har gått amok, og fabrikken er full av ødelagte maskiner som spruter gnister og flammer.
12+
13+
14+
Nå skal du få bruke fantasien og programmeringsferdighetene dine til å lage dette spillet helt fra bunnen av. 🚀
15+
I denne oppgaven får du instruksjoner om hva de ulike figurene skal programmeres til å gjøre for å lage spillet. Dersom du står fast, kan du sjekke ut fasiten i **lærerveiledningen**.
16+
17+
![Bildebeskrivelse](./screenshot-2024-11-28-at-11.png)
18+
19+
20+
# Beskrivelse av spillet du skal lage{.activity}
21+
22+
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.
23+
24+
Men vær forsiktig! Dersom roboten krasjer i fabrikkens vegger, taper spilleren. Spilleren mister også poeng hvis roboten treffer flammer eller gnister.
25+
26+
Målet er å samle alle delene uten å miste for mange poeng!
27+
28+
# Steg 2: Åpne prosjektet i scratch{.activity}
29+
Åpne dette scratchprosjektet for å få tilgang til bakgrunn og ulike figurer som du skal programmere:
30+
[https://scratch.mit.edu/projects/1100091878](https://scratch.mit.edu/projects/1100091878)
31+
32+
# Steg 3: Programmer roboten {.activity}
33+
34+
- [ ] Når spillet skal starte skal roboten `gå til x og y-koordinatene`{.blockmotion} til inngangen til robotfabrikken.
35+
- [ ] Når spillet skal starte må `poengene`{.blockdata} settes til 0
36+
- [ ] 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.
37+
- [ ] Roboten skal programmeres til å `kontinuerlig`{.blockcontrol} styres på `x og y aksen`{.blockmotion} ved hjelp av `pilene`{.blocksensing}; høyre, venstre, opp og ned.
38+
- [ ] 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.
39+
- [ ] Dersom roboten kommer i kontakt med figurene **Gnister** eller **Flammer** skal du miste **`ett poeng`{.blockdata}**.
40+
41+
## Hint: {.protip}
42+
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.
43+
44+
45+
# Steg 2: Programmer "GAME OVER" {.activity}
46+
47+
- [ ] Programmer figuren til å skjules fra start.
48+
- [ ] Når roboten sender "Game over"-meldingen, skal figuren dukke opp igjen.
49+
50+
# Steg 3: Programmer flammene og gnistene {.activity}
51+
- [ ] 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.
52+
- [ ] Hver figur skal skjules fra start
53+
- [ ] 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.
54+
- [ ] 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!
55+
- [ ] Før koden er ferdig må du også legge inn en kloss som `skjuler`{.blocklooks} figuren igjen.
56+
57+
- [ ] Gjenta dette for alle figurene.
58+
59+
## Test programmet! {.flag}
60+
- [ ] Dukker de ulike figurene opp på bakgrunnen til ulike tider?
61+
62+
- [ ] Endrer de størrelse så de ser animert ut?
63+
64+
# Steg 4: Programmer verktøy og robotdelene {.activity}
65+
- [ ] Figurene skal vises fra start
66+
- [ ] 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!
67+
- [ ] Når Fixitron har kommet i kontakt med figurene, skal figuren `skjules`{.blocklooks} og `poengene skal øke med 1`{.blockdata}.
68+
- [ ] 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}.
69+
- [ ] Disse kodene skal legges inn for hver figur!
70+
71+
72+
73+
74+
## Test prosjektet {.flag}
75+
76+
**Klikk på det grønne flagget.** / **Start prosjektet for å teste koden så
77+
langt.**
78+
79+
**Når spillet er helt ferdig skal dette være på plass:**
80+
81+
- [ ] Du skal kontrollere Fixitron med piltastene
82+
83+
- [ ] Fixitron skal kunne plukke opp verktøy og få poeng per verktøy plukket opp
84+
- [ ] Det skal dukke opp gnister og flammer på ulike steder til ulik tid
85+
- [ ] Du skal miste poeng når du kommer i kontakt med flammer og gnister
86+
87+
- [ ] Få opp GAME OVER når du krasjer i vegger og taper spillet.
88+
89+
90+
91+
## Lagre spillet {.save}
92+
93+
94+
Husk å lagre spillet/programmet ditt. Når du er ferdig kan du klikke på "Legg
95+
ut"-knappen. Da vil det bli lagt ut på Scratch-hjemmesiden din slik at du enkelt
96+
kan dele det med familien og vennene dine.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
level: 3
2+
license: CC BY-SA 4.0
3+
tags:
4+
topic:
5+
- block_based
6+
- game
7+
- step_based
8+
subject:
9+
- mathematics
10+
- science
11+
- programming
12+
- technology
13+
grade:
14+
- junior

0 commit comments

Comments
 (0)