נוספו מצגות מערכת השידורים נוסח מלא
תחילה עלינו לציין ולהצהיר על הספריות הרצויות. אנחנו נשתמש בספריית turtle שמאפשרת לנו להניע את הצב. ספריית time בעיקר כדי להאט את פעילות הצב ולייצר תחושת אנימציה וספריית random שתאפשר לנו לבחור מספרים אקראיים ולשחק מול המחשב.
import turtle
import random
import time
עלינו להגדיר את גודל החלון בו נבצע את האנימציה שלנו ושם לצב שלנו או לצבים. נעשה זאת באופן הבא:
wn = turtle.Screen()
player=turtle.Turtle()
שליטה על רקע החלון, בחרתי בצבע כחול בהיר.
wn.bgcolor('lightblue')
קישור לפלטות צבעים
לכל צבע יש ערך מספרי או שם, ניתן לבחור צבעים מגוונים מרהיבים. צפו בסרטון שלפניכם כדי ללמוד על גווני הצבעים.
בחירת סוג ראש הצב מתוך הרשימה: 'turtle', 'arrow', 'square', 'circle', 'triangle', 'classic' ,'blank'
player.shape('turtle')
blank - מסייע באנימציות ומאפשר היעלמות שלראש הצב
ניתן להפיע על מהירות הצב באופן הבא:
“fastest”: 0
“fast”: 10
“normal”: 6
“slow”: 3
“slowest”: 1
player.speed(0)
הפקודות הבאות גובעים את עובי הקו וצבעו של הקו - הקו הוא האיור של הצב אותו הוא מצייר בעת תנועתו
player.pencolor('blue')
player.pensize(2)
player.color('red')
הגיע הזמן להניע את הצב, קדימה ואחורה. מצורפות ההוראות וקיצורי ההוראות. שתי האופציות תקינות.
player.forward(steps)
player.fd(steps)
player.backward(steps)
player.bk(steps)
player.forward(10)
player.fd(10)
player.backward(10)
player.bk(10)
מערכת הצירים, ניתן לקבוע את מיקום הצב ולאתר את ערכי X ו Y של הצב על פני מערכת הצירים.
player.setx(x)
player.sety(y)
x = player.pos()[0]
y = player.pos()[1]
ניתן לסובב את הצב בזוויות שונות ימינה ושמאלה וגם לגרום לו לפנות לכיוון ספציפי. באופן הבא:
player.goto(x, y)
player.setheading(x)
player.seth(x)
player.left(X)
player.lt(X)
player.right(X)
player.rt(X)
player.goto(300, 100) #קפוץ אל
player.setheading(90)#פנה מעלה
player.seth(90)#פנה מעלה מקוצר
player.left(20)#פנה 20 מעלות שמאלה
player.lt(90)#פנה 90 מעלות שמאלה מקוצר
player.right(180)#פנה 180 מע'
player.rt(30)#פנה 30 מע
עט מעלה ועט מטה - אל תצייר ותייר בהתאמה
player.showturtle()
player.hideturtle()
player.penup()
player.pu()
player.pendown()
player.pd()
לפניכם קוד ראשון בתכנות הצב, תוכלו להעתיק את הקוד, להוסיף ולעדכן כרצונכם. הצב ממוקם בראשית הצירים (0,0) ניתן להקפיץ את הצב למיקום מוחלט בציון X ו Y. ניתן גם לגרום לצב ללכת צעדים קדימה ואחורה.
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.color("green")
t.shapesize(4)
t.pensize(3)
t.pencolor("blue")
t.goto(100,100)
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.color("green")
t.shapesize(4)
t.pensize(3)
t.pencolor("blue")
t.fd(100)
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.color("green")
t.shapesize(4)
t.pensize(3)
t.pencolor("blue")
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.color("green")
t.shapesize(4)
t.pensize(3)
t.pencolor("blue")
החותמת היא כלי נחמד שמאפשר לחזור על צורת הצב או תמונה (בהמשך). ניתן גם לצייר מעגלים וקשתות. הריצו את קטעי הקוד.
player.stamp()
player.circle(x)
player.circle(x,y)
player.stamp()
player.circle(40)
player.circle(40,180)
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.color("green")
t.shapesize(4)
t.pensize(3)
t.pencolor("blue")
t.pu()
t.goto(-300,0)
t.pd()
t.fd(100)
t.stamp()
t.fd(100)
t.circle(100)
t.fd(100)
t.circle(100,120)
t.fd(100)
ניתן לצייר צורות סגורות ולצבוע אותן, כלומר למלא אותן בצבע' . קטע הקוד מחולק ל ארבעה חלקים. תוכלו להריץ את הקוד יחד. בדוגמאות המשולש והריבוע השתמשתי בלולאות.
t.fillcolor("red")
t.begin_fill()
t.circle(100)
t.end_fill()
import turtle
t=turtle.Turtle()
p=turtle.Turtle()
k=turtle.Turtle()
t.pu()
t.goto(-300,0)
k.pu()
k.goto(300,0)
t.pd()
t.shape("arrow")
t.fillcolor("red")
t.begin_fill()
t.circle(100)
t.end_fill()
p.goto(0,0)
p.shape("turtle")
p.fillcolor("green")
p.begin_fill()
for i in range(4):
p.fd(100)
p.lt(90)
p.end_fill()
k.pd()
k.shape("triangle")
k.fillcolor("blue")
k.begin_fill()
for i in range(3):
k.fd(100)
k.lt(120)
k.fd(100)
k.end_fill()
עבודות מגלריית תלמידים
עבודות מגלריית תלמידים
ניתן לאייר באמצעות צב אחד או מספר צבים
איור צבעוני של ספרות
ניעזר בספריית time כדי לייצא אשלייה של תזמון. נחליף את ראש הצב ל ריק או עיגול. תוכלו להריץ את הקוד, לשנות צבעים ותזמון כרצונכם. גם כאן יש שימוש בלולאה.
import turtle
import time
wn=turtle.Screen()
wn.bgcolor('lightblue')
t=turtle.Turtle()
t.shape("circle")
t.shapesize(10)
t.color("yellow")
for i in range(10):
t.shape("blank")
time.sleep(1)
t.shape("circle")
t.color("yellow")
time.sleep(1)
רמזור - הרחיבו את קוד התכנית כך שייווצר רמזור. השתמשו בשלושה צבעים, שלושה צבים ולולאות.
import turtle
import time
wn=turtle.Screen()
wn.bgcolor('lightblue')
player=turtle.Turtle()
player.pu()
player.goto(0,100)
player.shape("circle")
player.shapesize(5)
player.color("red")
time.sleep(1)
player.color("black")
time.sleep(1)
import turtle
p=turtle.Turtle()
p.speed(1)
p.shape("turtle")
p.color("purple")
p.ht()
p.shapesize(5)
p.pu()
p.goto(-500,0)
p.st()
p.seth(0)
p.fd(1000)
p.seth(180)
p.fd(1000)
import turtle
t=turtle.Turtle()
t.speed(1)
t.shape("turtle")
t.color("green")
t.ht()
t.shapesize(5)
t.pu()
t.goto(0,500)
t.st()
t.seth(270)
t.fd(1000)
t.seth(90)
t.fd(1000)
import turtle
import time
t=turtle.Turtle()
t.speed(1)
t.shape("turtle")
t.shapesize(3)
t.color("green")
t.seth(0)
t.pu()
x=-500
y=0
t.ht()
t.goto(x,y)
for i in range(10):
t.st()
x=x+100
t.goto(x,y)
t.stamp()
x=0
y=500
t.ht()
t.goto(x,y)
for i in range(10):
t.st()
y=y-100
t.goto(x,y)
t.stamp()
x=-500
y=500
t.ht()
t.goto(x,y)
for i in range(10):
t.st()
x=x+100
y=y-100
t.goto(x,y)
t.stamp()
import turtle
tw = turtle.Screen()
player = turtle.Turtle()
player.shape('square')
def pologon(n):
player.clear()
for i in range(n):
player.pd()
player.color("blue")
player.fd(50)
player.rt(360/n)
for i in range(10);
pologon(i)
turtle.mainloop()
import turtle
t=turtle.Turtle()
t.pu()
t.goto(-200,0)
num=20
x=-200
y=0
for i in range(5):
for j in range(4):
t.pd()
t.fd(num)
t.left(90)
x=x-10
y=y-10
t.pu()
t.goto(x,y)
num=num+20
t.pd()
t1=turtle.Turtle()
t1.pu()
t1.goto(0,-40)
num=20
r=10
x=0
y=-40
for i in range(5):
t1.pd()
t1.circle(r)
t1.pu()
y=y-20
t1.goto(x,y)
r=r+20
t1.pd()