Brukerverktøy

Nettstedverktøy


slagskip_battleship

Forskjeller

Her vises forskjeller mellom den valgte versjonen og den nåværende versjonen av dokumentet.

Lenk til denne sammenligningen

Begge sider forrige revisjonForrige revisjon
Neste revisjon
Forrige revisjon
slagskip_battleship [2020/04/04 14:45] – [Motta bomber fra den andre spilleren] adminslagskip_battleship [2022/11/30 08:09] (nåværende versjon) – ekstern redigering 127.0.0.1
Linje 89: Linje 89:
 Hvis du har et skip på den X- og Y-koordinaten fienden bomber må du fjerne dette skipet fra tabellen //mine_skip// samt sende en melding til fienden (bruk "radio send tall"-kommandoen) så han vet at han traff. Du må også miste ett liv for hvert skip fienden senker. Når alle dine skip er senket er spillet over. Hvis du har et skip på den X- og Y-koordinaten fienden bomber må du fjerne dette skipet fra tabellen //mine_skip// samt sende en melding til fienden (bruk "radio send tall"-kommandoen) så han vet at han traff. Du må også miste ett liv for hvert skip fienden senker. Når alle dine skip er senket er spillet over.
  
-<hidden Tips 3>Du bør bruke en "for element verdi av //mine_skip//"-løkke til å gå gjennom alle dine skip og se om noen av dem er truffet. Hvis verdi sin y-koordinat er lik den Y-koordinaten fienden bombet og verdi sin X-koordinat også er lik den X-koordinaten fienden bombet må du slette brikken //verdi// fra tabellen "//mine_skip//. Dette er litt avansert og krever at du finner "indeks av //verdi//" og fjerner denne fra tabellen //mine_skip//Denne brikken må du slette, og du finner de funksjonene du trenger fra **Tabell**-menyen og i **Spill**-menyen. Her er det viktig å sjekke med løsningsforslaget!</hidden> +Du kan bruke en "for element //verdi// av //mine_skip//-løkke til å gå gjennom alle dine skip og se om noen av dem er truffet. Hvis et skip er truffet må det fjernes fra tabellen //mine_skip//
-<hidden Tips 4>Hvis fienden traff ett av dine skip må du fjerne ett av livene dine (du finner kommando for dette i **Spill**-menyen) samt bruke radioen til å sende et tall (f.eks. 1) til fienden for å fortelle fienden at han traff.</hidden>+ 
 +{{url>https://makecode.microbit.org/---docs?md=%20%60%60%60blocks%0D%0Alet%20x%20%3D%20null%0D%0Alet%20mine_skip%3A%20game.LedSprite%5B%5D%20%3D%20%5B%5D%0D%0Aradio.onReceivedString(function%20(receivedString)%20%7B%0D%0A%20%20%20%20x%20%3D%20parseFloat(receivedString.substr(0%2C%201))%0D%0A%20%20%20%20for%20(let%20verdi%20of%20mine_skip)%20%7B%0D%0A%20%20%20%20%20%20%20%20if%20(x%20%3D%3D%20verdi.get(LedSpriteProperty.X))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20mine_skip.removeAt(mine_skip.indexOf(verdi)).delete()%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%7D)%0D%0A%20%60%60%60 100%,400 noscroll noborder left}} 
 + 
 +<hidden Tips 1>I en slik løkke vil //verdi// tilsvare ett skip, og du kan behandle //verdi// som en vanlig brikke. Bl.a. kan du angi koordinater og lysstyrke til //verdi//, du kan hente ut //verdi// sine koordinater og du kan gjøre alt du kan gjøre med andre brikker. Hvis du har tre skip vil denne løkken bli gjentatt tre ganger: første gang vil //verdi// være det første skipet i tabellen //mine_skip//, andre gang til //verdi// være det andre skipet i tabellen, og tredje gang vil //verdi// være det siste skipet i tabellen. Hvis verdi sin y-koordinat er lik den Y-koordinaten fienden bombet og verdi sin X-koordinat også er lik den X-koordinaten fienden bombet må du slette brikken //verdi// fra tabellen "//mine_skip//. Dette er litt avansert og krever at du finner "indeks av //verdi//" (altså om //verdi// ligger på plassering 0, 1 eller 2 i tabellen) og fjerner denne indeksen fra tabellen //mine_skip//Brikken må også slettes, og du finner de funksjonene du trenger fra **Tabell**-menyen og i **Spill**-menyen. Du kan hente inspirasjon fra bildet over på hvordan du kan gjøre det.</hidden> 
 +<hidden Tips 2>Hvis fienden traff ett av dine skip må du fjerne ett av livene dine (du finner kommando for dette i **Spill**-menyen) samt bruke radioen til å sende et tall (f.eks. 1) til fienden for å fortelle fienden at han traff.</hidden>
 {{url>https://jsfiddle.net/royeven/b57f9nke/14/embedded/css,html,result/ 100%,400 noscroll noborder left}} {{url>https://jsfiddle.net/royeven/b57f9nke/14/embedded/css,html,result/ 100%,400 noscroll noborder left}}
  
Linje 106: Linje 110:
   * I spillet slik det er gjennomført i denne oppskriften vil skipene bli plassert helt tilfeldig. Dersom du lager mange skip pr. spiller er det stor sannsynlighet for at to skip vil bli plassert oppå hverandre. Hvordan kan man best unngå dette?   * I spillet slik det er gjennomført i denne oppskriften vil skipene bli plassert helt tilfeldig. Dersom du lager mange skip pr. spiller er det stor sannsynlighet for at to skip vil bli plassert oppå hverandre. Hvordan kan man best unngå dette?
   * Hvis du ikke har en medspiller greier du kanskje å endre programmet slik du spiller mot datamaskinen? Micro:biten kan programmeres til å bombe dine skip på tilfeldig valgte koordinater.   * Hvis du ikke har en medspiller greier du kanskje å endre programmet slik du spiller mot datamaskinen? Micro:biten kan programmeres til å bombe dine skip på tilfeldig valgte koordinater.
 +  * I den versjonen av spillet som du har programmert kan du bombe så mye du vil. Greier du å endre spillet slik at du har et begrenset antall bomber?
  
slagskip_battleship.1586011512.txt.gz · Sist endret: (ekstern redigering)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki