Brukerverktøy

Nettstedverktøy


minesveiper

Dette er en gammel utgave av dokumentet!


Minesveiper

I dette klassiske spillet ligger minene skjult, og spilleren skal forsøke å finne ut hvor de befinner seg. Ettersom skjermen på micro:bit setter en del begrensninger må vi endre litt på spillet. Det skal bare være én mine ett eller annet sted på spillebrettets 25 felt. Spilleren skal åpne ett og ett felt og når feltet med minen blir åpnet er spillet over. Men for hvert felt som blir åpnet uten at det ligger en mine der får spilleren ett poeng.

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 minen

Trykk på menyen for variabler og velg «Lag en variabel». Kall variabelen mine. Nå skal det ha blitt opprettet en kommando kalt «sett mine 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, du trenger å lage en ny spillbrikke og plassere denne spill-brikken et sted på skjermen. Minen skal være usynlig, så du må også angi at minen sin lysstyrke skal være 0. <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>Minen må plasseres på tilfeldige X- og Y-koordinater. På menyen for matematikk finner du en kommando som heter «tilfeldig tall», og du kan bruke denne til å sette X- og Y-koordinaten til et tilfeldig tall fra 0 til 4.</hidden> <hidden Tips 4>Ved å trykke på avansert og deretter på Spill-menyen finner du en kommando for å angi egenskaper ved en brikke. Bruk denne til å angi mine sin lysstyrke til 0.</hidden> https://jsfiddle.net/royeven/jgdx8upy/2/embedded/css,html,result/ 100%,400 noscroll noborder left

Lage sveiper

Gjenta prosessen over for en ny brikke som du kaller sveiper. Denne skal ikke være usynlig. Du skal også sette poengsummen din til 0 ved start. <hidden Tips 1>I spill-menyen finner du kommandoer som styrer poengene i spillet.</hidden> https://jsfiddle.net/royeven/jgdx8upy/4/embedded/css,html,result/ 100%,400 noscroll noborder left

Bevege sveiper framover

Vi ønsker å bruke knappene A og B til å flytte sveiper rundt på skjermen. Til dette trenger du funksjoner fra Inndata-menyen, og det er særlig funksjonen «når knapp A trykkes» og «når knapp B trykkes» som er interessant. Ved å kombinere disse funksjonene med kommandoene «endre» og «angi» fra spill-menyen kan vi flytte sveiper fram og tilbake. Når du trykker på knapp A skal sveiper flytte seg ett hakk bortover (til høyre). <hidden Tips 1>Dersom du ønsker å flytte sveiper ett hakk til høyre kan du endre sveiper sin X-posison med 1. Dette er det samme som å flytte sveiper ett hakk lenger vekk fra nullpunktet.</hidden> https://jsfiddle.net/royeven/jgdx8upy/19/embedded/css,html,result/ 100%,400 noscroll noborder left

Bevege sveiper fram og tilbake

Du vil fort oppdage at når sveiper når kanten så kan den ikke flyttes lenger til høyre. Vi må altså finne en måte å flytte sveiper tilbake på også. Hvis du trykker på logikk-menyen finner du en «hvis-ellers»-blokk som du kan bruke. <hidden Tips 1>Du ønsker nå å sjekke hva sveiper sin X-koordinat er før du flytter på den. Hvis sveiper sin x-koordinat er 4 skal sveiper flyttes tilbake til start (d.v.s. angi sveiper sin X-koordinat til 0). Hvis ikke ønsker du å endre sveiper sin X-koordinat med 1.</hidden> <hidden Tips 2>Du kan finne en seks-kantet blokk for sammenligning i logikk-menyen. Denne skal passe inn i hvis-blokken.</hidden> <hidden Tips 3>I spill-menyen kan du finne «sprite X»-blokken for å finne X-koordinaten til en brikke.</hidden>

Her finner du et delvis ferdig løsningsforslag du kan bruke som utgangspunkt https://jsfiddle.net/royeven/jgdx8upy/8/embedded/css,html,result/ 100%,400 noscroll noborder left

Her finner du et komplett løsningsforslag. Det finnes mange måter du kan flytte sveiper på, og dersom du har funnet en lur måte så kan du godt bruke din egen måte. https://jsfiddle.net/royeven/jgdx8upy/9/embedded/css,html,result/ 100%,400 noscroll noborder left

Bevege sveiper opp og ned

Nå skal du bruke B-knappen til å bevege sveiper opp og ned. Du kan høyre-klikke på blokka for «når knapp A trykkes» og velge «Lag kopi». Der det tidligere sto «når knapp A trykkes» må du nå endre slik at det i den ene blokken står «når knapp B trykkes» og gjøre justeringer slik at knapp A flytter sveiper fram og tilbake med knapp B flytter sveiper opp og ned. https://jsfiddle.net/royeven/jgdx8upy/10/embedded/css,html,result/ 100%,400 noscroll noborder left

Avdekke et felt

Når du trykker på knapp A og B samtidig skal du sjekke om minen ligger der. Hvis den gjør det skal spillet avsluttes, men hvis ikke skal du ha ett ekstra poeng for å ha overlevd litt lenger i minefeltet. <hidden Tips 1>Du må finne blokkene «når knapp A+B trykkes» fra Inndata-menyen og «hvis-ellers»-blokka fra logikk-menyen.</hidden> <hidden Tips 2>I spill-menyen finner du en seks-kantet blokk som sjekker om to brikker berører hverandre. Hvis sveiper berører mine har du nå tapt!</hidden>

Her har du et midlertidig løsningsforslag du kan ta utgangspunkt i:

https://jsfiddle.net/royeven/jgdx8upy/12/embedded/css,html,result/ 100%,400 noscroll noborder left

Her finner du et komplett løsningsforslag på dette trinnet:

https://jsfiddle.net/royeven/jgdx8upy/13/embedded/css,html,result/ 100%,400 noscroll noborder left

Markere åpnede felt

Det blir enklere å spille dersom du markerer de feltene du alt har åpnet og hvor du vet at bomba ikke finnes. Når du åpner et felt hvor minen ikke er kan du lage en ny brikke som du plasserer i dette feltet og setter en svak lysstyrke på denne brikken. <hidden Tips 1>I spill-menyen finner du kommandoer for å lage en ny brikke, og du finner kommandoer for å finne X- og Y-koordinatene til en brikke.</hidden> https://jsfiddle.net/royeven/jgdx8upy/14/embedded/css,html,result/ 100%,400 noscroll noborder left https://jsfiddle.net/royeven/jgdx8upy/15/embedded/css,html,result/ 100%,400 noscroll noborder left

minesveiper.1585651201.txt.gz · Sist endret: (ekstern redigering)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki