7 afgørende koderåd!

At programmere simple retrospil er noget af en kæmpe udfordring - også for voksne!

Det starter med at være simpelt, men lige pludselig bliver avanceret.

Mens du programmerer vil du lave masser af fejl og du vil også blive frustreret. Hvorfor virker det ikke????

Selv programmører opdager fejl hele tiden. Det kan ikke lade sig gøre at programmere uden at lave fejl!

Her er 7 koderåd der kan hjælpe dig til komme i mål med din gode idé!

1 - START MED DEN MEST SIMPLE UDGAVE AF DIT SPIL!

Start med den mest simple udgave af dit spil, så de vigtigste ting virker. Når det er på plads kan du udbygge dit program!

Det er oftest styring, kollision og variabler. Lad være med at fokusere på sværhedsgrad, levels og ekstra liv. Mangler du grafikken i starten, så bare brug noget fra biblioteket eller tegn et par streger i editoren. Skift grafikken senere. Du skal satse alt på, at få lavet en simpel "prototype" af dit spil der virker. Pyt med hvordan det ser ud og om det er kedeligt at spille.

Lad være med at hænge dig i små detaljer, før du har fået det grundlæggende til at virke. Når først det virker, kan du udbygge og forfine dit program.

Alt for mange når aldrig at blive færdig med deres projekt, fordi de har hængt sig i små detaljer frem for at starte med en helt simpel version, der trods alt virker.

2 - "GEM SOM KOPI" ELLER "PÅ COMPUTEREN" - OFTE!!!!

Så snart du har lavet noget nyt i dit program der virker, skal du gemme en ny udgave inden du går videre. Gem enten en kopi på computeren, eller arbejd videre i en ny kopi!

For at gemme en backup af dit program på computeren vælg: fil=>gem på din computer. Husk at gemme med nyt filnavn og ikke bare overskrive hele tiden.

Du kan også gemme en ny kopi af dit program som du kan arbejde videre i ved at vælge:

fil=>gem som kopi

Der bliver så oprettet en ny version af dit program, som du kan arbejde videre i. Hvis det så går galt, kan du altid vende tilbage til en tidligere version!

Det sker lidt for ofte i Scratch, at man kan komme til at slette en hel sprite med al kode på. Tit kan man ikke genskabe det.

Gem en ny kopi, så snart du har lavet noget nyt der virker så du ikke kun har 1 version af dit program!

3 - ARBEJD TRIN FOR TRIN

Væn dig til at arbejde trin-for-trin. Kig på din kode et skridt af gangen, fra toppen og ned - og sørg for du altid forstår og kan forklare alle trin i koden!

Kør dit program efter hvert trin og tjek om det virker. Gå ikke videre med noget nyt før det gør!

Følg vejledninger et trin ad gangen. Lad være med at springe trin over.

Når du programmerer skal du arbejde sekventielt - det er et andet ord for at arbejde "trin-for-trin". Det er en måde at arbejde systematisk og analytisk på som er utrolig vigtig når man programmere.

Trin-for-trin tilgangen gælder mange steder:

NÅR DU FØLGER VEJLEDNINGER

...så lad være med at springe i rækkefølgen. Hvis du vil lave et Dungeon spil, så lad være med at springe til det sidste eksempel. Følg og forstå eksemplerne i rækkefølge da de bygger oven på hinanden. Ellers ryger forståelsen.

NÅR DU PROGRAMMERER

...så tag små skridt - og for hvert skridt du tager skal du teste at det virker. Hvad er det næste der skal ske i programmet? Et lille skridt ad gangen - test hele tiden - gem som ny kopi når det virker.

NÅR DU FINDER FEJL/DEBUGGER!

... så del din kode op i små dele/skridt. Skil f.eks. blokkene ad og saml det igen. Hvor er fejlen? Hav helt styr på hver enkelt lille skridt i koden. Først sker det, så det osv. osv.

NÅR DU SKAL FORKLARE KODE,

... for dig selv eller andre, så prøv at forklare koden "sekventielt". Først sker det, så det, hvis der sker så sker det osv. osv.. Fra toppen og ned. Er der noget du ikke kan forklare? Så må du få styr på det!

4 - BRUG IKKE RYGSÆKKEN I SCRATCH!

Rygsækken i Scratch er smart! - Men den er desværre skyld i alt for mange fejl og problemer!

Det er fristende bare at lægge hele scripts i Scratch rygsækken og bare "hive" over i dit eget program. Pas på med det!

Ofte virker den kopiede kode ikke ordentligt, fordi du har kopieret variabler og navne på sprites fra et program over i dit eget program.

Da du ikke selv har oprettet de variabler/sprites der kommer ind i dit program, virker koden ikke ordentligt. Koden henviser nu til sprites eller variabler med forkerte navne - og så går det galt.

Det kan være svært at gennemskue hvor fejlen er!

Når du kopierer direkte (copy/paster), er der også langt større risiko for, at du ikke forstår det du får kopieret over!

Forkert brug af rygsækken er skyld i mange flere uforklarlige fejl i programmet og meget mindre forståelse af koden.

Eksperimenter i stedet for med koden - og vær sikker på du forstår hvordan det virker, før du selv skriver det ind i dit eget program. Se evt. videoerne flere gange!

5 - LAD VÆRE MED AT REMIXE ELLER KOPIERE ET HELT PROJEKT!

Det er ok at "stjæle" kodestykker, små scripts og ideer fra andres programmer. Bare du selv forstår koden!

Men lad være med at "remixe" eller arbejde videre i en kopi af et stort færdigt projekt du finder på Scratch. Det er dømt til at gå galt, fordi det nærmest er umuligt at sætte sig ind i en masse kode andre har skrevet!

Lav dit eget program - trin for trin, et lille skridt af gangen og få hver del til at virke før du går videre til næste. Hug alt det kode du vil - bare du selv forstår hvad du laver!

Selv om det er fristende bare at remixe/kopiere, så gør dig selv den tjeneste at lade være. Når man programmerer kan det ikke betale sig at være doven. Tværtimod. Jo mere du selv forstår af det du laver, des lettere og hurtigere bliver det at finde fejl og udvikle nye ting.

Inspiration, kodeeksempler og forklaringer finder du masser af her på dette website og på scratch.mit.edu

6 - FORSTÅ HVAD DU SELV LAVER!

STOP hvis du ikke kan forklare dit program. Hvis du ikke selv forstår din egen kode, har du ikke en chance. Løb din kode igennem trin for trin og forklar med dine egne ord hvad der sker.

Hvis der er noget du ikke kan forklare eller noget der ikke virker, så skil blokkene fra hinanden. Undersøg det. Saml det igen. Trin-for-trin. Find ud hvad der sker og hvorfor. Spørg andre.

7 - TEST HELE TIDEN OG BLIV GOD TIL AT FINDE FEJL

En af fordelene ved at programmere er, at man kan teste sit program hele tiden. Virker det eller virker det ikke?

At finde fejl kræver, at man gør noget aktivt selv.

Skiller koden ad. Indsætter noget nyt. Samler den igen. Snakker med nogen. Eksperimenterer. Laver det forfra - på en ny måde? Laver noget helt andet eller mere simpelt. Man gør noget - og man giver ikke op.

Væn dig til at teste så ofte som muligt. Vær opmærksom på at udvikle gode måder til at teste:

  • ... om du kan være sikker på, at det virker som det skal?

  • ... HVORFOR noget ikke virker som det skal?

Hvis du ikke forstår hvorfor det ikke virker - så prøv at gøre noget, så du kan finde ud af hvor fejlen er.

"Sig i 2 sekunder" og "vent i sekunder" er gode blokke til test og fejlsøgning. Med flere "vent i sekunder" blokke kan du sænke tempoet på din kode så du kan følge med 'trin-for-trin' hvad der sker og med sig blokken "Sig i 2 sekunder" kan du få dine sprites til at "sige" hvad de gør.

Det kan også være en god idé at skille koden ad. Samle den igen. Kigge på eksemplerne i vejledningerne igen. Kigge på scripts der minder om det du vil lave. Hvad har du mon overset? Hvad kan årsagen være til det ikke virker? Hvordan kan du teste det???

Nogle gange hjælper det, at lave den del der ikke virker forfra igen. Eller lave det på en helt ny måde. Eller komme videre og lave noget helt andet i stedet for.

Bygger du videre på et program der ikke virker, går det helt sikkert galt!

Lav derfor kun en lille del af gangen og test med det samme. Gem kopier af det der virker og lad være med at lave nyt før dit program virker som det skal.