Level 4Snake

Skrevet av: Geir Arne Hjelle og Martin Lie

Oversatt av: Stein Olav Romslo

Kurs: Scratch
Tema: Blokkbasert, Spill
Fag: Matematikk, Programmering, Kunst og håndverk
Klassetrinn: 5.-7. klasse, 8.-10. klasse
Bilde av BokmålPå Bokmål

Introduksjon

Sidan slutten av 1970-talet har nesten alle personlege datamaskiner hatt ein eller annan variant av Snake. Spelet vart ekstra populært då det dukka opp på Nokia sine mobiltelefonar i 997. Dei siste åra har spelet til og med blitt tatt med i New York Museum of Modern Art si samling.

Sjølve spelet går enkelt og greitt ut på å styre ein slange rundt på skjermen, og passe på at slangen ikkje krasjar i kanten av skjermen eller seg sjølv. Slangen veks når den et eple som dukkar opp tilfeldige stader på skjermen. Snake kan vidareutviklast på mange måtar, til dømes ved å lage ekstra hindringar på skjermen, ha ulike typer bonuseple, eller at to slanger konkurrerer om å ete epla og om å stenge kvarandre inne.

Illustrasjon av eit ferdig Snake-spel

Oversikt over prosjektet

Du skal gjere mesteparten av kodinga av Snake sjølv. I Snake brukar me kloner på ein litt spesiell og ganske smart måte. Difor starar me med å jobbe med kloning.

checkPlan

Steg 1: Slangen flyttar på seg... eller?

I prinsippet er Snake eit enkelt spel å lage. Ei av dei største utfordringane er korleis slangen skal flyttast rundt. Fyrst virkar det kanskje som ein treng ei eller anna slags liste som hugsar kor kvar del av slangen er slik at ein kan flytte den.

I staden for å bruke lister skal me bruke kloning på ein spesiell måte. Hugs at når me kloner kopierer me både utsjånaden og oppførselen til ein figur. Me vil starte med ein enkel boks som skal vere ein del av kroppen til slangen. Denne boksen skal me flytte, klone, flytte, klone og så bortetter. Trikset for at det skal sjå ut som om slangen flyttar på seg er at dei gamle klonene slettar seg sjølv etter litt tid.

I figuren er den blå boksen hovudet til slangen, dei grøne boksane er kroppen til slangen, og dei kvite viser kor slangen har vore (dei kvite er eigentleg sletta kloner av boksane).

Bilete av slangen og kor den har vore

For å vite når me skal slette kloner treng me tre variablar: lengde er lengda på slangen, teljar er ein enkel teljar som passar på kor mange steg slangen har gått sidan spelet stara, og til slutt er min id eit tal som fortel kor i rekkja ein gitt klone er. I figuren over er min id skrive i kvar bokse, teljar er 16 siden slangen har gått 16 steg, og lengde er 6.

Trikset me skal bruke er ganske enkelt. Kvar klone slettar seg sjølv viss min id er mindre enn teljar - lengde. La oss prøve det i praksis.

checkSjekkliste

  • Bilete av ein boks i Scratch
  • når eg får meldinga [Nytt spel v]
    set [teljar v] til [0]
    set [lengde v] til [5]
    gjenta til <rører [kant v]>
        set [min id v] til (teljar)
        endra [teljar v] med (1)
        vent (0.1) sekund
        lag klon av [meg v]
        gå (10) steg
    slutt
    

    Pass på at du endrar 10-talet i gå 10 steg-klossen til det same som storleiken på boksen du laga.

  • når eg startar som klon
    vent til <((teljar) - (lengde)) > (min id)>
    slett denne klonen
    

    Samanlikn skripta med figuren og forklaringa over. Forstår du korleis dei fungerer?

Steg 2: Styr slangen til den krasjar!

No skal me kontrollere slangen med piltastane.

Det er lett å bruke piltastane til å kontrollere slangen. Sidan den går av seg sjølv må me berre endre retninga når piltastane blir trykka på.

checkSjekkliste

Steg 3: Eple og anna snadder

No skal me gi slangen mål og meining. Ved å ete eple kan slangen vekse seg stor og sterk!

Epla er ganske enkle å lage, sidan me berre treng ein figur som blir borte når slangen et dei. For å enklare kunne utvide med fleire eple og slikt seinare brukar me kloner av epla òg.

checkSjekkliste

  • gå til x: ((10) * (tilfeldig tal frå (-23) til (23))) y: ((10) * (tilfeldig tal frå (-16) til (16)))
    

    Hugs at skjermen har koordinatar frå -240 til 240 i x-retning, og -180 til 180 i y-retning. Pass på at epla dine landar godt innanfor skjermen slik at slangen kan ete dei.

Steg 4: Vidareutvikling av spelet

Du står heilt fritt til korleis du vil jobbe vidare med spelet ditt. Her er nokre idear som kan gjere spelet endå meir morosamt.

checkIdear til vidareutvikling

Lisens: CC BY-SA 4.0

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!