IT2 - Heldagsprøve

Torsdag 12.05.2016

09:00 - 14:00

Alle hjelpemidler er tillatt, med unntak av Internett og andre verktøy som tillater kommunikasjon.

Internett vil være åpent frem til kl. 09:30, slik at man kan laste ned filer (video-, lyd- eller bildefiler) man ønsker å bruke i besvarelsen.


Tema: Fotball i tiende divisjon

Fotballklubben Sparket FK spiller i 10de divisjon og har ansatt deg som konsulent for å lage innhold på nettsidene deres.

Oppgave 1 - animasjon

Sparket FK ønsker at hjemmesiden skal inneholde en animasjon som viser en fotball som går i en kurve og inn i et fotballmål.

Lag denne animasjonen.

 

Oppgave 2 - Programmering

a)

Sparket FK har egen fotballbane med nedslitt klubbhus og falleferdig tribune på banens ene langside. Tribunen har 3 rader med 20 plasser, men det er sjelden flere enn 5 tilstede på hjemmekampene.

Sparket ønsker at du skal lage et digitalt billettsalgsystem.

Applikasjonen skal vise et kart over plassene, og billettkjøperen skal kunne velge plasser med museklikk, velge type billett (Voksen, Barn, Senior eller Medlem), og få opp en kvittering som viser hva som er kjøpt og totalpris.

Deretter skal billettkjøperen kunne klikke på en knapp med teksten "Til kassen", men vi lager ingen lytterfunksjon for denne knappen, da denne delen skal utvikles av et annet firma.

b)

Du skal lage en funksjon som lager en oversikt over status i serien ut fra lagrede data om kamper som er spilt.

Vi forutsetter følgende datastruktur:

var navnetabell: Array = ["Freksneset FK", "Mosebakken FK", "Nedsiden FK", "Sparket FK"];
var kamptabell: Array =
   [
      [ {H: -1, B: -1 }, {H:  0, B:  1 }, {H: -1, B: -1 }, {H: -1, B: -1 } ],
      [ {H: -1, B: -1 }, {H: -1, B: -1 }, {H:  2, B:  3 }, {H: -1, B: -1 } ],
      [ {H: -1, B: -1 }, {H: -1, B: -1 }, {H: -1, B: -1 }, {H:  2, B:  0 } ],
      [ {H:  1, B:  0 }, {H: -1, B: -1 }, {H: -1, B: -1 }, {H: -1, B: -1 } ]
   ];

Det denne kamptabellen viser er at det er spillt følgende kamper med følgende mål på hjemme og bortelag:

Hjemmelag - Bortelag: Mål hjemmelag - mål bortelag:
Freksneset FK - Mosebakken FK 0 - 1
Mosebakken FK - Nedsiden FK 2 - 3
Nedsiden FK - Sparket FK 2 - 0
Sparket FK - Freksneset FK 1 - 0

I kamper som ikke er spilt er det lagt inn -1 for målene på både hjemme- og bortelag.

Funksjonen din skal beregne poeng for hvert lag og lage og returnere en tabell som ser omtrent slik ut:

var resultattabell: Array =
   [ 
     { lag: "Nedsiden FK"        ,  poeng: 6 },
     { lag: "MoseBakken FK"   ,  poeng: 3 },
     { lag: "Sparket FK"           ,  poeng: 3 },
     { lag: "Freksneset FK"      ,  poeng: 0 }
   ];

Poengene fordeles slik: Hjemmeseier gir 3 poeng, uavgjort gir 1 poeng og tap gir 0 poeng.

 

Oppgave 3 - Planlegging og dokumentasjon

Det skal også lages en registreringdel til applikasjonen som gjør det mulig å legge inn kampresultater etterhvert som kampene blir spillt.

Registreringen skal oppdatere kamptabellen som er eksemplifisert i oppgave 2b.

Brukeren som registrerer kampdata skal kunne velge hjemmelag og bortelag og angi målene til hvert lag og få dette resultatet registrert.

Lag et dokument hvor du dokumenterer planleggingen av designet til en slik registreringsmodul til applikasjonen.