You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
3.6 KiB
62 lines
3.6 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "124efddbb65166cddb38075ad6dae324",
|
|
"translation_date": "2025-10-23T22:37:43+00:00",
|
|
"source_file": "6-space-game/4-collision-detection/assignment.md",
|
|
"language_code": "no"
|
|
}
|
|
-->
|
|
# Utforsk Kollisjoner
|
|
|
|
## Instruksjoner
|
|
|
|
Bruk kunnskapen din om kollisjonsdeteksjon ved å lage et tilpasset mini-spill som demonstrerer ulike typer objektinteraksjoner. Denne oppgaven vil hjelpe deg å forstå kollisjonsmekanikk gjennom kreativ implementering og eksperimentering.
|
|
|
|
### Prosjektkrav
|
|
|
|
**Lag et lite interaktivt spill som inneholder:**
|
|
- **Flere bevegelige objekter** som kan kontrolleres via tastatur eller museinngang
|
|
- **Kollisjonsdeteksjonssystem** basert på prinsippene for rektangelinterseksjon fra leksjonen
|
|
- **Visuell tilbakemelding** når kollisjoner oppstår (objektdestruksjon, fargeendringer, effekter)
|
|
- **Spilleregler** som gjør kollisjoner meningsfulle og engasjerende
|
|
|
|
### Kreative forslag
|
|
|
|
**Vurder å implementere ett av disse scenarioene:**
|
|
- **Asteroidefelt**: Naviger et skip gjennom farlig romskrot
|
|
- **Radiobiler**: Lag en arena med kollisjoner basert på fysikk
|
|
- **Meteorforsvar**: Beskytt jorden mot innkommende romsteiner
|
|
- **Samlespill**: Samle gjenstander mens du unngår hindringer
|
|
- **Territoriekontroll**: Konkurrerende objekter som prøver å ta kontroll over områder
|
|
|
|
### Teknisk implementering
|
|
|
|
**Løsningen din bør demonstrere:**
|
|
- Riktig bruk av rektangelbasert kollisjonsdeteksjon
|
|
- Hendelsesdrevet programmering for brukerinngang
|
|
- Objektlivssyklusadministrasjon (opprettelse og destruksjon)
|
|
- Ren kodeorganisering med passende klassestruktur
|
|
|
|
### Ekstra utfordringer
|
|
|
|
**Forbedre spillet ditt med ekstra funksjoner:**
|
|
- **Partikkeffekter** når kollisjoner oppstår
|
|
- **Lyd effekter** for ulike kollisjonstyper
|
|
- **Poengsystem** basert på kollisjonsresultater
|
|
- **Flere kollisjonstyper** med forskjellige oppførsel
|
|
- **Progressiv vanskelighetsgrad** som øker over tid
|
|
|
|
## Vurderingskriterier
|
|
|
|
| Kriterier | Fremragende | Tilfredsstillende | Trenger forbedring |
|
|
|-----------|-------------|-------------------|--------------------|
|
|
| **Kollisjonsdeteksjon** | Implementerer nøyaktig rektangelbasert kollisjonsdeteksjon med flere objekttyper og sofistikerte interaksjonsregler | Grunnleggende kollisjonsdeteksjon fungerer korrekt med enkle objektinteraksjoner | Kollisjonsdeteksjon har problemer eller fungerer ikke konsekvent |
|
|
| **Kodekvalitet** | Ren, godt organisert kode med riktig klassestruktur, meningsfulle variabelnavn og passende kommentarer | Koden fungerer, men kan være bedre organisert eller dokumentert | Koden er vanskelig å forstå eller dårlig strukturert |
|
|
| **Brukerinteraksjon** | Responsive kontroller med jevn spillopplevelse, tydelig visuell tilbakemelding og engasjerende mekanikk | Grunnleggende kontroller fungerer med tilstrekkelig tilbakemelding | Kontroller er lite responsive eller forvirrende |
|
|
| **Kreativitet** | Originalt konsept med unike funksjoner, visuell polering og innovative kollisjonsoppførsel | Standard implementering med noen kreative elementer | Grunnleggende funksjonalitet uten kreative forbedringer |
|
|
|
|
---
|
|
|
|
**Ansvarsfraskrivelse**:
|
|
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi tilstreber nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på dets opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen. |