Datalogi
JavaScript
Side 2 af 9
Formål
Formålet med projektet er at lave en interaktiv teoriprøve i JavaScript, hvor brugeren sva-
rer på en række spørgsmål og derefter bliver evalueret.
Problemformulering
Projektet skal ligge så tæt som muligt på Politiets reelle teoriprøver til personbil. Prøven
begynder med en vejledningstekst, der fortæller om prøvens regler. Herefter vises en bil-
ledserie på 25 dias med tilhørende spørgsmål. Til hvert spørgsmål er der op til 4 svarmu-
ligheder, som man skal svare Ja eller Nej til. Det kan godt være tilfældet, at alle under-
spørgsmål til et dias skal besvares udelukkende med Ja eller udelukkende med Nej; men
det er dog sjældent.
Når alle delspørgsmål til et dias er besvaret, trykker brugeren på Fortsæt for at se næste
billede. Når alle 25 dias er gennemløbet, skal der komme en evaluering, der fortæller, om
man har bestået prøven, hvor mange fejl, man har haft, samt en forklaring på de dias, man
har haft fejl i.
Prøven er bestået, hvis man har 5 fejl eller derunder. Der dog en tidsbegrænsning på ½
minut til hvert dias, så hvis brugeren ikke selv trykker Fortsæt i løbet af ½ minut, fortsæt-
tes automatisk til næste dias. Ubesvarede delspørgsmål betyder naturligvis, at man har
det pågældende dias forkert.
Under uheldige omstændigheder kan brugeren risikere at trykke Fortsæt i det øjeblik,
hvor tiden er gået, så scriptet selv fortsætter, hvilket vil bevirke, at et billede springes over.
Dette ønskes der taget højde for ved at deaktivere Fortsæt de første par sekunder efter et
diasskift.
De 25 dias laves som selvstændige HTML-filer med en formular, hvor delspørgsmålene
besvares ved hjælp af radiogrupper. For at koden skal kunne overskues og »huske« bruge-
rens svar til hvert enkelt dias, opbygges projektet med
frames
, så en menulinje øverst
med knappen Fortsæt ligger i en individuel HTML-fil, mens de skiftende dias indlæses i
den nederste del af denne
frame
.
Ved hver kørsel af den funktion, der skifter billede, skal brugerens besvarelse indlæses til
den konstante
frame
-del, som bevares under hele prøven. Et
array
i denne del definerer
på forhånd de rigtige besvarelser, så de kan sammenlignes med brugerens input. Hvis
spørgsmålet er forkert besvaret, øges værdien på en
integer
med 1, så denne variabel til
enhver tid repræsenterer det samlede antal fejl. Et boolsk
array
defineret ved hvert dias
vil tilsvarende repræsentere, om det pågældende dias er besvaret korrekt.