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 15:01] – [Sjekke om du har et skip der motspilleren bomber] adminslagskip_battleship [2022/11/30 08:09] (nåværende versjon) – ekstern redigering 127.0.0.1
Linje 93: Linje 93:
 {{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}} {{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 3>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 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 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>+<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 110: 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.1586012519.txt.gz · Sist endret: (ekstern redigering)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki