From 6ac8ae3b20c779e579b3eab7f1c07634a6331988 Mon Sep 17 00:00:00 2001
From: torlunjen <tje012@uib.no>
Date: Mon, 23 Mar 2020 16:07:47 +0100
Subject: [PATCH] Adds Oblig3.md

---
 Deliverables/Oblig3.md | 97 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)
 create mode 100644 Deliverables/Oblig3.md

diff --git a/Deliverables/Oblig3.md b/Deliverables/Oblig3.md
new file mode 100644
index 0000000..3c9c0f4
--- /dev/null
+++ b/Deliverables/Oblig3.md
@@ -0,0 +1,97 @@
+# Team Fiasko
+
+## Deloppgave 1
+### Rollefordeling
+Rollefordelingen i teamet fungerer fint sånn som vi har det.
+
+### Erfaringer
+Siden vi har fra begynnelsen av prosjektet valgt å ha noen av møtene og parprogrammeringsøktene våre på Discord,
+var vi bedre rustet til utfordringene som kom med SARS-CoV-2 pandemien og de inførte restriksjoner
+det har medbragt.
+    
+### Retrospektiv
+#### Plan
+Det vi planlagte var å ha to fysiske møter og ett digitalt møte per korte sprint (en uke) 
+for parprogrammering, planlegging og generell diskusjon rundt prosjektet.\
+Vi planlagte også å lage ferdig alle brukerhistoriene, akseptansekravene og 
+arbeidsoppgavene før vi begynte noe av kodearbeidet.\
+Arbeidsoppgaver skulle settes opp som issues i prosjektet på GitHub med gode beskrivelser 
+for så å legges til prosjekttavlen. Når noen i teamet skal begynne på en ny arbeidsoppgave
+legger de seg til i oppgaven på prosjekttavlen for så å flytte oppgaven fra To do til In progress kolonnen.
+
+#### Gjennomførelse
+Vi har hatt noen fysiske møter før SARS-CoV-2 krisen startet. Disse gikk med til en del planlegging
+og jobbing med brukerhistorier. Etter dette beholdt vi møtetids oppsettet men alle møter ble digitale.\
+I denne sprinten har vi brukt en del digital parprogrammering med skjermdeling som har fungert bra for oss.\
+Ellers har vi gjennomført planen som planlagt.
+
+#### Forbedringspunkter
+*   Forbedre bruk av tester. Bruke mer test driven development. Vi har til nå skrevet teser etter vi har skrevet kode
+    noe som har ført til noen bugs som kanskje kunne vært unngått med tdd.
+    
+### Prioritering av oppgaver
+Vi må bli ferdig med runder og kortvelging først. Etter dette prioriterer vi å få nettverksfunksjonaliteten på plass.
+Til slutt vil vi prioritere det grafiske og eventulle nice to haves.
+
+### Gruppedynamikk og kommunikasjon
+Vi har noen uenigheter når det gjelder effektiv tidsbruk på møter og hvor mye tid hver enkelt skal bruke på
+prosjektet ut over de fastsatte møtetidene som utgjør ca 8 timer i uken.
+
+## Deloppgave 2
+### Krav
+Implementere fase og alt av funksjoner en fase kommer til trenge.
+
+### Brukerhistorier og akseptansekrav
+
+- Som spiller må jeg ha en kortstokk for å oppbevare kortene mine.
+    - Spilleren har en funksjonell kortstokk.
+
+- Som spiller trenger jeg programmeringskort for å programmere roboten min.
+    - Programmeringskort har en handling og en prioritet.
+
+- Som spiller trenger jeg et program for å fortelle roboten min hva den skal gjøre iløpet av en runde.
+    - Spilleren har et funksjonellt program.
+    - Skal kunne hente ut programmet fra en spiller.
+
+- Som fase trenger jeg å kunne aktivere andre objekter for å progresere spillet.
+    - En fase kan gjennomføres.
+    - Aktiverte objekter gjør sin funksjon.
+
+- Som transportbånd trenger jeg å kunne flytte roboter for å gjøre min funksjon.
+    - Transportbånd flytter robot i gitt retning.
+    - Transportbånd kan rotere roboter i spesefikke scenario.
+
+- Som fase trenger jeg å kunne kjøre programmeringskort etter høyest verdi for å bestemme 
+    rekkefølgen på trekkene til robotene.
+    - Programmeringskort er sorterbare.
+    - Programmeringskort kan hentes og gis videre.
+    
+- Som tannhjul trenger jeg å kunen snu roboter for gjennomføre min funksjon.
+    - Tannhjul vrir roboter som står på de 90 grader i retningen tannhjulet har.
+
+- Som laser trenger jeg å kunne avfyre laseren min for å gjøre skade på roboter.
+    - Laser skyter i en rett linje i den rettningen laseren har.
+    - Laseren blir stoppet av vegger og andre roboter.
+    - Laseren gjør skade på roboten den treffer.
+
+- Som spiller trenger jeg å kunne registrere flagg for å kunne vinne spillet.
+    - Ved slutten av en fase vil roboter som står på et flagg få oppdatert currentflagg verdien sin,
+     gitt at den har besøkt det forige flagget.
+    - Spilleren vinner når alle flagg er besøkt i rett rekkefølge.
+
+### Arbeidsoppgaver
+#### Spiller
+- Lag en klasse som representerer en kortstokk.
+- Legg til en kortstokk i spillerklassen.
+- Lag en representasjon av registere.
+- Legg til en representasjon av programmeringskort.
+
+#### Fase
+- Legg til funksjon for å sortere programmeringskort utifra høyest verdi.
+- Legg til funksjon for å aktivere tannhjul.
+- Lage en funksjon for å fyre av en laser i en retning.
+- Legg til en funksjon for å sjekke om en robot står på et flagg.
+- Legg til en funksjon for å sjekke om roboten har besøkt forige flagg.
+- Legg til en funksjon som sjekker flagstatus til en robot.
+- Legge til funksjon for å aktivere transportbånd.
+- Legg til en fase i robotrallygame som aktiverer alle objekter som skal bli aktivert i en fase.
\ No newline at end of file