TDT4100/oppgavetekster/oving1/Location.md

28 lines
1.2 KiB
Markdown
Raw Normal View History

2021-03-23 22:54:32 +01:00
# Tilstand og oppførsel Location
Oppgaven handler om en `Location`-klasse, som holder rede på $`(x,y)`$-posisjonen til en figur som beveger seg i et rutenett.
`Location`-klassen har følgende metoder:
- `up()` - beveger figuren en rute opp
- `down()` - beveger figuren en rute ned
- `left()` - beveger figuren en rute til venstre
- `right()` - beveger figuren en rute til høyre
- `getX()` - returnerer x-posisjonen til figuren
- `getY()` - returnerer y-posisjonen til figuren
Merk at konvensjonen innen datagrafikk og rutenettbaserte spill er at $`x`$ øker mot høyre (som i matte) og $`y`$ nedover (altså motsatt av i matte).
## Del 1 - Tilstandsdiagram
Tegn et tilstandsdiagram for en tenkt bruk av Location-klassen. Velg selv passende tilstandsvariable for $`(x,y)`$-posisjonen.
## Del 2 - Java-kode
Skriv Java-kode for `Location`-klassen med oppførsel som beskrevet over.
Lag en passende `toString()`-metode og en `main`-metode, slik at du kan sjekke at oppførselen stemmer med tilstandsdiagrammet (bruk samme start-tilstand og sekvens av kall).
Testkode for oppgaven finner du her: [src/test/java/stateandbehavior/LocationTest.java](../../src/test/java/stateandbehavior/LocationTest.java).