Commit f24c6f3c authored by Anna Maria Eilertsen's avatar Anna Maria Eilertsen
Browse files

core ex text is fin

parent ff1f352a
......@@ -2,6 +2,7 @@
* [README](README.md) – for utfylling
* **Oppgavetekst**
* [Tips for å komme i gang](Tips.md)
## Læringsmål
- Utvikle objekt-orienterte program fra scratch
......@@ -20,25 +21,24 @@ Denne oppgaven går ut på å lage et program som lar en og to spillere spille [
![](img/TicTacToe.gif)
## Krav til programmet
*Her beskriver vi funksjonelle krav til programmet og essensielle krav for å bestå.*
Du får kun utlevert et tomt Java-prosjekt og må lage klasser, pakker og tester selv. Løsningene blir vurdert på funksjonalitet, kodekvalitet, dokumentasjon og testing samt at de illustrerer forståelse av INF101-konsepter.
Du får kun utlevert et tomt Java-prosjekt og må lage klasser, pakker og tester selv. Løsningen blir vurdert på funksjonalitet, kodekvalitet, dokumentasjon og testing og at den viser forståelse av INF101-konsepter.
**Programmet må støtte både Tripp-trapp-tresko og Fire på rad.**
For eksempel kan man ved oppstart bli spurt om hvilket spill man ønsker å spille. Begge spillene skal oppføre seg i henhold til sine regler. Du må altså implementere begge spillene, og du må selv *abstrahere* reglene.
For eksempel kan man ved oppstart bli spurt om hvilket spill man ønsker å spille. Begge spillene skal oppføre seg i henhold til sine regler.
**Programmet må støtte både én og to spillere.** To spillere må kunne spille mot hverandre på samme maskin, for eksempel ved å ha hver sin tur til å gi input. Én spiller må kunne spille mot datamaskinen: du må altså implementere en eller annen form for AI for begge spillene. *Programmet må støtte både en og to spillere for begge spillene.*
**Programmet må støtte både én og to spillere.** To spillere må kunne spille mot hverandre på samme maskin, for eksempel ved å ha hver sin tur til å gi input. Én spiller må kunne spille mot datamaskinen: du må altså implementere en eller annen form for AI for begge spillene.
**Programmet må ha brukergrensesnitt.**
Vi aksepterer program som spilles via terminalen ved hjelp av tekst-input og program som spilles med grafisk, klikk-bart grensesnitt. Du kan få maks uttelling selv om du har tekst-basert grensesnitt. *Du trenger kun implementere én av delene.*
**Du må fortelle oss hvordan vi skal rette programmet ditt.** Filen [README.md](README.md) skal inneholde din beskrivelse av hvordan man kjører programmet ditt, hva slags funksjonalitet du støtter, hvordan koden er organisert, kjente bugs og work-arounds, samt alle designvalg du har tatt. *Vi bruker din beskrivelse av programmet ditt for å gi deg poeng og vil kun rette kode og funksjonalitet som du beskriver i [README.md](README.md).*
**Programmet må være velskrevet, forståelig, testet og dokumentert i henhold til INF101-pensum.** Et program som kjører perfekt, men som mangler tester, dokumentasjon, objekt-orientert design og [README.md](README.md) risikerer stryk.
**NB: Et program som kjører perfekt, men som mangler tester, dokumentasjon, objekt-orientert design og [README.md](README.md) risikerer stryk.**
**Du må fortelle oss hvordan vi skal rette programmet ditt.** Filen [README.md](README.md) skal inneholde din beskrivelse av hvordan man kjører programmet ditt, hva slags funksjonalitet du støtter, hvordan koden er organisert, kjente bugs og work-arounds, samt alle designvalg du har tatt. *Vi bruker din beskrivelse av programmet ditt for å gi deg poeng og vil kun rette kode og funksjonalitet som du beskriver i [README.md](README.md).*
**Programmet ditt må ligge i prosjektet du har fått utdelt av oss.** For at vi skal kunne enkelt kjøre og teste koden din har vi gitt deg et tomt Java prosjekt. Du må levere progreammet ved hjelp av dette prosjektet: program-koden skal ligge i `main` og test-kode i `test`. Resurser som bilder og liknende legges i `resources`. *Alle kodefiler, resurser og dokumentasjon må være levert til ditt online GitLab repositorie for at vi skal rette det.*
......@@ -49,7 +49,7 @@ Vi forventer så klart at programmet oppfører seg cirka som det skal, men for
***Det er bedre å levere en oppgave som har høy kvalitet på koden og et par bugs, enn et spill som kjører korrekt, men har rotete kode med dårlig inndeling i klasser og manglende dokumentasjon!***
Dersom det er mangler i oppgaven får du mindre poeng-trekk for dem dersom du kan forklare hva som er problemet og hvordan du *ville* løst det i README-filen din. Dette gjelder også designvalgene – hvis du oppdager for sent at du har gjort dumme valg vil du få mer uttelling dersom du forklarer erfaringen og hvordan du ville gjort det annerledes, selv om du ikke ikke har tid til å fikse implementasjonen.
Dersom du har mangler eller bugs, eller dårlig organisert kode, vil du få trekk for det. Du kan minske poeng-trekk ved å beskrive mangler ved oppgaven i README-filen, og eventuelt hvorfor de er der/hvordan du *ville/burde* løst dem. Dette gjelder også designvalgene – hvis du oppdager for sent at du har gjort dumme valg vil du få mer uttelling dersom du forklarer erfaringen og hvordan du ville gjort det annerledes, selv om du ikke ikke har tid til å fikse implementasjonen.
**Like spill muliggjør kodegjenbruk.** Disse to spillene har en del fellestrekk selv om de også er forskjellige. Mye av koden deres kan derfor deles mellom dem. Du vil få mye poeng-uttelling dersom du finner gode løsninger for å gjenbruke kode mellom spillene.
......@@ -57,5 +57,5 @@ Dersom det er mangler i oppgaven får du mindre poeng-trekk for dem dersom du ka
Du må gjerne diskutere oppgaven med andre, men dere må skrive individuell kode. Dersom du samarbeider tett med noen så beskriv det i README.md-filen. Se også om code review i [Tips og Triks](Tips.md#code-review-feedback-p%C3%A5-hverandres-kode)
**Ekstrapoeng.** Som på forige oppgave kan du få ekstra-poeng ved å implementere ekstra funksjonalitet. Forslag til dette ligger i [Tips og Triks](Tips.md).
**Ekstrapoeng.** Som på forige oppgave kan du få ekstrapoeng ved å implementere ekstra funksjonalitet. Forslag til dette ligger i [Tips og Triks](Tips.md).
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment