Fiasko/Deliverables/Oblig2.md

218 lines
8.5 KiB
Markdown
Raw Normal View History

# Team Fiasko
2020-02-20 11:23:28 +01:00
## Deloppgave 1
* Rollene har fungert greit fram til nå.
### Tobias
#### Kommunikasjonsleder
2020-02-27 18:34:27 +01:00
##### Har ansvar for å organisere gruppemøter og parprogrameringsmøter
* Rollen innebærer å finne ut hvilke dager folk kan møte og om vi burde møte i person eller utføre møtee digitalt på discord
* Jeg får også beskjed om noen er syke slik at gruppen kan ta det i betraktning under et møte.
### Kristian
#### Teamleder
##### Ansvarlig for å vite hva alle gjør og burde gjøre til enhver tid
2020-02-27 18:34:27 +01:00
* Har holdt styr på prosjekt-tavlen.
* Har hatt kontroll over hvem som skal gjøre hvilken av oppgavene på prosjekttavlen.
2020-02-27 18:34:27 +01:00
* Har kontrollert kvaliteten på andres arbeid.
### Steinar
#### Møteorganisator
##### Ansvarlig for å organisere hva som skal gjennomgås på de avtalte møtene
* Kommer med en liten plan for hva vi skal snakke om på møtene.
2020-02-27 18:34:27 +01:00
* Kontrollerer at møter holdes innenfor agendaen.
### Gabriel
#### Kundekontakt
##### Ansvarlig for å vite alle spilleregler
2020-02-27 18:45:40 +01:00
* Må svare på spørsmål fra de andre på gruppen angående spillereglene.
* Må ha kontroll over de forskjellige mekanikkene i spillet.
2020-02-26 20:58:00 +01:00
### Torbjørn
#### Dokumentasjonsansvarlig
2020-02-27 18:34:27 +01:00
##### Dokumenterer møtene og sørger for at innleveringene er riktige
* Sørger for at et referat blir skrevet for hvert møte.
* Har ansvar for at dokumentasjon i og utenfor kode er god nok.
2020-02-27 18:34:27 +01:00
* Ser over rettskrivning og fikser markdown feil.
2020-02-26 20:58:00 +01:00
### Videre med deloppgave 1
* Teamet fungerer fint og oppsettet vi har valgt fungerer fint for oss for tiden.
* Alle blir hørt og det er åpent for å komme med tilbakemeldinger på ting som kan bli bedre.
* Kommunikasjonen fungerer bra.
* Kan bli bedre til å ta initiativet med å begynne på oppgaver.
2020-02-27 18:34:27 +01:00
* Vi synes det var en god idea å planlegge klassestrukturene felles i et grupperom. Det gav alle en god oversikt over hva de forskjellige klassen måtte inneholde.
2020-02-26 20:58:00 +01:00
2020-02-27 18:34:27 +01:00
* Vi har brukt parprogramering som har gjort at commits har blitt en del forskjøvet.
2020-02-27 18:34:27 +01:00
* En del har blitt diskutert i gruppen der en har gjort alle notater.
2020-02-27 18:34:27 +01:00
### Forbedringpunkter
2020-02-26 20:58:00 +01:00
* Jevnere commits fra alle på laget
* Bli bedre på brukerhistorier
2020-02-20 11:23:28 +01:00
## Deloppgave 2
### Krav
2020-02-27 18:34:27 +01:00
1. En robot som kan bevege seg på brettet.
2. Forskjellige funksjonelle objekter/ruter på kartet (eks. hull, vegg).
3. Roboter dør hvis de går utenfor spillbrettet eller faller i et hull.
4. Roboter må kunne dytte hverandre.
5. Roboten trenger å kunne ta skade.
6. En robot trenger liv.
7. En robot som er ødelagt vil komme tilbake i en backupposisjon med to i skade.
8. Vise hendelser som skjer på skjermen med en forsinkelse slik at spilleren ser bevegelsene i spillet.
#### Brukerhistorier for krav 1
2020-02-20 11:23:28 +01:00
*Brukerhistorie*
2020-02-27 18:34:27 +01:00
* Som robot trenger jeg posisjon en for å ha kontroll på hvor jeg er og hvor jeg skal.
2020-02-20 11:23:28 +01:00
*Akseptansekrav*
2020-02-27 18:34:27 +01:00
* Vi har en klasse som lagrer en posisjon for en robot på brettet..
* Posisjoner består av x og y koordinater.
2020-02-27 18:51:51 +01:00
* Roboten lagrer en instans av positions klassen.
2020-02-26 19:44:32 +01:00
*Brukerhistorie*
* Som spiller trenger jeg en robot for å kunne spille spillet.
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
2020-02-27 18:34:27 +01:00
* Vi har en representasjon av en robot, som kan bli plassert på brettet og flyttet på.
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Lage en klasse som representer en posisjon.
* Roboten må inneholde en posisjon.
* Lage en klasse som representerer en robot.
2020-02-26 19:44:32 +01:00
#### Brukerhistorier for krav 2
2020-02-26 19:44:32 +01:00
*Brukerhistorie*
2020-02-27 18:34:27 +01:00
* Som brett må jeg kunne ha forskjellige tiles for å kunne vise alle aspektene ved spillet.
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
* Å kunne plassere en type tile på brettet.
2020-02-27 18:34:27 +01:00
* Brettet må kunne vite hvilken tile som er på en bestemt position.
2020-02-26 19:44:32 +01:00
*Brukerhistorie*
* Som vegg må jeg kunne stoppe en robot fra å gå gjennom meg for å hindre den i å gjøre et ugyldig trekk.
* Som vegg må jeg kunne bli plassert i forskjellige retninger for
2020-02-27 12:09:42 +01:00
å kunne bestemme den funksjonelle retningen til veggen.
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
* En robot som prøver å gå gjennom en vegg blir stoppet.
2020-02-27 18:34:27 +01:00
* Kunne plassere vegger i ulike retninger.
2020-02-20 11:23:28 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Lage en representasjon av en vegg.
* Endre bevegelsesmetoden til roboten slik at den følger funksjonaliteten til vegger.
* Kunne plassere veggen i forskjellige retninger.
2020-02-27 18:34:27 +01:00
* Legge til en representasjon av et hull.
* Lage en representasjon av en tile.
* Legge til en metode i brettet som forteller oss hvilken tile som er i en bestemt posisjon.
* Legge til en måte for å kunne lage et brett med forskjellige tiles i spesifikke posisjoner.
2020-02-26 19:44:32 +01:00
#### Brukerhistorier for krav 3
2020-02-20 11:23:28 +01:00
*Brukerhistorie*
2020-02-27 18:34:27 +01:00
* Som spiller må roboten min kunne dø, for å håndtere om roboten tar for mye skade eller går i et hull/ut av kartet.
2020-02-25 15:58:43 +01:00
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
* Roboten mister et liv hvis den går i et hull eller av brettet.
* Roboten blir fjernet fra brettet.
2020-02-25 15:58:43 +01:00
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Legge til en metode som fjerner liv fra roboten.
2020-02-27 18:34:27 +01:00
* Legge til en metode som fjerner en robot fra brettet.
2020-02-25 15:58:43 +01:00
2020-02-27 18:34:27 +01:00
* Legge til en metode som sjekker posisjonen til roboten for å se om den er gått i et hull eller om den har gått utenfor brettet.
2020-02-25 15:58:43 +01:00
#### Brukerhistorier for krav 4
2020-02-25 15:58:43 +01:00
*Brukerhistorie*
* Som robot må jeg kunne dytte en annen robot hvis det er lovlig å dytte roboten, for å kunne gjøre et gyldig trekk.
2020-02-25 15:58:43 +01:00
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
2020-02-27 18:34:27 +01:00
* Hvis en robot beveger seg til en posisjon hvor det er en annen robot, vil den andre roboten bli dyttet så lenge den kan bli dyttet.
2020-02-26 19:44:32 +01:00
* Hvis den andre roboten blir blokkert av en vegg så kan den ikke bli dyttet og ingen av robotene flytter på seg.
2020-02-27 18:51:51 +01:00
* Hvis det er flere roboter på rekke, gitt at det ikke er noen vegg som stopper de, blir alle robotene flyttet.
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Legge til funksjonalitet for å sjekke om det er en annen robot i veien.
* Legge til funksjonalitet for å sjekke om den andre roboten kan bli dyttet i retningen den første roboten peker.
* Legge til funksjonalitet for å dytte roboter.
2020-02-25 15:58:43 +01:00
#### Brukerhistorier for krav 5
2020-02-25 15:58:43 +01:00
*Brukerhistorie*
2020-02-27 18:34:27 +01:00
* Som spiller må roboten min kunne ta skade, for å håndtere påvirkning fra objekter som avgir skade til roboter.
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
* Roboten sin skadeverdi blir økt hvis den tar skade.
2020-02-25 15:58:43 +01:00
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Legge til en skadeverdi i roboten som holder styr på mengden skade roboten har.
* Legge til en metode for å sette skaden til roboten.
* Legge til en metode for å hente ut skaden til roboten.
2020-02-25 15:58:43 +01:00
#### Brukerhistorier for krav 6
2020-02-25 15:58:43 +01:00
*Brukerhistorie*
* Som spiller trenger roboten min liv for å kunne tape.
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
2020-02-27 18:51:51 +01:00
* Roboten har en verdi som representerer mengden liv den har.
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Legge til en liv-verdi i robot klassen.
2020-02-25 15:58:43 +01:00
#### Brukerhistorier for krav 7
2020-02-25 15:58:43 +01:00
*Brukerhistorie*
2020-02-27 18:34:27 +01:00
* Som spiller må roboten min kunne gjennoppstå om den har flere liv, for å kunne spille videre.
2020-02-26 19:44:32 +01:00
*Akseptansekrav*
2020-02-27 18:34:27 +01:00
* En død robot gjennoppstår i en backup-posisjon om den har flere liv.
* Roboten har 2 i skade etter den gjennoppstår.
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Lage en metode som gjenoppliver en robot i en backup-posisjon og som setter skaden til roboten til 2.
2020-02-26 19:44:32 +01:00
#### Brukerhistorier for krav 8
2020-02-26 19:44:32 +01:00
*Brukerhistorie*
* Som spiller trenger jeg at det er litt forsinkelse i spiller slik at jeg kan se hva som faktisk skjer.
*Akseptansekrav*
* Det er en forsinkelse mellom hver handlig som skjer i spillet slik at vi kan følge med på hva som skjer.
2020-02-26 19:44:32 +01:00
*Arbeidsoppgaver*
2020-02-27 18:34:27 +01:00
* Legge til en forsinkelse mellom hver handling
* Sørge for at forsinkelsen ikke kræsjer spillet.
2020-02-26 19:44:32 +01:00
2020-02-27 18:45:40 +01:00
### Videre med del 2
2020-02-26 19:44:32 +01:00
2020-02-27 18:51:51 +01:00
* Vi har prioritert å lage spillet fra bunnen av og opp siden noen deler av spillet avhenger andre.
2020-02-27 11:12:52 +01:00
*Hovedkrav til MVP*
2020-02-27 18:34:27 +01:00
* Vi føler at alle de syv første kravene er en del av MVP, mens krav 8: Vise hendelser som skjer på skjermen med en
2020-02-27 12:09:42 +01:00
forsinkelse slik at spilleren ser bevegelsene i spillet, ikke er nødvendig for at spillet skal fungere.
2020-02-27 18:51:51 +01:00
2020-02-27 11:12:52 +01:00
* Vi har fulgt prioritering av kravene i MVP, men også implementert noen "nice to have" som vi synes er viktig for
2020-02-27 12:09:42 +01:00
spilleropplevelsen.
2020-02-27 11:40:43 +01:00
2020-02-27 18:34:27 +01:00
* Siden sist har vi jobbet mer på brett og spilleren, og jobbet med krav 1-7.
2020-02-27 11:12:52 +01:00
2020-02-27 18:34:27 +01:00
* For å se spesifikke oppgaver som er gjort, sjekk prosjekttavlen på github.
2020-02-27 11:12:52 +01:00
* Vi vet ikke om noen bugs i koden. Alle kjente bugs har blitt fikset underveis.
2020-02-27 12:00:53 +01:00
*Kjøredetaljer*
* Siden vi ikke er ferdig med spillet, blir det nå i stedet kjørt en automatisk demo når main kjøres.
2020-02-27 18:34:27 +01:00
* Demoen demonstrerer at roboter kan skyve hverandre, bli stoppet av vegger, falle i hull og dø av å gå utenfor brettet.
2020-02-27 12:00:53 +01:00
2020-02-27 11:28:09 +01:00
## UML
![UML](../Deliverables/Umls/UmlOblig2.png "UML Oblig 2")
![UML](../Deliverables/Umls/UmlOblig2WithoutDependencies.png "UML Oblig 2 uten avhengigheter")