mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-02-07 18:49:34 +01:00
Skrevet ferdig Oblig3.md
Lagt til screenshot av prosjekttavle. Lagt til klassediagram for oblig3.
This commit is contained in:
parent
8429963c9b
commit
f6a79a9d5e
@ -5,41 +5,54 @@
|
||||
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.
|
||||
Siden vi fra begynnelsen av prosjektet har 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 innførte restriksjoner det har medført.
|
||||
|
||||
### 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.\
|
||||
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.
|
||||
legger de seg til i oppgaven på prosjekttavlen for så å flytte oppgaven fra "To do" kolonnen 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.\
|
||||
og jobbing med brukerhistorier. Etter dette beholdt vi de satte møtetidene våre 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.
|
||||
* Forbedre bruk av tester. Bruke mer Test Driven Development. Vi har til nå skrevet tester 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.
|
||||
* Vi prioriterer implementeringen av funksjonalitetene i spillet fra bunnen og opp og vi føler nå at vi kan
|
||||
begynne med implementasjon av faser og funksjonalitet faser trenger.
|
||||
|
||||
* Til neste oblig må vi bli ferdig med runder og kortvelging først. Etter dette prioriterer vi å få
|
||||
nettverksfunksjonaliteten på plass. Til slutt vil vi prioritere det grafiske og eventuelle nice to haves.
|
||||
|
||||
![PNG](../Deliverables/Screenshots/Prosjekttavle_26_03_2020.PNG "Skjermdump prosjekttavle")
|
||||
|
||||
### 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.
|
||||
* 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.\
|
||||
|
||||
* Siden vi har brukt gruppe og parprogrammering siden starten har kunnskapsoverføring skjedd på denne måten.
|
||||
|
||||
## Deloppgave 2
|
||||
### Krav
|
||||
Implementere fase og alt av funksjoner en fase kommer til trenge.
|
||||
Implementere faser og alt av funksjonalitet en fase trenger.
|
||||
* Implementere programmeringskort.
|
||||
* Implementere kortstokk.
|
||||
* Implementere lasere.
|
||||
* Implementere visning av laser avfyring.
|
||||
* Implementere transportbånd.
|
||||
* Implementere roterende tannhjul.
|
||||
* Implementere registrering av besøkte flagg.
|
||||
|
||||
### Brukerhistorier og akseptansekrav
|
||||
|
||||
@ -49,17 +62,17 @@ Implementere fase og alt av funksjoner en fase kommer til trenge.
|
||||
* 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.
|
||||
* Som spiller trenger jeg et program for å fortelle roboten min hva den skal gjøre i løpet av en runde.
|
||||
* Spilleren har et funksjonelt program.
|
||||
* Skal kunne hente ut programmet fra en spiller.
|
||||
|
||||
* Som fase trenger jeg å kunne aktivere andre objekter for å progresere spillet.
|
||||
* Som fase trenger jeg å kunne aktivere andre objekter for å progressere 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.
|
||||
* Transportbånd kan rotere roboter i spesifikke scenario.
|
||||
|
||||
* Som fase trenger jeg å kunne kjøre programmeringskort etter høyest verdi for å bestemme
|
||||
rekkefølgen på trekkene til robotene.
|
||||
@ -67,20 +80,23 @@ Implementere fase og alt av funksjoner en fase kommer til trenge.
|
||||
* Programmeringskort er sorterbare.
|
||||
* Programmeringskort kan hentes og gis videre.
|
||||
|
||||
* Som tannhjul trenger jeg å kunen snu roboter for gjennomføre min funksjon.
|
||||
* Som tannhjul trenger jeg å kunne 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.
|
||||
* Laser skyter i en rett linje i den retningen 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.
|
||||
gitt at den har besøkt det forrige flagget.
|
||||
|
||||
* Spilleren vinner når alle flagg er besøkt i rett rekkefølge.
|
||||
|
||||
* Som spiller trenger jeg å kunne se laserstrålen på brettet for å kunne vite hvor den treffer.
|
||||
* Laserstrålen er synlig på brettet når den blir avfyrt.
|
||||
|
||||
### Arbeidsoppgaver
|
||||
#### Spiller
|
||||
* Lag en klasse som representerer en kortstokk.
|
||||
@ -89,11 +105,25 @@ Implementere fase og alt av funksjoner en fase kommer til trenge.
|
||||
* Legg til en representasjon av programmeringskort.
|
||||
|
||||
#### Fase
|
||||
* Legg til funksjon for å sortere programmeringskort utifra høyest verdi.
|
||||
* Legg til funksjon for å sortere programmeringskort ut ifra høyest verdi.
|
||||
* Legg til funksjon for å aktivere tannhjul.
|
||||
* Lage en funksjon for å fyre av en laser i en retning.
|
||||
* Legg til visning av laseravfyring.
|
||||
* 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.
|
||||
* Legg til en funksjon for å sjekke om roboten har besøkt forrige flagg.
|
||||
* Legg til en funksjon som sjekker flaggstatus 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.
|
||||
|
||||
### Hovedkrav for MVP
|
||||
* Alle krav vi har jobbet med er en del av MVP med unntak av visningen av laseravfyring.
|
||||
* Spillet trenger faser for å virke sånn som det skal.
|
||||
* Alle kravene vi har jobbet med anser vi som viktige deler av en fase.
|
||||
|
||||
## Deloppgave 3
|
||||
### Commitsfordeling
|
||||
Vi har brukt en del parprogrammering og har derfor noe skjevfordeling av commits. Vi har stort sett kommentert hvem
|
||||
som har programmert sammen i commitmeldingen.
|
||||
|
||||
## UML
|
||||
![UML](../Deliverables/Umls/UmlOblig3.png "UML Oblig 3")
|
BIN
Deliverables/Screenshots/Prosjekttavle_26_03_2020.PNG
Normal file
BIN
Deliverables/Screenshots/Prosjekttavle_26_03_2020.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 117 KiB |
BIN
Deliverables/Umls/UmlOblig3.png
Normal file
BIN
Deliverables/Umls/UmlOblig3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 172 KiB |
Loading…
x
Reference in New Issue
Block a user