Modul 10
Ni byggeklodser skal blive til én app, du selv har bygget og kan forklare.
De ni foregående moduler sluttede hver med en byggeklods. Her sætter du dem sammen. Der er ikke meget nyt at lære.
Modulet er ikke en trin-for-trin-opskrift som de andre. Du får appens struktur, de fire skærme, og for hver skærm hvilken byggeklods du skal hente frem. Selve blokkene bygger du selv. Det er den øvelse, der gør, at du kan forklare din egen kode bagefter.
Hav modulerne åbne i faner ved siden af. Der bliver henvist til dem hele vejen igennem.
Fire skærme. Brugeren logger ind, svarer på tre spørgsmål, ser sin score og kan gemme den til en fælles highscore-liste.
Skærme skiftes med setScreen("screenId");. I Design-fanen opretter du dem ved at klikke + ved siden af Screen1 og omdøbe dem.
Elementer hører til én skærm. En knap, du lægger på loginScreen, findes ikke på spilScreen. Sørg for at have den rigtige skærm valgt i Design, før du trækker noget ind.
Hent frem: byggeklodsen fra modul 4.
Design: to Text Inputs (navnFelt, kodeFelt), en
knap (loginKnap) og en label (loginStatus).
Du skal ændre to ting: gem brugerens navn i en variabel, der kan bruges senere, og skift skærm ved korrekt login i stedet for at skrive en besked.
spillerNavn oprettes helt øverst, uden for alt andet. Ellers
kan de andre skærme ikke få fat i den. Det er reglen fra modul 2.
Hent frem: byggeklodserne fra modul 5 (lister), modul 7 (tilstandsvariabel) og modul 8 (funktioner).
Design: en label til spørgsmålet (spmLabel), tre svarknapper
(svar1, svar2, svar3) og to labels til
score og feedback.
Tre lister, der følges ad: spørgsmålene, svarmulighederne og hvilket svar der er det rigtige. De skal stå i samme rækkefølge, så spørgsmål nummer 0 hører sammen med svar nummer 0 og facit nummer 0.
Kald visSpørgsmål() lige efter setScreen i login,
så det første spørgsmål står klar, når skærmen skifter.
Den her kaldes fra alle tre knapper, med et forskelligt tal hver gang. Det er parametrene fra modul 8 i praksis.
Betingelsen plads >= spørgsmål.length er den samme som i
modul 5, bare med en anden konsekvens. I stedet for at starte forfra skifter vi
skærm.
Hent frem: byggeklodsen fra modul 9.
Design: en label med slutscoren (slutScore), en Gem
score-knap og en Se highscore-knap.
Husk at oprette tabellen i Data-fanen først. Den skal hedde
highscores.
spillerNavn blev gemt helt tilbage på loginskærmen, og variablen
er der stadig, fordi den ligger øverst i koden og ikke inde i nogen onEvent.
Hent frem: byggeklodserne fra modul 6 og modul 9.
Tæl skinnerne i venstre side. Hver skinne er en blok, der pakker den næste ind: gul onEvent, grøn function, limegrøn readRecords, grøn callback og inderst den blå for-løkke. Bliver du i tvivl om, hvad der hører til hvad, så følg skinnerne.
En quiz om matematik og hovedstæder er ikke særlig let at snakke om til en eksamen. Skift emnet ud med noget, du kender noget til: dit fag, din sport, dit fritidsjob. Koden er den samme, kun teksten i listerne ændrer sig.
Andre retninger, hvis quizzen ikke siger dig noget:
Alle tre bruger de samme ni byggeklodser.
Du skal kunne åbne din egen app og forklare den. Gå den igennem på forhånd og tjek, at du kan pege på og sætte ord på hver enkelt ting: