Stjerner og galakser Nybegynner Python PDF



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

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

Skilpaddefraktaler Erfaren Python PDF

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.

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

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

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

Skilpadder hele veien ned

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

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.

Skilpadder Introduksjon Python PDF

Enarmet banditt Nybegynner Scratch Lærerveiledning

Skilpadder hele veien ned

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

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

Steg 1: Husker du skilpadden?

Mattespill Nybegynner Python PDF

Sprettende ball Introduksjon Processing PDF

Tegneprogram Journeyman Scratch PDF

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?

Felix og Herbert Introduksjon Scratch PDF

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

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

Steg 1: Tekst på flere linjer

Skilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle

Hemmelige koder. Kodeklubb-koden. Steg 1: Alfabetet. Sjekkliste. Introduksjon

Repetisjon Novice Videregående Python PDF

Kanter, kanter, mange mangekanter

Steg 1: JafseFisk følger musepekeren

Hva er det? Steg 1: Få flere ting til å vise seg på tavlen. Sjekkliste. Test prosjektet. Introduksjon

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Steg 2: La løvinnen og papegøyen bevege seg

Fyrverkeri Nybegynner Scratch Lærerveiledning

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

Robotinvasjon Introduksjon ComputerCraft PDF

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

Forberedelser: Last ned bildefiler

Forberedelser: Last ned bildefiler

Hangman. Level. Introduksjon

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.

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

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

Steg 1: Lag en figur som bytter drakt

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

Hvor i All Verden? Del 2 Erfaren Scratch PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

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

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

King Kong Erfaren Scratch PDF

Løpende strekmann Erfaren Videregående Python PDF

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

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS.

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

Steg 1: Klargjør og importerer bilioteker

Sprettball Erfaren ComputerCraft PDF

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

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

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

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

CSS: Animasjon Nybegynner

La oss gjøre nettsiden vår bedre med noen stiler. I denne og den neste leksjonen skal vi lære hvordan man endrer farge, tekst, størrelser og mer!

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Farger Introduksjon Processing PDF

Tegnespillet. Introduksjon:

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

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

Gangemesteren Nybegynner Scratch PDF

Steg 0: Installere Pygame Zero

Bygge et hus. Steg 1: Vegger. Sjekkliste. Introduksjon

Bygge en pyramide. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

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

Flaksefugl Nybegynner Scratch Lærerveiledning

Steg 1: Canvas-elementet

Steg 1: Få flere ting til å vise seg på tavlen

JafseFisk. Introduksjon. Steg 1: JafseFisk følger musepekeren. Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk)

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (

Innleveringsoppgave 6

Verden. Steg 1: Vinduet. Introduksjon

Steg 1: Lag et flyvende spøkelse

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

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

Steg 1: Animasjons-attributtet

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

Steg 1: Felix følger musepekeren

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å.

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

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

Spøkelsesjakten. Introduksjon

NÆROSET IDRETTSLAG. Organisasjonsnummer:

Steg 1: Få Flakse til å falle

Steg 1: Lag en scene og legg til figurer

JS: Partikkel-animasjon Nybegynner

Snake Expert Scratch PDF

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

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

Transkript:

Stjerner og galakser Nybegynner Python PDF Introduksjon I denne oppgaven skal vi bruke funksjoner for å gjøre programmene vi skriver enklere og mer oversiktlige. Steg 1: Tegne stjerner Sjekkliste Vi begynner med å bruke det du allerede kan om tegning med skilpadden. Kjør dette programmet: from turtle import * # Denne koden tegner en liten grå stjerne på en mørkeblå bakgrunn color("whitesmoke") # Tegn stjernen forward(50) forward(100) Kan du alle komandoene? bgcolor(color) setter fargen på bakgrunnen. Sørg for å forstå alle før du går videre. Nå skal vi tegne tre stjerner på forskjellige posisjoner på skjermen. Vi lager en funksjon som heter drawstar() og kaller denne tre ganger for å tegne tre stjerner.

from turtle import * # En funksjon for å tegne stjerner # 'def' er kort for 'define' på engelsk def drawstar(): forward(50) # Denne koden tegner en liten grå stjerne på en mørkeblå bakgrunn color("whitesmoke") # Bruk funksjonen til å tegne stjerner! drawstar() forward(100) drawstar() left(120) forward(150) drawstar() gjemmer skilpadden. Du har sett og brukt funksjoner før. For eksempel, og er funksjoner. Din nye drawstar() funksjon virker på samme måte. Nå som du har en funksjon for å tegne en stjerne trenger du ikke tenke på hvilke komandoer du må skrive for å tegne dem, du kan bare kalle funksjonen og den vil tegne stjernen for deg! Steg 2: Sende verdier inn i funksjoner Funksjonen du lagde i forrige steg tegner en like stor stjerne hver gang. Hva om du vil tegne stjerner med forskjellige størrelser? En måte du kan gjøre det på er å lage forskjellige funksjoner som drawbigstar(), drawmediumstar() eller drawsmallstar() En bedre måte å gjøre det på er å sende inn verdier til funksjonen drawstar() for å fortelle hvilken størrelse du vil ha. Du har allerede brukt flere funksjoner som mottar verdier på denne måten. For eksempel: forward(100) Her sender du 100 inn funksjonen og det gjør at skilpadden går 100 piksler frem. Sjekkliste Her er et program med en stjernetegne-funksjon som kan tegne stjerner i forskjellige størrelser ut i fra hvilket tall du sender inn i funksjonen.

from turtle import * # En funksjon for å tegne en stjerne med bestemt størrelse def drawstar(starsize): forward(starsize) # Denne koden tegner en liten grå stjerne på en mørkeblå bakgrunn color("whitesmoke") # Bruk funksjonen til å tegne stjerner i ulike størrelse! drawstar(50) forward(100) drawstar(30) left(120) forward(150) drawstar(70) Når programmet ditt kjører drawstar(50) er altså verdien til starsize lik 50. Dette gjør at kommandoen forward(starsize) inne i løkken tegner en linje som er 50 piksler lang. Det er mulig å sende inn flere verdier inn i funksjonen. For eksempel kan vi sende inn hvilken farge vi vil at stjernen skal ha.

from turtle import * # En funksjon for å tegne en stjerne med bestemt størrelse og farge def drawstar(starsize, starcolour): color(starcolour) forward(starsize) color("whitesmoke") # Bruk funksjonen til å tegne stjerner i ulike størrelse! drawstar(50, "Red") forward(100) drawstar(30, "White") left(120) forward(150) drawstar(70, "Green") Ser du hvilke endringer som er gjort i koden? Utfordring Lag en funksjon for å tegne planeter og kall den drawplanet() Send verdier inn i funksjonen slik at du kan bestemme hvor stor og hvilken farge den skal ha. Steg 3: Tilfeldige stjerner Vi skal nå bruke drawstar() til å tegne stjerner på tilfeldige steder rundt på skjermen. Sjekkliste Kjør dette programmet. Skilpadden flyttes til en ny posisjon og tegner en hvit stjerne der.

from turtle import * # En funksjon for å tegne en stjerne med bestemt størrelse og farge def drawstar(starsize, starcolour): color(starcolour) forward(starsize) # Setter bakgrunnsfargen # Flytt til en bestemt posisjon (x=200,y=200) setpos(200, 200) drawstar(50, "White") Vi bruker funksjonen setpos(x, y) til å flytte skilpadden til posisjonen (x,y) på skjermen. setpos(200, 200) flytter altså skilpadden til posisjonen (200, 200). Prøv å endre på tallene i denne funksjonen! Vi skal nå flytte til en tilfeldig posisjon. Vi lager en ny funksjon som heter movetorandomlocation(), denne flytter altså skilpadden til en tilfeldig posisjon.

from turtle import * from random import * # Flytter skilpadden til tilfeldig posisjon def movetorandomlocation(): setpos(randint(-400, 400), randint(-400, 400)) # Tegner en stjerne def drawstar(starsize, starcolour): color(starcolour) forward(starsize) # mørkeblå bakgrunn # Tegner 30 stjerner med tilfeldig størrelse og posisjon for star in range(30): movetorandomlocation() drawstar(randint(5, 25), "White")

Kjør koden flere ganger. Ser du at den tegner stjernene forskjellige plasser hver gang? Prøv å tegne flere stjerner i flere forskjellige størrelser og farger. from random import * gjør at vi får tilgang på funksjonen randint(a,b). Hvis vi skriver randint(5, 25) gir denne funksjonen oss et tilfeldig tall som er større eller lik 5 og mindre enn eller lik 25. Steg 4: Funksjoner inne i funksjoner Du kan skrive funksjoner som kjører andre funksjoner. Dette gjør det lettere å ha oversikt når man lager store programmer. Sjekkliste Det ville vært kult hvis vi kunne lage en galakse med små flerfargede stjerner i tegningen vår. Vi lager defor en funksjon som heter drawgalaxy() som bruker funksjonen drawstar() som vi laget tidligere. from turtle import * from random import * # a function for moving the turtle to a random location def movetorandomlocation(): setpos(randint(-400, 400), randint(-400, 400)) # a function for drawing a star of a particular size def drawstar(starsize, starcolour): color(starcolour) forward(starsize) # a function for drawing a small galaxy of stars def drawgalaxy(numberofstars): starcolours = ["#058396","#0275A6","#827E01"] movetorandomlocation() # draw lots of small coloured stars for star in range(numberofstars): left(randint(-180, 180) ) forward(randint(5, 20) ) # draw a small star in a random colour drawstar( 2, choice(starcolours) ) speed(11) # this will draw a dark blue background # draw 30 white stars (random sizes/locations) for star in range(30): movetorandomlocation() drawstar(randint(5, 25), "White") # draw 3 small galaxies of 40 stars for galaxy in range(3): drawgalaxy(40)

Ved å kjøre drawgalaxy(40) 3 ganger for vi 3 nye galakser som hver inneholder 40 stjerner. For hver galakse kjøres drawstar() 40 ganger, mellom hver gang flyttes posisjonen til den neste stjernen litt. Ser du hvor i koden dette skjer? Du kan også tegne stjernebilder satt sammen av stjerner. Dette er ikke så vanskelig siden vi allerede har mange av funksjonene vi trenger.

from turtle import * from random import * # a function for moving the turtle to a random location def movetorandomlocation(): setpos(randint(-400, 400), randint(-400, 400)) # a function for drawing a star of a particular size def drawstar(starsize, starcolour): color(starcolour) forward(starsize) # a function for drawing a small galaxy of stars def drawgalaxy(numberofstars): starcolours = ["#058396","#0275A6","#827E01"] movetorandomlocation() # draw lots of small coloured stars for star in range(numberofstars): left(randint(-180, 180) ) forward(randint(5, 20) ) # draw a small star in a random colour drawstar( 2, choice(starcolours) ) # a function for drawing a joined constellation of stars def drawconstellation(numberofstars): movetorandomlocation() # first draw all stars except the last one, # joined by lines, like this: *--*--*-- for star in range(numberofstars-1): drawstar(randint(7, 15), "white") left(randint(-90, 90) ) forward(randint(30, 70) ) # now draw the last star drawstar(randint(7, 15), "White") speed(11) # this will draw a dark blue background # draw 30 white stars (random sizes/locations) for star in range(30): movetorandomlocation() drawstar(randint(5, 25), "White") # draw 3 small galaxies of 40 stars for galaxy in range(3): drawgalaxy(40) # draw 2 constellations, each with a random number of stars for constellation in range(2): drawconstellation(randint(4, 7))

Utfordring Programmér skilpadden til å tegne ditt eget bilde. Bruk funksjoner der du kan, spesielt til ting du skal gjøre flere ganger. Prøv også å bruke funksjoner som du kan sende inn verdier i. Eksempler

Lisens: Code Club World Limited Terms of Service Forfatter: Oversatt fra Code Club UK Oversetter: Ole Andreas Ramsdal