snake
Forskjeller
Her vises forskjeller mellom den valgte versjonen og den nåværende versjonen av dokumentet.
Begge sider forrige revisjonForrige revisjonNeste revisjon | Forrige revisjon | ||
snake [2020/03/31 08:42] – [Snake] royeven | snake [2022/11/30 08:09] (nåværende versjon) – ekstern redigering 127.0.0.1 | ||
---|---|---|---|
Linje 1: | Linje 1: | ||
====== Snake ====== | ====== 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. | + | I dette spillet skal du 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å [[https:// | 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å [[https:// | ||
Linje 7: | Linje 7: | ||
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, | 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, | ||
==== Lage Snake ==== | ==== Lage Snake ==== | ||
- | Trykk på menyen for variabler | + | Trykk på menyen for **Variabler** |
- | <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 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 Tips 2>Når du lager nye brikker må brikken plasseres et sted på spillbrettet, | <hidden Tips 2>Når du lager nye brikker må brikken plasseres et sted på spillbrettet, | ||
<hidden Tips 3>Du kan gjerne plassere //snake// i koordinat (X=2,Y=2, altså midt på brettet) til å begynne med.</ | <hidden Tips 3>Du kan gjerne plassere //snake// i koordinat (X=2,Y=2, altså midt på brettet) til å begynne med.</ | ||
Linje 15: | Linje 15: | ||
==== Lage mat ==== | ==== 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. | + | 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 " | + | Brikken //mat// skal ikke bevege seg, men det skal slangen. Så du bør også gå inn i **Spill**-menyen og finne " |
- | <hidden Tips 1>Du kan med fordel bruke " | + | <hidden Tips 1>Du kan med fordel bruke " |
{{url> | {{url> | ||
===== Starte spillet ===== | ===== 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. | + | 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. |
{{url> | {{url> | ||
Linje 33: | Linje 33: | ||
===== Styre slangen ===== | ===== Styre slangen ===== | ||
- | Du trenger å lage funksjoner til å styre slangen. Ved å trykke på menyen for Inndata finner du en funksjon som heter "når knapp A trykkes" | + | Du trenger å lage funksjoner til å styre slangen. Ved å trykke på menyen for **Inndata** finner du en funksjon som heter "når knapp A trykkes" |
- | <hidden Tips 1>Ved å gå inn på spill-menyen kan du bruke " | + | <hidden Tips 1>Ved å gå inn på **Spill**-menyen kan du bruke " |
<hidden Tips 2> | <hidden Tips 2> | ||
<hidden Tips 3>Dette betyr at når knapp A trykkes skal //snake// sin retning angis til 270 grader.</ | <hidden Tips 3>Dette betyr at når knapp A trykkes skal //snake// sin retning angis til 270 grader.</ | ||
Linje 50: | Linje 50: | ||
===== Flytte slangen ===== | ===== Flytte slangen ===== | ||
- | Nå skal du bruke en løkke av typen " | + | Nå skal du bruke en løkke av typen " |
- Flytt slangen ett hakk framover | - Flytt slangen ett hakk framover | ||
Linje 56: | Linje 56: | ||
- Ta pause i like mange millisekunder som det er angitt i variabelen //pause// | - Ta pause i like mange millisekunder som det er angitt i variabelen //pause// | ||
- | <hidden Tips 1> | + | <hidden Tips 1> |
- | <hidden Tips 2>Du finner | + | <hidden Tips 2>Du finner kommandoen |
{{url> | {{url> | ||
Linje 63: | Linje 63: | ||
===== La snake spise mat ===== | ===== La snake spise mat ===== | ||
- | Etter at slangen er flyttet, men før spillet tar pause, må du sjekke om slangen er på samme sted som maten. Til det trenger du en hvis-blokk fra logikk-menyen. Der er det et sekskantet | + | Etter at slangen er flyttet, men før spillet tar pause, må du sjekke om slangen er på samme sted som maten. Til det trenger du en "hvis"-blokk fra **Logikk**-menyen. Der er det et sekskantet hull som du må fylle med noe riktig. Se i **Spill**-menyen om du finner en hensiktsmessig betingelse? |
<hidden Tips 1>Det du ønsker å sjekke er om //snake// er på samme plass som //mat//, altså om de berører hverandre.</ | <hidden Tips 1>Det du ønsker å sjekke er om //snake// er på samme plass som //mat//, altså om de berører hverandre.</ | ||
<hidden Tips 2>Hvis //snake// berører //mat// skal du endre poengsummen din med 1.</ | <hidden Tips 2>Hvis //snake// berører //mat// skal du endre poengsummen din med 1.</ | ||
Linje 76: | Linje 76: | ||
- Flytte //mat// til et tilfeldig sted på skjermen | - Flytte //mat// til et tilfeldig sted på skjermen | ||
- | <hidden Tips 1>Du kan flytte maten ved å angi både X-koordinaten til //mat// til et tilfeldig tall mellom 0 og 4. Gjør det samme for Y-koordinaten</ | + | <hidden Tips 1>Du kan flytte maten ved å angi X-koordinaten til //mat// til et tilfeldig tall mellom 0 og 4. Gjør det samme for Y-koordinaten</ |
{{url> | {{url> | ||
Linje 82: | Linje 82: | ||
===== Fjerne liv ===== | ===== Fjerne liv ===== | ||
For å gjøre spillet mer spennende enn en evig jakt på mat må du lage en måte det er mulig å miste liv på også. I denne versjonen av spillet skal vi innføre en regel om at slangen mister ett liv hvert 10. sekund. I trinnet over la du inn en kommando som gir slangen ett ekstra liv for hver gang du fanger //mat//. Dette betyr at du må spise //mat// minimum hvert 10. sekund for å opprettholde dine opprinnelige 10 liv. | For å gjøre spillet mer spennende enn en evig jakt på mat må du lage en måte det er mulig å miste liv på også. I denne versjonen av spillet skal vi innføre en regel om at slangen mister ett liv hvert 10. sekund. I trinnet over la du inn en kommando som gir slangen ett ekstra liv for hver gang du fanger //mat//. Dette betyr at du må spise //mat// minimum hvert 10. sekund for å opprettholde dine opprinnelige 10 liv. | ||
- | <hidden Tips 1>Du trenger en ny " | + | <hidden Tips 1>Du trenger en ny " |
* mist ett liv | * mist ett liv | ||
Linje 88: | Linje 88: | ||
</ | </ | ||
- | <hidden Tips 2>Du finner kommandoer for å miste liv i spill-menyen og og pause fra Basis-menyen.</ | + | <hidden Tips 2>Du finner kommandoer for å fjerne |
{{url> | {{url> | ||
===== Innføre nivåer ===== | ===== Innføre nivåer ===== | ||
- | Nå skal vi gjøre spillet gradvis vanskeligere. For hvert 10. sekund skal pausen mellom hvert slangetrykk minke med 100ms, altså at slangen vil gå fortere og fortere etter hvert. | + | Nå skal du gjøre spillet gradvis vanskeligere. For hvert 10. sekund skal pausen mellom hvert slangetrykk minke med 100ms, altså at slangen vil gå fortere og fortere etter hvert. |
<hidden Tips 1>Dette kan oppnås ved at du endrer pause-variabelen med -100 hver gang du mister ett liv.</ | <hidden Tips 1>Dette kan oppnås ved at du endrer pause-variabelen med -100 hver gang du mister ett liv.</ | ||
{{url> | {{url> | ||
- | ====== | + | ====== |
- | Du vil fort merke at slangen er vanskelig å styre fordi det kun finnes to knapper (A og B) for høyre og venstre, men det mangler knapper for opp og ned. Derfor må man av og til riste, og av og til trykke på begge knappene. Greier du å finne en bedre måte å styre slangen på? | + | |
+ | * For hvert 10. sekund blir pausen redusert med 100 millisekunder. Etter hvert vil pausen bli veldig kort og slangen bevege seg veldig fort. Når pausen blir 0 vil spillet gå ubehagelig raskt, og når pausen blir negativ vil spillet stoppe helt opp. Hvordan kan det problemet fikses? |
snake.1585644144.txt.gz · Sist endret: 2022/11/30 08:15 (ekstern redigering)