Læringsblokk · Detalj
Tetris med matriser og rotasjoner
Denne læringsblokken viser modelleringen av et spillfelt som en matrise samt algoritmisk behandling av bevegelse, rotasjon og kollisjon. Didaktisk relevant er den trinnvis koblingen mellom datastruktur, tilstandlogikk og visuell implementasjon i et tydelig sporbar applikasjonskontekst.

Introduksjon (Originalt utdrag)
Didaktisk klassifisering
Subjektiv målsetting
I midten av dette modul er modelleringen av et spillfelt som en todimensjonal liste. Dette innfører et sentralt informasjonskonsept: å representere et diskret rutenett ved hjelp av en matrisestruktur. Basert på dette beskrives steiner som mindre matriser, og deres posisjon håndteres gjennom koordinater. Lærerne kobler abstrakte datamodeller til en konkret visuell representasjon i spillet. Rotasjonen av former krever en strukturert omorganisering av matriseinnholdet og gjør algoritmiske transformasjoner synlige. Forbindelsen mellom modell og implementasjon viser seg spesielt i at hver bevegelse, kollisjon og radfjerning direkte følger fra den valgte datstrukturen.
Kompetanseutvikling
- Modellering av et spillfelt som en todimensjonal liste med rutenettstruktur
- Representasjon av spilsteiner som små matriser med besatte og ubesatte celler
- Håndtering av en aktiv stein gjennom formdata og koordinater i en datstrukturen
- Implementering av bevegelseslogikk gjennom hendelsebehandling og tilstandskonverteringer i hovedløkken
- Utvikling av en kollisjonskontroll for kanter, gulv og allerede besatte felt
- Bruk av matriserotasjon som en algoritmisk transformasjon av formdata
- Analyse og behandling av fullstendige rader som et krav for poenglogikk og hastighetsjustering
Didaktisk tilleggsverdi i undervisningen
- Gradvis overgang fra datstrukturen til bevegelsesregler til utvidet spilllogikk
- Klar sekvens av oppgaver med godt skilte delproblemer innenfor fagområdet
- Fremme av systematisk tenkning gjennom gjentatt undersøkelse av tilstander og forhold
- Gjennomsiktig målrettet gjennom umiddelbare synlige effekter av hver implementeringsbeslutning
- Støtte for differensiering gjennom etterfølgende utvidelsessteg i ulike dybder
Leksjonens gang
Spillfelt som matrise og tastaturkontroll
På starten sikres spillfeltet som en matrise og utvides med grunnleggende tastaturkontroll. Oppgaven kombinerer representasjonen av rutemønsteret med oppstartende bevegelsesregler og introduserer logikken for når en stein kan falle igjen eller må genereres nyttig. Dette skaper den funksjonelle grunnlaget for alle videre spillmekanismer.
- Didaktisk fokus: matrise-modell og tilstandsbasert kontroll
- Vanlig utfordring: konsekvent testing av grensebetingelser under bevegelser
Roterende Tetrominos som matriser
I neste trinn blir ulike former innført og bearbeidet som små matriser. Rotasjonen krever en målrettet omorganisering av matriseelementene og er koblet til samme kollisions-test som bevegelse. Dette gjør det tydelig at forskjellige spillaksjoner baserer seg på felles logiske regler.
- Didaktisk fokus: matrisetransformasjon og regelkonsistens
- Vanlig utfordring: gyldig rotasjon uten å overskride spillfeltet
Sletting av rader, poeng og hastighet
Deretter utvides spillogikken for å kunne oppdage og fjerne fulle rader. Basert på dette blir poeng, linjer og nivåer innført som ekstra tilstander fra hvorfra en endret fallhastighet kan avledes. Dette trinnet kombinerer databehandling med en forståelig regelutvikling gjennom spillet.
- Didaktisk fokus: evaluering av matrise-tilstander og fremgangslogikk
- Vanlig utfordring: Riktig fjerning og tillegg av rader i spillfeltet
Fullt spill
Den siste oppgaven gir en sammenhengende refleksjon over et komplett referansespill. I forgrunnen står ikke tillegget av ny kode, men anerkjennelsen av tidligere utviklede mekanismer i et koherente helhetssystem. Dette reflekterer utviklingen av kompetanse og sikrer den profesjonelt.
- Didaktisk fokus: Integrering og refleksjon over det hele kontekst
- Vanlig utfordring: Individuelle komponenter i det hele systemet må tildeles sikkert
Oppgavebeskrivelse (utdrag)
- Modeller spillfeltet som en matrise og legg til et styrt fallbevegelse for den aktive steinen.
- Utvid spillet med ulike Tetrominos og rotasjon basert på matriseroperasjoner.
- Kontroller deretter bevegelser og rotasjoner gjennom en enhetlig kollisjonlogikk.
- Implementer fjerning av fullstendige rader, poeng, linjer og økt hastighet.
Eksempel (utdrag)
Følgende utdrag er didaktisk relevant fordi det gjør rotasjonen synlig som et målrettet omordning av en matrise, og dermed fremhever et sentralt element i modulen.
| |
Tips for klasseromspraksis
- For den generelle sekvensen anbefales det å dele inn i minst to undervisningsfaser, da modellering, rotasjon og utvidet spilllogikk hver utgjør selvstendige fokuspunkter.
- Differensiering kan oppnås gjennom dybden i kollisjonlogikken, ekstra former eller forbedret nivåregning.
- For å sikre resultatene er en sammenligning av brukt datastruktur og deriverte regler for bevegelse, rotasjon og radfjerning egnet.
- Som en utvidelse, tilbyr det flere Tetromino-varianter, et forhåndsvisningssystem for neste stein, eller ekstra spilltilstander.
- Innholdsmessig kan dette modulene lett kobles til emner som todimensjonale datastrukturer, algoritmer for tilstandsjekk og programmering basert på hendelser.
Den klare oppgavestrukturen støtter klasseromsorganisering og gjør systematisk resultatverifikasjon enklere. Utvidelsesoppgaver muliggjør korrekt differensiering i videregangen.
Forespør demo-tilgang og test modulene i din egen kurskontekst.