5/11/2015 Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S.
1
Contents... 0 Indledning... 3 Analyse... 3 Problemformulering... 3 Målgruppe... 3 Løsningsforslag... 3 Detaljeret beskrivelse af løsningsforslag... 4 Valg af værktøj... 4 Teori... 4 Talblindhed... 4 Kravfangst... 5 Overordnet design... 5 Systemudviklingsaktiviteterne... 7 Planlægning... 7 Implementering... 8 Test... 10 Evaluerende... 11 Konklusion... 11 Bilag... 12 Projektbeskrivelse... 12 Forord... 12 Indledning... 12 Problemformulering... 12 Målgruppe... 12 Løsningsforslag... 12 Valg af værktøj... 13 Tidsplan... 13 Koden... 13 Spillets indstillinger... 13 Spillerens indstillinger... 15 2
Indledning Mellem 3,5 og 6,5% af verdens befolkning er talblind. Talblindhed kaldes også Dyskalkuli. Børn med Dyskalkuli har svært ved at lærer matematik, i særlig grad, i de mindre klasser. Når børn ikke kan lære deres grundlæggende matematiske kompetencer, kan de ikke komme til at lære matematik. Analyse Op til 5% af Danmarks befolkning er talblind. Talblindhed forhindre folk at se de tal der står, lidt ligesom ordblindhed. Folk uden talblindhed kan vurdere at der er 3 æbler på bordet, eller en pose kartofler vejer 2 kg. Folk med talblindhed har en tændes til gætte ved siden af, som fx, der er 1000 km fra København og til Roskilde, eller en blyant vejer 20kg. Når man har talblindhed, betyder det ikke at man er mindre klog, der betyder bare at man har der svært med tal, så man kan godt være skarp i andre fag. Problemformulering Mit hovedproblem som jeg vil løse er: Der er masser folk der er talblind rundt omkring i verden. Målgruppe Min målgruppe kommer til at være børn mellem 2-4 klasse, børn som synes at 5+5 er svært, eller lignende. Det bliver typisk børn mellem 4 og 7 år. Det kommer selvfølgeligt også til at være ældre mennesker med særlige behov. Løsningsforslag Man kunne lave et spil der er spænende og sjov for børn. Spillet lærer dem matematik på en måde der har en sjov stemning. Ideen er at, spilleren ser på en plade, hvorpå der er et matematik stykke. Matematik stykket kunne være 5+5, hvis man svarer rigtigt, bliver der vist et nyt matematik stykke, hvor opgaven bare er lidt sværere, som 5+6. Hvis man svare forkert bliver man så i stedet ført videre til et matematik stykke der er nemmere, som 4+4. 3
Detaljeret beskrivelse af løsningsforslag Dette er et eksempel på en af de spørgsmål der kunne dukke frem i spillet. Hvis man svare rigtigt, vil der blive zoomed indtil næste spørgsmål, som kommer til at være sværere. Hvis man svare forkert, vil der blive zoomed indtil en anden opgave som kommer til at være nemmere. Der kommer til at være niveau nummer op i venstre hjørne. Hvis man svar rigtigt på alle opgaverne, vil ordet WIN komme frem. Og selvfølgeligt, hvis man taber, vil ordet LOSE komme frem. Der kommer til at være én opgave og 3 svar muligheder. To ud af de 3 svar muligheder er forkerte, som leder til niveau fald. Det sidste svar mulighed som er rigtigt, leder så til et svære niveau. Valg af værktøj Jeg har valgt at benytte mig af programmet Unity. Dette program giver mig muligheden for at lave meget avanceret spil. I Unity kan man kode som man gøre i pyton og man får visuelle resultat på samme tid. Altså man kan dele skærmen op i to, man kan kode i den ene side og se ens resultat i den anden side. C# er et af de programmerings sprog som kan benyttes i Unity. Som teksteditor til at programmere i, vil jeg bruge Monodevelop som kommer standart med Unity. Teori Talblindhed Statistikerne viser at 5% i børn har svært ved at lære matematik, og derfor var det spænende at undersøge metoder der kan være med til at hjælpe børn med deres talblindhed. Dette projekt har en metode der gør både lærings processen lettere og mere spændende, og skal dermed også give personen lysten til at sætte sig fast på teknikken for matematikken i opgaven. Spillet jeg har designet er basseret på at man som spiller styrer en bold med pil tasterne. Der er en matematik opgave skrevet i den øvre midten at skærmen, og svarende er skrevet for neden. Spillet har en blå baggrund og en rød bold, samt grøn tekst, dette gøre at spillet bliver beget sjovere. 4
Kravfangst Målgruppen Det skal være sjovt Massere af farver Ikke svær Forældre Det skal være lærerigt Overordnet design Sådan ser spillet ud, vi kan se at der er en høj farveskrift mellem opgaven, bolden og bundpladen. Vi kan se øverst til venstre at der står et lille 5 tal, dette er niveau nummeret, hvis man svar forkert op opgaven vil man gå et niveau ned, og hvis man svarer rigtigt går man op. Man kan styre bolden ved brug at tasterne WASD eller pil-tasterne. Man bevæger bolden mod det svar man påstår er rigtigt. 5
Når man har svaret rigtigt på alle opgaverne, dukker ordet win frem. Ordet dukker frem når man har svaret rigtigt på Niveau 10, og derfor bliver Niveau 11 til win. Vi kan som sagt se niveau nummeret øverst til venstre, og der kan vi se at der står 11. Her kan vi se ordet Lose, Dette dukker op når man svare forkert på opgaven i niveau 1. og derfor står der 0 øverst til venstre. 6
Systemudviklingsaktiviteterne Planlægning Sådan har jeg planlagt at spillet skal virke. Først ser vi at der bliver loadet et level, med spørgsmål og svar. Så vælger man én ud af de 3 svar muligheder. Så er der to veje, der er en til når man svar rigtigt, og en til når man svar forkert. Hvis man svare rigtigt, kommer man level op. Og hvis man svarer forkert kommer man level ned. Derefter kommer vi til et punkt hvor der er to veje igen. Den ene føre til at der bliver loadet et nyt level frem, og den anden fører til enden af spillet. For at der skal loades et nyt level, skal Niveau eller level, være større end 0 og mindre 10. Hvis niveau nummeret er 0 så dukker ordet Lose frem, og hvis niveau nummeret er på 10 vil ordet Win dukke frem. 7
Implementering Dette er koden til bevægelse af bolden. Bolden kan bevæge sig horisontalt og vertikalt. Der bliver brugt en vektor 3 funktion, dette giver os muligheden for at bevæge os på de to akser vi har brug for. Vi sætter Xaksen til horisontalt og Z-aksen til vertikalt, men vi sætter Y-aksen til 0, for vi vil ikke have bolden til at svæve. Til sidst kan vi se at vi skubber bolden. void Start er en funktion der bruges når spillet starter man kan se at vi starter med at sætte current niveau til start niveau. Dette betyder at det nuværende niveau er starten (som er niveau 5). Derefter bliver spørgsmålene sat i en liste, for at spillet kan finde dem. Så loader vi en niveau, og når man har besvaret alle niveau, (vundet eller tabt) vil der kommer sluttekst (Win/Lose). Og til sidste niveau nummeret, som står øverst til venstre. void OnTriggerEnter er en funktion der bruges hver gang der sker et sammenstød eller en collusion. Først tjekker spiller om bolden er stødt ind en svarmulighed eller bare en væg. For det eneste der skal ske når bolden støder ind i væggen er at den skal stoppe, men når den støder ind i en svarmulighed, skal der helst ske mere. I linje 58 bliver der lavet er variabel til hvis bolden kollidere med en svarmulighed, og i linje 59 bliver der tjekket om svaret er rigtigt. 8
Her kan vi se at der bliver loadet el niveau. Første starter den med at søge efter det angivet niveau nummer, som i starten er 5, også går den hele liste for at finde et spørgsmål hvis niveau er det samme som nuværende. Også gemmer den spørgsmålet til senere brug. Og så giver spillet nogle værdier til spørgsmålet og alle 3 svarmuligheder. Når man har valgt en af svarmulighederne så bliver man spawnet på start positionen. 9
Test Her kan vi se at jeg har lavet en fejl, men den kan ikke ses i konsollen. Fejlen er at bolden ikke kan kollidere med svarende. Dette er en fejl i min C# kodning. Man kan som regel altid finde fejlen ved at gå koden igennem. Her er fejlen fundet. Ordet OnTriggerEnter Skal starte med stort eller virker det ikke. Sådan ser koden ud nu, og det får bolden til at kollidere med svarmulighederne. 10
Evaluerende I starten vidste jeg intet om Unity, jeg begyndte med at se tutorials 1, og derfra lærte jeg at lave et spil, som er nyttigt for andre end mig selv. I starten var jeg meget stresset over at jeg troede at jeg ikke vil nå at lave spille til tide, men da jeg lærte at bruge programmet faldt jeg lidt til ro. Jeg benyttede mig af systemudviklingsmetode til at hjælpe med dokumentation. Konklusion Jeg har lavet et spil der opfylder de nedenstående krav. 1. Det skal være sjovt 2. Massere af farver 3. Ikke svær 4. Det skal være lærerigt En lille dreng på 6 år har prøvet spillet, han er ikke så god til matematik. Han synes at han fik noget ud at spille og at den er sjov. Spillet er spændende og sjov fordi at der er forskellige former opgaver, der er opgaver hvor man skal addere og der er opgaver hvor man skal subtrahere og der er opgaver med lidt af hvert. Grundpladen har en meget skrigende farve, som er blå, og på samme tid har bolden en rød farver, det gøre det meget tydeligt at vise hvor bolden triller hen. Spørgsmålet og svarene samt niveau nummeret har alle sammen en grøn farve, farven er meget tydelig, især på en blå baggrund. Når man vinder dukker der ordet Win op, men når det dukker op, er den grøn. Og hvis man taber, dukker der ordet Lose op, og der er tilgængelig rød. 1 http://unity3d.com/learn/tutorials/projects/roll-a-ball/introduction 11
Bilag Projektbeskrivelse Forord Denne projektbeskrivelse er lavet af Hussein Al-Saidi til eksamen i Informations Teknologi B og C. I s C projektet vil jeg blive vejledt af Christoffer Soya. I Informations Teknologi B eksamens projektet vil jeg blive vejledt af Karl G Bjarnason. Indledning Mellem 3,5 og 6,5% af verdens befolkning er talblind. Talblindhed kaldes også Dyskalkuli. Børn med Dyskalkuli har svært ved at lærer matematik, i særlig grad, i de mindre klasser. Når børn ikke kan lære deres grundlæggende matematiske kompetencer, kan de ikke komme til at lære matematik. Problemformulering Mit hovedproblem som jeg vil løse er: Der er masser folk der er talblind rundt omkring i verden. Målgruppe Min målgruppe kommer til at være børn mellem 2-4 klasse, børn som synes at 2+2 er svært, eller lignende. Det bliver typisk børn mellem 4 og 7 år. Det kommer selvfølgeligt også til at være ældre mennesker med særlige behov. Løsningsforslag Man kunne lave et spil der er spænende og sjov for børn. Spiller lærer dem matematik på en måde der har en sjov stemning. Ideen er at, spilleren ser på en plade, hvorpå der er et matematik stykke. Matematik stykket kunne være 5+5, hvis man svare rigtigt, bliver der ført nyt matematik stykke ind, hvor opgaven bare er lidt sværere, som 5+6. Hvis man svare forkert bliver man så i stedet ført videre til et matematik stykke der er nemmere, som 4+4. Detaljeret beskrivelse af løsningsforslag Dette er et eksempel på en af de spørgsmål der kunne dukke frem i spillet. Hvis man svare rigtigt, vil der blive zoomed indtil næste spørgsmål, som kommer til at være sværere. Hvis man svare forkert, vil der blive zoomed indtil en anden opgave som kommer til at være nemmere. 12
Valg af værktøj Jeg har valgt at benytte mig af programmet Unity. Dette program giver mig muligheden for at lave meget avanceret spil. I Unity kan man kode som man gøre i pyton og man for visuelle resultat på samme tid. Altså man kan dele skærmen op i to, man kan kode i den ene side og se ens resultat i den anden side. C# er et af de programmerings sprog som kan benyttes i Unity. Som teksteditor til at programmere i, vil jeg bruge Monodevelop som kommer standart med Unity. Tidsplan Koden Spillets indstillinger 13
14
Spillerens indstillinger ii http://talblindhed.dk/ 15