Tegn et skib

Skildpaddemetoder

På denne side lærer du at styre skildpadden, så du kan få den til tegne næsten det du gerne vil have. Du har set forward og left metoder, men der er mange flere til at styre, hvor skildpadden skal gå hen, hvilken farve den skal tegne med og hvor tyk stregen skal være.

Nogle af de vigtigste metoder for skildpadden (eller turtle) ser du her:

Metode Beskrivelse
forward(skridt) gå skridt fremad
backward(skridt) gå skridt bagud
right(grader) drej grader til højre (90 grader er en ret vinkel og 180 grader er halvvejs rundt)
left(grader) drej grader til vens tre (90 grader er en ret vinkel og 180 grader er halvvejs rundt)
setpos(x, y) flyt skildpadden til position x,y . Skildpadden starter ved at være ved 0, 0
speed(fart) skildpaddens fart når den tegner. fart 1- 10, hvor 1 er langsomst. 0 er hurtigst
color(farve) Skift farven på pennen. Du kan vælge næsten eller farver eller dem Python kender i forvejen: “green”, “blue”, “red”, “black”
penup() løft pennen op. Skildpadden tegner ikke, så tag pennen op, så den ikke tegner, hvis skal flyttes
pendown() sæt pennen ned. Skildpadden tegner, når den bliver flyttet
pensize(tykkelse) gå skridt bagud

 

Der er også flere metoder til at styre vinduet, hvor skildpadden bor. Her er disse to brugt:

Metode Beskrivelse
setup(width=bredde, heigth=højde) bestemmer vinduets størrelse i antal skridt
exitonclick() venter på at museklik i vinduet, hvorefter det lukker

 

Tegn et skib

I programmet længere nede ser du et større Python program, som tegner et sejlskib, som dette.

turtle_skib

Python porgrammet giver en opskrift på hvert enkelt streg, som skildpadden skal gå for at tegne skibet. Python skal kende hver enkelt streg, farven og tykkelsen på den.

Python programmet til at styre skildpadden rundt for at tegne skibet er herunder. Programmet er det længste, som er vist endnu, men prøv at læse Python programmet for at forstå hver enkelt del.


import turtle

turtle.setup(width=450,height=300)
skildpadde = turtle.Turtle()

# Tegn vand
skildpadde.up()
skildpadde.setpos(-225, -100)
skildpadde.pensize(12)
skildpadde.color("blue")

skildpadde.down()
skildpadde.forward(450)

# Tegn skib
skildpadde.up()
skildpadde.setpos(-100, -100)
skildpadde.pensize(4)
skildpadde.color("black")
skildpadde.down()

skildpadde.left(90)
skildpadde.forward(30)
skildpadde.right(90)
skildpadde.forward(250)
skildpadde.right(90+45)
skildpadde.forward(45)
skildpadde.right(45)
skildpadde.forward(225)

# Tegn mast
skildpadde.up()
skildpadde.setpos(10, -70)
skildpadde.pensize(4)
skildpadde.color("black")
skildpadde.down()

# Tegn mast
for i in range(0,2):
    skildpadde.right(90)
    skildpadde.forward(200)
    skildpadde.right(90)
    skildpadde.forward(10)

skildpadde.up()
skildpadde.setpos(10, -50)
skildpadde.down()

for i in range(0,2):
    skildpadde.forward(90)
    skildpadde.right(90)
    skildpadde.forward(8)
    skildpadde.right(90)

skildpadde.up()
skildpadde.setpos(10, 130)
skildpadde.pensize(1)
skildpadde.down()
skildpadde.left(62)
skildpadde.forward(200)

turtle.exitonclick()