README.md 1.95 KB
Newer Older
Yngve Sekse Kristiansen's avatar
Yngve Sekse Kristiansen committed
1
# INF101
Anya Helene Bagge's avatar
Anya Helene Bagge committed
2

3
Dette prosjektet inneholder [Labøvelse 4](LAB-4.md). Du kan også [lese oppgaven online](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab4/blob/master/LAB-4.md) (kan evt. ha små oppdateringer i oppgaveteksten som ikke er med i din private kopi).
Anya Helene Bagge's avatar
Anya Helene Bagge committed
4

5
6
7
8
9
10
11
12
13
14
15
## Tips

#### Tips 1
Det er veldig lett å bli forvirret over alle de forskjellige repositoriet (mitt, ditt, naboens, lab2, lab3, lab4...). Kan være greit å tegne en oversikt, f.eks... I tillegg kan du holde litt oversikt over hva som har skjedd (f.eks. om du har eller ikke har merget lab3 til lab4) ved å se på Overview → Activity og/eller Repository → Commits (begge deler på venstre side av prosjektsiden på retting.ii.uib.no). Der får du se hvem som har gjort hva med koden din. (Og hadde dette vært enkelt og lettvint å holde styr på, så hadde vi selvfølgelig ikke laget oppgave av det... :) )

#### Tips 2
Du får feil i labyrint-pakken når du er ferdig med Del 1 av oppgaven – det er meningen. I tillegg får du sannsynligvis en feil i MyGrid som gjør at du ikke kan kjøre Brian's Brain eller Langton's Ant med en gang. Dette er ting du skal fikse i løpet av Del 2. Problemet er at vi nå har gjort IList/MyList generisk, uten at IGrid/MyGrid er oppdatert tilsvarende (det er din jobb). Da vet ikke Java lenger at listen "cells" inneholder CellState-objekter, den vet bare at de er "Object", og klager når get()-metoden skal hente en CellState ut fra "cells" og returnere den. Du kan fikse det midlertidig ved å si "return (CellState) cells.get(...);" i MyGrid.get() (da forteller du Java at du er sikkert på at objektet er en CellState). Alternativt kan du endre "IList cells" til "IList<CellState> cells" (+ oppdatere konstruktøren din) – eller rett og slett bare gjøre Del 2 Steg 2.

## Korrigerte feil

I Del 2 steg 2 mente vi `MyGrid<CellState>` der hvor det stod `GridiTest<CellState>`. (Du *kan* lage generiske tester, men det er litt mer komplisert og vi skal se på det senere.)