slagskip_battleship
Forskjeller
Her vises forskjeller mellom den valgte versjonen og den nåværende versjonen av dokumentet.
| Begge sider forrige revisjonForrige revisjonNeste revisjon | Forrige revisjon | ||
| slagskip_battleship [2020/04/02 11:16] – [Egen innsats] royeven | slagskip_battleship [2022/11/30 08:09] (nåværende versjon) – ekstern redigering 127.0.0.1 | ||
|---|---|---|---|
| Linje 61: | Linje 61: | ||
| ===== Markere det bombede feltet som bombet ===== | ===== Markere det bombede feltet som bombet ===== | ||
| Dette trinnet er valgfritt. Mange pleier å krysse ut felt man har bombet for å gjøre det lettere å huske hvilke felt man allerede har bombet og hvilke som må bombes. Dersom du ønsker å farge felt du allerede har bombet kan du opprette en ny brikke på den X- og Y-koordinaten du har bombet og angi en lav lysstyrke på denne brikken. Da vil de bombede feltene gløde svakt. | Dette trinnet er valgfritt. Mange pleier å krysse ut felt man har bombet for å gjøre det lettere å huske hvilke felt man allerede har bombet og hvilke som må bombes. Dersom du ønsker å farge felt du allerede har bombet kan du opprette en ny brikke på den X- og Y-koordinaten du har bombet og angi en lav lysstyrke på denne brikken. Da vil de bombede feltene gløde svakt. | ||
| - | <hidden Tips 1>Etter at du har sendt X- og Y-koordinaten til det bombede feltet til fienden kan du lage en ny variabel (kall den gjerne //bombet//) og bruk denne til å lage en ny brikke på samme X- og Y-koordinat som sprite. Angi //bombet// sin lysstyrke til f.eks. 10</ | + | <hidden Tips 1>Etter at du har sendt X- og Y-koordinaten til det bombede feltet til fienden kan du lage en ny variabel (kall den gjerne //bombet//) og bruk denne til å lage en ny brikke på samme X- og Y-koordinat som //sprite//. Angi //bombet// sin lysstyrke til f.eks. 10</ |
| {{url> | {{url> | ||
| ===== Motta bomber fra den andre spilleren ===== | ===== Motta bomber fra den andre spilleren ===== | ||
| - | For at dette skal bli rettferdig må du også sjekke om de koordinatene den andre spilleren bomber treffer dine skip. Ettersom spillet er symmetrisk vil motspilleren din sende deg sammensatte tekster med samme format som du sendte til ham. Du må altså utvide spillet ditt med en "Når radio mottar tekst" | + | For at dette skal bli rettferdig må du også sjekke om de koordinatene den andre spilleren bomber treffer dine skip. Ettersom spillet er symmetrisk vil motspilleren din sende deg sammensatte tekster med samme format som du sendte til ham. Du må altså utvide spillet ditt med en "Når radio mottar tekst" |
| - | <hidden Tips 1>Når radio mottar tekst må denne teksten | + | |
| - | <hidden Tips 2>Du må bruke kommandoen "del av received string fra posisjon 0 med lengde 1" for å få ut den første koordinaten (altså X-koordinaten og "del av received string fra posisjon 2 med lengde 1" for å få den andre koordinaten (altså Y-koordinaten). De ulike delene av teksten på gjøres om til tall (du finner funksjoner for dette i **Tekst**-menyen i **Avansert**) og lagres i variablene | + | Du trenger to variabler til å lagre X- og Y-koordinaten |
| + | |||
| + | Løsningsforslaget legger opp til at informasjonen om hvor en spiller bomber skal sendes på formatet | ||
| + | | X-koordinat | ||
| + | Teksten består altså av tre deler og hver del består av ett tegn. De tre delene er satt sammen til en tekst på totalt tre tegn, f.eks. " | ||
| + | | Posisjon | 0 | 1 | 2 | | ||
| + | | Tegnet på den aktuelle posisjonen | X-koordinat | ||
| + | Du kan bruke kommandoen "del av tekst ved posisjon" | ||
| + | {{url> | ||
| + | |||
| + | Om ønskelig kan du slå sammen de to delene ovenfor til følgende: | ||
| + | {{url> | ||
| + | |||
| + | <hidden Tips 1>Når radio mottar tekst vil denne teksten | ||
| + | <hidden Tips 2>Du må bruke kommandoen "del av received string fra posisjon 0 med lengde 1" for å få ut den første koordinaten (altså X-koordinaten og "del av received string fra posisjon 2 med lengde 1" for å få den andre koordinaten (altså Y-koordinaten). De ulike delene av teksten på gjøres om til tall (du finner funksjoner for dette i **Tekst**-menyen i **Avansert**) og lagres i variablene | ||
| {{url> | {{url> | ||
| - | <hidden Tips 3>Du bør bruke en "for element verdi av // | + | |
| - | <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.</ | + | |
| + | ===== Sjekke om du har et skip der motspilleren bomber ===== | ||
| + | Hvis du har et skip på den X- og Y-koordinaten fienden bomber må du fjerne dette skipet fra tabellen // | ||
| + | |||
| + | Du kan bruke en "for element | ||
| + | |||
| + | {{url> | ||
| + | |||
| + | <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 // | ||
| + | <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.</ | ||
| {{url> | {{url> | ||
| Linje 87: | 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? | * Hvis du ikke har en medspiller greier du kanskje å endre programmet slik du spiller mot datamaskinen? | ||
| + | * 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.1585826204.txt.gz · Sist endret: (ekstern redigering)
