====== Unngå bomba ====== I dette klassiske spillet vil det regne bomber fra himmelen og spilleren skal unngå å bli truffet av bombene. Ved å følge oppskriften under vil du bli veiledet gjennom prosessen trinn for trinn. Du kan åpne tipsene i rekkefølge dersom du trenger hjelp. Til hvert trinn kan du finne løsningsforslag ved å trykke på "HTML" eller "Result" under tipsene, avhengig om du vil ha javaskript eller blokk-løsninger. Det kan ta noen sekunder før javaskriptet blir forvandlet til blokker, så vær tålmodig hvis du arbeider med blokk-programmering. ===== Lage figurene i spillet ===== Du skal nå lage to brikker (på engelsk kalt "sprites") til spillet. Til å begynne med skal vi lage bare én bombe og en brikke som skal flykte fra bomba. Du trenger en variabel til å lagre hver brikke. Variablene skal du kalle //bombe// og //spiller//. Du kan lage nye brikker ved å åpne menyen for **Spill**. Dersom **Spill** ikke er synlig må du klikke på **Avansert** først. Bomba skal starte på den øverste rekka på skjermen (y=0, x kan være hva som helst, gjerne et tilfeldig tall fra **Matematikk**-menyen) og spilleren skal være nederst på skjermen (y=4, x kan være hva som helst, gjerne et tilfeldig tall fra **Matematikk**-menyen). {{url>https://jsfiddle.net/royeven/fqap3nyo/1/embedded/css,html,result/ 100%,400 noscroll noborder left}} ===== Flytte på spiller ===== Du skal nå bruke knappene A og B til å flytte brikken //spiller// fram og tilbake på skjermen. Nyttige kommandoer finner du i menyene for **Inndata** og **Spill**. Ved trykk på knapp A skal //spiller// flyttes ett hakk til venstre (endre spiller sin x-koordinat med -1) og ved trykk på knapp B skal //spiller// flyttes ett hakk til høyre (endre //spiller// sin x-koordinat med 1). For å flytte en brikke kan du gå på **Avansert**, deretter **Spill** og bruke kommandoen "sprite endre x/y med". I nedtrekkslisten x kan du velge om du vil endre x- eller y-koordinaten. Husk å endre "Sprite" til navnet på den brikken du vil flytte på, i dette tilfellet skal det til slutt bli "//spiller// endre x med ..." {{url>https://jsfiddle.net/royeven/fqap3nyo/3/embedded/css,html,result/ 100%,400 noscroll noborder left}} ===== Innføre elementer til spillet ===== Ethvert spill med respekt for seg selv lar spilleren vinne poeng og evt. tape liv eller vinne flere liv. Det kan også være lurt å planlegge spillet med flere nivåer. Bruk kommandoer fra **Spill**-menyen til å sette en start-situasjon hvor du har tre liv og null poeng. Lag deg en variabel som heter //pause// og sett denne til 1000. Denne skal du etter hvert bruke til å styre nivået i spillet. {{url>https://jsfiddle.net/royeven/fqap3nyo/5/embedded/css,html,result/ 100%,400 noscroll noborder left}} ===== Flytte på bomba ===== Bomba skal falle automatisk ned mot bakken. Dette kan du oppnå ved å bruke en "gjenta for alltid"-løkke fra **Basis**-menyen og endre bomba sin y-koordinat med 1 med jevne mellomrom. Du kan selv bestemme hvor lang pause du vil ha mellom hver gang du endrer //bombe// sin y-koordinat. Bruk gjerne variabelen //pause// du lagde i forrige trinn. Når //bombe// kommer ned til bakken (altså når //bombe// sin y-koordinat blir 4) må den flyttes til toppen igjen (sette y-koordinaten til 0). Spillet blir ekstra spennende dersom x-koordinaten endres samtidig, gjerne ved å bruke tilfeldig-tall-funksjonen fra matematikk-menyen. I løsningsforslaget er det lagt opp til å ta en ny pause for hver gang man flytter bomba, men rekkefølgen av hendelser i spillet og når du ønsker å ta pauser er helt opp til deg. {{url>https://jsfiddle.net/royeven/fqap3nyo/7/embedded/css,html,result/ 100%,400 noscroll noborder left}} ===== Få poeng eller tape liv ===== Utvid spillet med funksjoner som gjør at du taper liv hvis bomba treffer spilleren og gir deg poeng hver gang bomba bommer på deg. Når //bombe// treffer bakken kan du bruke kommandoer fra menyene for **Logikk** og **Spill** til å sjekke om //bombe// berører //spiller// (er på samme plass til samme tid). Hvis de to brikkene berører hverandre skal du miste ett liv, hvis ikke skal du endre poengsummen din med 1. {{url>https://jsfiddle.net/royeven/fqap3nyo/14/embedded/css,html,result/ 100%,400 noscroll noborder left}} ====== Bonusoppdrag ====== ===== Endre hvor mange poeng du får for hver bombe ===== Greier du å lage spillet slik at du får flere poeng jo lenger vekk fra bomba du er når den treffer? Og færre poeng hvis du så vidt unnslipper? {{url>https://jsfiddle.net/royeven/fqap3nyo/9/embedded/css,html,result/ 100%,400 noscroll noborder left}} ===== Endre nivået ===== Greier du å endre spillet slik at pausen blir mindre (altså at alt går fortere) etter hvert som du får flere poeng? {{url>https://jsfiddle.net/royeven/fqap3nyo/11/embedded/css,html,result/ 100%,400 noscroll noborder left}} ====== Videre arbeid ====== * Kan du modifisere spillet slik at bomba blir mer tilfeldig og mindre forutsigbar? Kanskje at den i stedet for å starte helt på toppen hver gang får tilfeldig fallhøyde eller tilfeldig fart for hver gang? * Kan du modifisere spillet slik at du på høyere nivå kan ha flere bomber samtidig. * Når du ikke kommer lenger finner du flere spill [[spill|her]]