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?
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:
bruke programmering til å utforske naturfaglige fenomener
bruke og lage modeller for å forutsi eller beskrive naturfaglige prosesser og systemer og gjøre rede for modellenes styrker og begrensinger
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:
Justerbar prosentvis sjanse for bevegelse ved start.
Justerbar prosentvis sjanse for smitte ved nærkontakt.
Immunitet etter 20 sekunder med sykdom.
Kontinuerlig opptelling av antall friske, syke og immune.
Antall friske, syke og immune skrives til konsoll for eksport til Excel e.l.
Utfordring (avansert):
Legg inn dødelighet. At man enten dør eller blir immun ved sykdom.
Justerbar prosentvis sjanse for at en syk blir oppdaget og satt i "karantene".
Lage én eller flere "sykepleiere" som beveger seg rundt og "vaksinerer".
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
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: