Dette er en gammel utgave av dokumentet!
Innholdsfortegnelse
Snake
I dette spillet skal vi lage såkalte sprites (det er det engelske navnet på figurer eller brikker i et spill). En sprite (snake) skal forsøke å fange en annen sprite (mat) og når maten blir spist skal det dukke opp ny mat et annet sted.
Spillet skal bygges opp trinn for trinn, og når du er ferdig med ett trinn bør du teste at løsningen din fungerer (bruk simulatoren øverst i venstre hjørne på nettsiden aktivt). Hvis du står fast kan du klikke på tips-knappene for å få opp tips, og under tipsene finner du løsningsforslag. Hvis du programmerer med javaskript finner du løsningsforslag ved å klikke på HTML-knappen. Du finner løsningsforslag med blokker ved å klikke på Result-knappen og vente litt mens løsningsforslaget blir generert.
Lage brikkene
Alle elementene i et spill må lagres et sted, og en lagringsplass kalles en variabel. I en variabel kan du lagre nesten hva som helst, både tall, tekster og spillbrikker, og det som ligger lagret i variabelen kalles en verdi.
Lage Snake
Trykk på menyen for variabler og velg «Lag en variabel». Kall variabelen snake. Nå skal det ha blitt opprettet en kommando kalt «sett snake til» i variabel-menyen. Denne skal utføres ved start, så du må klikke på den og dra den inn til «Ved start»-blokka. Det er ikke tilstrekkelig å lagre et tall i denne variabelen, vi trenger å lage en ny spillbrikke og plassere denne spill-brikken et sted på skjermen. <hidden Tips 1>Du finner kommandoer for variabler i menyen for variabler. Du oppretter brikker ved å klikke på Avansert og deretter gå inn i spill-menyen.</hidden> <hidden Tips 2>Når du lager nye brikker må brikken plasseres et sted på spillbrettet, og vi bruker koordinater til å betegne én spesifikk rute. Referansen (eller nullpunktet, origo, om du vil) er øverste venstre hjørne. X-koordinaten betegner antall ruter bortover fra origo, og Y-koordinaten betegner hvor mange hakk nedover fra origo. Hvis du plasserer brikken på koordinat (X=0,Y=1) blir den plassert 0 hakk bortover og ett hakk under origo, altså like under origo. Øverste høyre hjørne har koordinat (X=4,Y=0), nedre høyre hjørne har koordinat (X=4,Y=4) og nedre venstre hjørne har koordinat (X=0,Y=4).</hidden> <hidden Tips 3>Du kan gjerne plassere snake i koordinat (X=2,Y=2, altså midt på brettet) til å begynne med.</hidden> https://jsfiddle.net/royeven/sjgb4kc9/1/embedded/css,html,result/ 100%,400 noscroll noborder left
Lage mat
Lag en ny variabel som du kaller mat. Her skal du også opprette en brikke (i spill-menyen) og denne kan du plassere hvor som helst.
Brikken mat skal ikke bevege seg, men det skal slangen. Så du bør også gå inn i spill-menyen og finne «angi»-kommandoen. Du skal angi snake sin retning til 0 ved start. <hidden Tips 1>Du kan med fordel bruke «tilfeldig tall fra 0 til 4»-kommandoen fra matematikk-menyen til å plassere maten et tilfeldig sted.</hidden> https://jsfiddle.net/royeven/sjgb4kc9/2/embedded/css,html,result/ 100%,400 noscroll noborder left
Starte spillet
I spillet skal du få poeng hver gang snake finner mat, og du mister ett liv dersom det går for lang tid før snake får ny mat. Ved start må du sette poengsummen din til 0 poeng og gi deg selv f.eks. 10 liv. Du finner kommandoer for dette i spill-menyen. https://jsfiddle.net/royeven/sjgb4kc9/3/embedded/css,html,result/ 100%,400 noscroll noborder left
Styre slangen
Vi trenger å lage funksjoner til å styre slangen. Ved å trykke på menyen for Inndata finner du en funksjon som heter «når knapp A trykkes». Denne skal du bruke til å få slangen til å kjøre mot venstre. <hidden Tips 1>Ved å gå inn på spill-menyen kan du bruke «angi»-kommandoen til å angi en brikkes retning til et tall (i grader).</hidden> <hidden Tips 2>Retning 0 betyr oppover, retning 90 betyr mot høyre, retning 180 betyr nedover, og retning 270 betyr til venstre.</hidden> <hidden Tips 3>Dette betyr at når knapp A trykkes skal snake sin retning angis til 270 grader.</hidden> https://jsfiddle.net/royeven/sjgb4kc9/6/embedded/css,html,result/ 100%,400 noscroll noborder left
Styre slangen i alle retninger
Nå skal vi bruke de andre knappene til å styre slangen i andre retninger:
- Knapp A: slangen skal styres mot venstre
- Knapp B: slangen skal styres mot høyre
- Knapp A+B (begge samtidig): slangen skal styres nedover
- når ristes: slangen skal gå oppover
https://jsfiddle.net/royeven/sjgb4kc9/7/embedded/css,html,result/ 100%,400 noscroll noborder left
Flytte slangen
Nå skal du bruke en løkke av typen «gjenta for alltid» til å flytte slangen hele tiden
https://jsfiddle.net/royeven/sjgb4kc9/9/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/sjgb4kc9/10/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/sjgb4kc9/11/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/sjgb4kc9/12/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/sjgb4kc9/13/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/sjgb4kc9/14/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/sjgb4kc9/15/embedded/css,html,result/ 100%,400 noscroll noborder left
