Skilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle

Like dokumenter
Skilpaddekunst. Steg 1: Møt skilpadden. Sjekkliste. Introduksjon. Turtles

Skilpadder. Introduksjon: Steg 1: Hei, Skilpadde! Sjekkliste. Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk)

Skilpadder Introduksjon Python PDF

Steg 1: Husker du skilpadden?

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Hvis Python allerede er installert på maskinen din er det bare å begynne.

Skilpaddefraktaler Erfaren Python PDF

Robotinvasjon Introduksjon ComputerCraft PDF

Vi har sett enkle datamaskiner. Nå skal vi leke oss med roboter, og finne ut hvordan vi kan få dem til å gjøre forskjellige ting for oss.

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Skilpadder hele veien ned

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Steg 1: Tekst på flere linjer

Steg 1: Hvordan styre figurer med piltastene

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Skilpadder hele veien ned

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

Skilpadder hele veien ned. Steg 1: Tegn et fjell. Sjekkliste. Introduksjon. Hent frem skilpaddene dine, åpne IDLE, det er på tide å tegne igjen.

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Steg 1: Lag bakken og få den til følge med

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Flagg. Introduksjon. Steg 1: Gå i sirkel. Skrevet av: Sverre Oskar Konestabo og Geir Arne Hjelle

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Steg 1: Katten og fotballbanen

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Snøballkrig. Introduksjon. Steg 1: En snøballkaster. Skrevet av: Geir Arne Hjelle

Rosetta og Philae. Steg 1: Skilpadden blir et romskip. Sjekkliste. Introduksjon

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

I denne oppgaven skal vi gi en enkel innføring til klasser og objekter (ordene forklares senere i teksten).

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Steg 1: En første animasjon

Steg 1: Vår første datamaskin

Hvordan du kommer i gang med LOGO.

Steg 1: Hente grafikk fra nettet

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Breakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie

Mattespill Nybegynner Python PDF

Hvor i All Verden? Del 3 Erfaren Scratch PDF

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Lærerveiledning - Flagg

Steg 1: Vi roterer en likebeint trekant

Løpende strekmann Erfaren Videregående Python PDF

Steg 1: Endre bakgrunn og finne figurer

Vi skal nå programmere et romskip som flyr rundt på skjermen. For å ha kontroll på bevegelsen vil vi bruke to variable, fartx og

Astrokatt. Introduksjon. Steg 1: En flyvende katt. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang

Steg 1: Streken. Steg 2: En hoppende helt. Sjekkliste. Sjekkliste. Introduksjon. Hei der! Hoppehelt

Steg 1: Animasjons-attributtet

Asteroids. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

I denne oppgåva skal me lage eit enkelt spel der pingvinane har rømt frå akvariet i Bergen. Det er din (spelaren) sin jobb å hjelpe dei heim att.

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Forberedelser: Last ned bildefiler

Labyrint Introduksjon Scratch Lærerveiledning. Steg 1: Hvordan styre figurer med piltastene

Introduksjon til ComputerCraft Introduksjon ComputerCraft PDF

Stjerner og galakser Nybegynner Python PDF

Steg 1: Rest etter divisjon

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Steg 1: Lag en figur som bytter drakt

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

Lærerveiledning - Straffespark

King Kong Erfaren Scratch PDF

Sprettball Erfaren ComputerCraft PDF

Steg 1: Piler og knappetrykk

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

I denne oppgaven skal vi bruke funksjoner for å gjøre programmene vi skriver enklere og mer oversiktlige.

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Sprettende ball Introduksjon Processing PDF

Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder!

Tegneprogram Journeyman Scratch PDF

Snøballkrig Ekspert Scratch Lærerveiledning

Steg 1: Regneoperasjoner på en klokke

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Lærerveiledning - Pong

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Lærerveiledning - Snøballkrig

Kanter, kanter, mange mangekanter

Steg 1: Vår første datamaskin

Steg 0: Installere Pygame Zero

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Straffespark Introduksjon Scratch Lærerveiledning

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Steg 1: Få noe på skjermen

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Transkript:

Skilpaddekunst Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Skilpadder (turtles på engelsk) er en form for roboter som har vært i bruk innen programmering i lang tid. Vi vil bruke skilpadde-biblioteket i Python til å utforske flere programmeringskonsepter samtidig som vi tegner kule bilder.

Steg 1: Møt skilpadden For å bruke skilpadder i Python må vi importere et bibliotek som heter turtle. Slike biblioteker kalles modules i Python og brukes mye for å organisere og gjenbruke kode som andre har skrevet. Det finnes flere måter å importere biblioteker på i Python. Vi vil her bruke den enkleste, hvor vi starter alle skilpaddeprogrammene våre med linjen Her betyr * alt, slik at linjen sier Importer all kode fra turtle-biblioteket. Turtles Navnet Turtle betyr skilpadde på norsk. Bakgrunnen til dette navnet er historisk. For nesten 70 år siden bygde William Grey Walter et par roboter som kunne bevege seg rundt. Disse beveget seg ganske sakte, og var lave og skallformet. De fikk derfor etterhvert kallenavnet skilpadder. Senere ble måten disse skilpaddene beveget seg på (vi skal se hvordan snart) tatt inn i forskjellige programmeringsspråk, spesielt som en måte å tegne på. Språket Logo er nok det som er mest kjent for slik skilpaddegrafikk, men nesten alle programmeringsspråk støtter dette i dag, inkludert for eksempel Scratch, Lua og Python. Det er på tide å lage vår første skilpadde. Start IDLE og åpne et nytt programmeringsvindu. I dette nye vinduet kan du skrive inn følgende kode: Lagre programmet med navnet skilpadde.py og kjør det. Du skal nå få opp et nytt vindu med en gul skilpadde på en blå bakgrunn. Hvis dette ikke skjer kan du se i det opprinnelige Python Shell -vinduet om du har fått en feilmelding.

La oss se litt nøyere på hva programmet gjør så langt. Det er en god ide å prøve å endre på ting i programmet for å se effekten av endringene og bedre forstå hvordan ting virker. Linjen sier at vi vil bruke en skilpaddefigur. I stedet for turtle kan du også prøve arrow, circle, square, triangle eller classic. Med forteller vi programmet hvor stor vi vil at skilpaddefiguren skal være. Prøv med andre tall! Kommandoene bgcolor og color bestemmer fargene på henholdsvis bakgrunnen og på skilpaddefiguren. Python kjenner til veldig mange farger (men bare på engelsk), så prøv om du kan endre fargene til noe du liker. I de senere programmene vil vi bruke disse linjene på toppen. Du kan gjerne bruke en variant av farger og figur som du liker bedre i stedet. Steg 2: En kunstnerisk skilpadde Skilpadden er ikke bare fin å se på. Den kan også tegne! I dette steget vil vi bli kjent med noen enkle kommandoer som gjør skilpadden om til en kunstner. Legg til en linje nederst i programmet ditt, slik at det ser slik ut: forward(200) Når du kjører programmet vil du se at skilpadden har beveget seg forover et lite stykke, og at den har tegnet en strek der den beveget seg.

I tillegg til forward kan vi også bruke kommandoene backward for å gå bakover, left for å svinge mot venstre og right for å svinge mot høyre. Prøv for eksempel å endre programmet ditt til det følgende: forward(200) left(60) forward(50) backward(200) Ser du at skilpadden utfører alle kommandoene du gir den? Hvis vi setter sammen kommandoene litt systematisk kan vi tegne noen grunnleggende geometriske figurer. For eksempel, om vi vil tegne en firkant kan vi først gå fremover, deretter svinge 90 grader (mot høyre eller venstre), deretter fremover igjen, så svinge, så fremover, så svinge og til slutt fremover en gang til. I Python kan vi skrive dette som Tegner skilpadden en firkant når du kjører dette programmet?

Hva med en trekant? Hvordan må du forandre koden din for at skilpadden skal tegne en trekant i stedet for en firkant? Prøv selv å endre koden og kjør den, ble resultatet som du trodde? Steg 3: Gjenta deg selv Hvis du ser på koden vi har brukt for å tegne trekanter og firkanter har vi stadig gjentatt oss selv. I stedet for at vi skriver samme kode om og om igjen kan vi be Python gjenta deler av koden. Til dette bruker vi for-løkker. Det følgende programmet tegner også en firkant, akkurat som det tidligereprogrammet vi lagde: for i in range(4): Endre koden din som over, og kjør programmet. Legg merke til at linjene som kommer etter for er skjøvet inn til høyre. Dette er veldig viktig i Python, fordi det forteller hvor mye kode som skal gjentas i løkken. For å skyve koden inn på denne måten kan du bruke Tab -tasten i IDLE. For å trekke koden tilbake til venstre kan du trykke Shift og Tab. Prøv å trekk linjen til venstre, slik at for-løkken ser slik ut: for i in range(4):

Hva tror du programmet ditt vil gjøre nå? Forsøk å kjøre programmet for å se om du har rett! Skilpadden vil bare gå fremover fire ganger før den svinger til høyre en gang til slutt. Det betyr at den vil tegne en rett linje i stedet for en firkant. Nå som vi bruker en for-løkke har det også blitt mye enklere å endre koden til å for eksempel tegne en trekant. Vi må endre 4 til 3 i for-løkken. I tillegg må vi endre vinkelen skilpadden snur ved hvert hjørne. For at skilpadden skal gå en runde rundt trekanten må den snu totalt 360 grader. Siden den snur tre ganger må den snu 120 grader (360 delt på 3) i hvert hjørne. Programmet for å tegne en trekant blir dermed seende slik ut: for i in range(3): right(120) Prøv å endre programmet slik at det tegner andre mangekanter. Hvordan kan du tegne for eksempel en femkant, åttekant eller kanskje en femtenkant. Steg 4: Alle ting fortjener et navn Vi skal fortsette med å gjøre koden vår enda mer fleksibel ved å gi ting navn. Dette vil også gjøre det enklere å forstå hva koden gjør. Vi innfører først variabler som sier hvor mange sider vi vil tegne, hvor lang hver side skal være og hvor mange grader vi skal snu ved hvert hjørne. Endre programmet ditt slik at det ser slik ut:

sides = 4 length = 100 angle = 90 for i in range(sides): forward(length) right(angle) Tegner programmet fortsatt en firkant? Nå kan du få programmet til å tegne en trekant bare ved å endre verdiene på variablene dine. Prøv om du får det til? Vi kan gjøre programmet enda smartere. I stedet for at du selv må regne vinkelen kan programmet gjøre det. Bytt ut linjen angle = 90 med angle = 360 / sides Nå kan du prøve å bare endre verdien av sides og kjøre om igjen. Tegner programmet de riktige mangekantene? Steg 5: Egne kommandoer I Python kan vi også lage våre egne kommandoer ved å definere funksjoner. Dette er en annen måte vi kan unngå å gjenta oss selv på. Vi skal nå lage en funksjon som tegner en mangekant. Dette gjør vi ved å bruke kommandoen def (def er en forkortelse for define som betyr definer). Endre programmet ditt slik at det ser ut som under:

def polygon(sides, length): angle = 360 / sides for i in range(sides): forward(length) right(angle) polygon(4, 100) Kjør programmet. Kjenner du igjen firkanten? Nå som vi har laget polygon -funksjonen er det kjempelett å tegne forskjellige mangekanter. Legg for eksempel til de følgende linjene nederst i programmet ditt: polygon(3, 100) polygon(4, 100) polygon(5, 100) forward(125) right(180) polygon(3, 150) polygon(5, 150) polygon(7, 150) Steg 6: Skilpaddekunst Vi vil til slutt generalisere funksjonen vår litt slik at den ikke bare tegner kjedelige mangekanter. Vi lager nå en ny funksjon polylines som ligner veldig mye på polygon, men hvor vi også kan endre på vinklene slik at de ikke alltid summerer seg til 360. Dette gjør underverker for kunsten vår! Endre programmet ditt slik at det ser slik ut:

def polylines(sides, length, angle): for i in range(sides): forward(length) right(angle) polylines(5, 100, 144) Kjør programmet. Hva tegner skilpadden nå? En annen variant kan være hvor vi tegner en litt skjev mangekant. For eksempel den følgende kommandoen vil tegne firkanter hvor vinklene er 91 grader i stedet for 90 grader. Dette blir overraskende stilig. Bytt ut polylines -kommandoen med polylines(91, 200, 91) Vi kan også endre lengden av strekene etterhvert som vi tegner. Dette skaper en fin spiraleffekt. Legg merke til hvor mye funksjonen spiral ligner på polylines : def polylines(sides, length, angle): for i in range(sides): forward(length) right(angle) def spiral(sides, length, angle): for i in range(sides): forward(length) right(angle) length = length + 5 spiral(100, 5, 125)

Prøv forskjellige verdier i stedet for 100, 5 og 125 når du kaller spiral. Finner du noen verdier som gir spesielt fine bilder synes du? Prøv selv Kombiner de forskjellige funksjonene vi har laget, polygon, polylines og spiral med de andre skilpadde-kommandoene du har lært som for eksempel forward og left. Klarer du å tegne enda mer spennende kunstverk? Eller kanskje du kan tegne en by? Et hus kan for eksempel lages ved først å tegne en firkant og deretter en trekant på toppen for taket. Et tips helt på slutten er at funksjonene penup() og pendown() styrer om skilpadden tegner mens den flytter på seg. Disse er veldig nyttige når man vil tegne flere figurer som ikke henger sammen. Et annet tips er funksjonen speed(). Denne justerer hastigheten som skilpadden tegner med. For eksempel vil speed(1) tegne veldig sakte, mens speed(11) tegner kjempefort. Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)