Grunner til at jeg blir kalt bestemor //Strikkaputer

Solveig tar fram strikketøyet i klasserommet for første gang. «Ka e det du gjør, strikke du?!» Solveig tar fram strikketøyet for andre gang, tredje gang, fjerde gang. «Haha, du e no som ei lita bestemor Solveig.»

Jeg skal ikke nekte for det. Barnebarna mangler kanskje, men jeg passer på at familien får seg ullsokker og at de proppes med søtsaker.

Så mye som jeg strikket i fjor (sikkert bare 2/100 av hva mamma strikket) har jeg ikke strikket
før. To av prosjektene mine var puter, og begge to ble lagt bort når bare litt arbeid gjenstod.

MEN NÅ ER DE FERDIGE! (Insert fireworks here)
Sy i glidelås og hekle knapphull, det tok meg et halvår…

DSC_4300
Storputen er strikket med dobbelt Peer Gynt garn, annen hver rute rettstrikk og vrangstrikk. Forstykke og bakstykke er strikket hver for seg. Tenk så stor rundpinne jeg måtte hatt om jeg skulle strikke alt på en gang :-/

DSC_4299
Den mer kunstneriske lille, blå puten heter «Blå flettepute» og er fra boken Putefest av Nina Granlund Sæther. Strikket i Fabel, følger aldri garnforslagene i oppskriftene vettu. Mønsteret er et av de bedre jeg har vært borti. Det var veldig greit å følge, og jeg som kun fikk et lynkurs i flettestrikk før jeg begynte!

Til resten av den strikkende befolkningen som ikke har prøvd flettestrikk enda, det er faktisk ikke vanskelig!

//Heggvoll

Advertisements

Testing //Quiz-program

Om du er interessert i å lese om hva som gikk bra og hva som gikk mindre bra under programmeringen, fortsetter du å lese dette innlegget.

Funksjonene Start, Fasit, taPaNytt, taPaNytt2, tilbake, hjelp og tilbakeHjelp krevde svært lite koding og testing. De er består kun av gotoAndStop(), de gjør ikke annet enn å hoppe til en annen frame.

Jeg var usikker på om tilbake-funksjonen (som går fra «fasit-siden» til «resultat-siden») ville huske verdien til variabelen poeng, slik at resultatet kunne hentes ut på nytt om ønskelig. Jeg ble imidlertid gledelig overrasket da jeg testet funksjonen, og så at dette fungerte som ønsket.

Neste er en mye mer avansert funksjon, og krevde testing av flere faktorer.

  1. Gjøre ingenting om ikke et svaraternativ er valgt.
  2. Sjekke om riktig svar er valgt, og i så fall legge til et poeng.
  3. Generere nytt spørsmål og svaralternativer.
  4. Gå videre til resultatsiden etter siste spørsmål.

1. Fungerte greit ved første testing, ingen problemer med dette ble oppdaget under resten av jobbingen med programmet heller.

2. Etter noe tenking fant jeg ut at jeg burde ha en egen array med svaralternativene for å få til denne funksjonen på en enkel måte.

    if(group.selection.label == tabKorrekt[spørsmålNummer]) {
poeng++;
txtBox.text = String(poeng); }

Tracet variabelen poeng slik at jeg kunne sjekke om riktig poeng ble ført mens quizen ble tatt. Oppdaget etter hvert at for et av spørsmålene fikk man ikke poeng for riktig svar, men feilen var i arrayen. Hadde rett og slett skrevet indeksnummeret til feil svaralternativ i tabellen. Gikk over resten av spørsmålene og fant ingen flere feil.

3. Til å begynne med hadde jeg svaralternativene i egne tekstbokser ved siden av radioknappene, men fikk ikke da helt til å oppdatere de slik som de skulle. Fjernet tekstboksene og satte labelen til radioknappene lik svaralternativene, og da funket det.

Oppdaget at når nytt spørsmål ble generert, var valget av radio button fra tidligere bevart. Ønsket at de skulle være helt blanke, og hadde litt problemer med å få til dette. Prøvde å sette de til false og null, men fikk ikke dette til å fungere. Løsningen ble at jeg satte inn en fjerde radio button som står utenfor visingsområdet. Satte den til true inne i if/else-setningen som genererer nye spørsmål og svaralternativer. Dette fungerte ved testing.

4. Å få programmet til å gå til resultatsiden gjorde jeg ved bruk av ovennevnte if/else-setning. Om spørsmålsnummeret var høyere enn lengden på tabellen med spørsmålene, ble gotoAndStop(3) kjørt. Fungerte som ønsket.

Funksjonen resultat slet jeg mere med. Den var i en ny frame, så hvordan skulle jeg få med meg verdien til variabelen som telte poengene? Etter å ha prøvd og feilet en stund fikk jeg tips om å lage en tekstboks der poengene kunne skrives ut underveis. Med denne tekstboksen i både frame 2 og 3 fikk jeg med tallet jeg ville ha. Men nå var det blitt String, og man kan jo ikke bare regne med tekst. Så når jeg prøvde å skrive ut en tekst for 5 < poeng < 8 virket det som at if/else setningen ikke ble kjørt. Endte opp med en tungvint metode hvor jeg har en else if for hvert poeng alternativ. Var nok ikke den optimale løsningen, men den funker.

Den siste funksjonen er mail-funksjonen. Den føler jeg fortsatt ikke at jeg har fått testet godt nok, skulle gjerne sett hvordan teksten ble seende ut på mail. Fikk tracet meldingen greit, men der vistes så klart &body= og %0D%0A. Satser på at funksjonen fungerer som den skal, den er så og si kopiert fra et eksempel i læreboka, så det burde ikke være store feil i hvert fall.

I forhold til forrige programmeringsoppgave vi fikk (kassasystem) syns jeg denne gikk mye greiere. Det jeg lærte om bruk av arrays i den oppgaven fikk jeg god bruk for her, og jeg oppdaget hvor nyttig det er å anvende arrays.
Det har vært gøy å arbeide med denne quizen, og jeg ser fram til neste oppgave i søken etter å bli flink til å programmere.

//Heggvoll

Friends-quizen er ferdig! //Quiz-program

Er du den ultimate Friends fan? Har du sett alle episodene fem ganger? Se hvor mye DU kan ved å ta denne fantastiske quizen med spørsmål fra alle ti sesonger!

Ta testen på hjemmesida til Hung !

start

Quizen min er endelig ferdig! Har ikke gjort store endringer siden i går, annet enn å legge til en hjelp-funksjon for e-mail-funksjonen. I tillegg til det som står i programmet under «Hjelp» må man ha outlook på pc-en for at man skal kunne sende mail. Beleilig nok har ikke jeg det, så mail-funksjonen er ikke så godt testet som jeg skulle ønske (men satser på at den funker likevel!).

hjelp

(Versjonen av programmet som ligger på http://hungthieu.co.nf/friendsquiz.html er ikke oppdatert etter den siste endringen)

Btw. stor takk til Hung for å ha lagt ut quizen min på hjemmesida hans fra IT1. Jeg har en tilsvarende, men tok meg ikke bryet med å legge den ut på webhotel. Hadde kanskje vært nyttig. 🙂

//Heggvoll

Klasser og funkjsoner //Quiz-program

Quiz-programmet er snart ferdig, så da er det på tide å dokumentere arbeidet.
Jeg har valgt å ha alle spørsmålene i en frame for enkelhetsskyld, så jeg slapp å lage en ny frame for hvert spørsmål. Det er ti spørsmål i quizen, så jeg er fornøyd med det valget. Koden er naturligvis rettet etter dette valget.

Klasser:
Spørsmålene, svaralternativene og de riktige svarene er arrangert i Arrays. Ved hjelp av en variabel som holder styr på spørsmålsnummeret genereres spørsmål og svaralternativer med indexnr lik spørsmålsnummeret inn i framen.

Klassen String er brukt ved input og output av tekst i quizen. Spesielt mye brukt når resultatet skal vises og sendes på e-mail.

Funksjoner:
Programmet har 8 egendefinerte funksjoner, som er koblet opp til knapper:

Start er eneste funksjon i frame 1. Når knappen btnStart trykkes på sender funksjonen brukeren til frame 2 ved gotoAndStop(2), hvor første spørsmål kommer.

Neste gjør en rekke ting. Først sjekker den om en av radioknappene er valgt, hvis ikke return (ingenting skjer). En if/else setning sjekker om rett svar er valgt, og legger i så fall til et poeng til variabelen poeng, hvis ikke blir poengsummen stående. Variabelen spørsmålNummer økes så med én, og en ny if/else setning oppdaterer spørsmål og svaralternativ som vises hos brukeren. Hvis var spørsmålNummer har høyere verdi enn antall spørsmål, går Quizen til frame 3, hvor man får resultatet.

Resultat sjekker ved if/else-setninger poengsummen og skriver ut resultatet av Quizen i en tekstboks.

Fasit går sender brukeren til frame 4, hvor en liste over spørsmål og korrekte svar vises.

taPaNytt sender brukeren tilbake til frame 1 fra frame 3, som «restarter» programmet.

sEnd sender email med teksten fra resultat-tekstboksen til innskrevet email-adresse. En if/else setning sjekker om det er skrevet noe i resultat-tekstboksen, hvis ikke skjer ingenting. Etter email er sendt vil adressefeltet klareres for å gi tegn til brukeren om at email er sendt.

tilbake lar brukeren gå tilbake til resultatsiden fra fasitsiden (fra frame 4 til frame tre).

taPaNytt2 er lik funksjonen taPaNytt, men ligger i frame 4.

Det eneste som kanskje trenger mer jobbing er funksjonen sEnd, det skal være ganske lett, må bare få testet den ordentlig.

//Heggvoll

Ny oppgave: Quiz-program

Vi har fått en ny oppgave, lage et quiz-program. Det skal ha minst fem spørsmål, og hvert spørsmål skal ha to til fire svaralternativer. Resultatet av quizen skal sendes på e-post til brukeren, altså må brukeren skrive inn e-postadresse.

Dette er planen min så langt:

I frame 1 er det en knapp med navnet på Quizen, som hopper til frame 2 når du trykker på den, hvor første spørsmål vil komme. Det skal være ca tre svaralternativer på hvert spørsmål, og på noen spørsmål vil muligens flere svaralternativer være riktig. Lager jeg spørsmål med sjekkbokser vil disse være i frame 3, da oppsettet vil bli annerledes. Jeg må ha en funksjon som registrerer svarene og kalkulerer poeng. I en siste frame må jeg ha en tekstboks der brukeren kan skrive inn e-post og en knapp for å sende de kalkulerte poengene til mailadressen. Vil også ha med en tekstbeskrivelse av hva poengsummen forteller, noe a la «Du er den ultimate Friends fan! …», tenker å bruke if-else setning for dette.

Image

(Jeg oppdaget skrivefeilen i «Friends», no worries, den er rettet)

Så dette er planen så langt, sannsynligvis vil noe endres etterhvert som jeg jobber.

// Heggvoll