MakeCode Arcade

Største pluss: En enkel introduksjon til spillprogammering, i en stil som elevene liker.
Samme programmeringsplattform som Micro:bit, også her med mange gode "tutorials" på startsiden.
Ingen pålogging/GDPR-problematikk.

Største minus: Foreløpig bare på engelsk.
Appellerer erfaringsmessig noe mer til gutter enn jenter.

Her er et lite eksempel på hvordan et spill kan se ut i MakeCode Arcade.

Det er mange fine tutorials på Hjem-siden, akkurat som i Makecode for Micro:bit.

Grunnleggende spillprogrammering

Øvelse 1 Tacofredag

Vi bygger opp et enkelt spill fra bunnen av i MakeCode Arcade.


Hvor mange biter av tacoen klarer du å få i løpet av 20 sekunder?


Her kan du se hvordan spillet ser ut når det er "ferdig".

Selvstudium Energijakt

Vi tar utgangspunkt i en liten startkode for spare litt tid med oppsettet av spillet.

Denne gangen skal vi spre massevis av energi utover en øy og sjekke hvor mange vi klarer å få tak i på 20 sekunder.

Dette spillet er likt som Kodekraft-opplegget som tilbys gratis til 9. og 10. trinn. Her kan elevene (og læreren) få en totimers programmeringsøkt levert rett hjem eller inn i klasserommet via en digital undervisningsøkt med Vitenparken.

Tutorials der man kan repetere opplegget eller utvide spillet ligger på https://www.vitensenter.no/kodekraft/kodeoekt.

Slik ser spillet ut etter første tutorial, som vi skal ta for oss her.

Modelleringer / Simuleringer

Kompetansemål i naturfag etter 10. trinn:

Koronasimulatoren

Her er det også en startkode som gjør at vi kommer litt raskere i gang.

I denne øvelsen skal vi lage et enkelt program som simulerer smitte i en befolkning. Gjennom ulike utvidelser og tilpasninger kan man simulere hjemmekontor, immunitet og andre aspekter som påvirker smittespredning.

Den som vil kan klikke her for å få en mer omfattende inkludert:

Utfordring (avansert):

BONUS Simulering av lufttrykk

Startkoden i denne simuleringen setter opp en haug med partikler starter på hver sin side av en skillevegg, men denne skilleveggen fungerer ikke så bra i begynnelsen. Det skal vi fikse på. 

Når partiklene treffer veggen skal de i tillegg gi veggen et lite dytt, som skal simulere hvordan luftpartikler presser mot en ballongvegg eller tilsvarende. 

Når vi har testet og rettet småfeil, kan vi endre antall partikler og farten på partiklene på hver side for å se hvordan det påvirker ballongveggen

Klikk her for en "ferdig" versjon.

BONUS Kastesimulator

Her er en liten bonus til, nemlig en simulator som kaster objekter med samme fart men med økende vinkel for hver kast.

MakeCode ikke har noen andre måter å styre fart på enn separat i x- og y-retningen (vx og vy). Derfor må fartsvektoren, som skal være lik hele tiden, dekomponeres til vx og vy for hvert kast. Til dette kan man bruke Pytagoras, der fartsvektoren er hypotenusen, med vx og vy som de to katetene.

Lengden på hvert av "kastene" registreres når objektene treffer den grønne bakken, og resultatet skrives til konsollen for videre analyse/behandling.

Klarer elevene å bruke programmet og resultatene til å regne seg frem til den "optimale" utgangsvinkelen?

Kan man utvide programmet og leke seg med medvind/motvind? Påvirker det resultatet?

BONUS Estimere π med Monte Carlo-simulering

Monte Carlo-metoden er et verktøy man kan bruke for å simulere ulike fysiske og matematiske systemer.

I dette eksempelet bruker vi metoden for å estimere verdien av pi (π) ved å la tilfeldige prikker "regne ned" på et område med en sirkel inne i en firkant.

Ved start settes det opp en sirkel-sprite inni en firkant-sprite, og det "regner" tilfeldig ned 2500 sprites på 1x1 pixler i spillområdet.

Når "regndråpene" lander telles først de som treffer kvadrater, som skal være alle. Deretter telles hvor mange som også traff sirkelen.

Når man klikker på A-knappen, viser programmet hvor mange "regndråper" som har truffet innenfor sirkelen og innenfor kvadratet. Klikk på A én gang til for å fjerne boksen.

Når man klikker på B kommer det opp litt forklarende tekst, i tillegg til at verdien av pi regnes ut med formelen vist oppe til venstre.

Unøyaktigheten i simuleringen skyldes nok både et litt lavt antall "regndråper", samt at sirkelen på ingen måte er en perfekt sirkel.

Litt mer om matematikken bak: