โมดูลเต่า turtle เป็นโมดูลสำหรับใช้เริ่มต้นแนะนำการเรียนการเขียนโปรแกรมให้เด็ก โดยมีต้นฉบับมาจากภาษา Logo โดยมีบน Python 2.6 และ Python 3 เป็นต้นมา
เรามาเริ่มต้นง่าย ๆ กันครับ
import turtle
t = turtle.Turtle()
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
กดปุ่ม Run เพื่อเล่นโค้ด
จะเห็นได้ว่า เราได้วาดรูปมาแล้ว
ต่อมาเรามาวาดรูปสี่เหลี่ยมจัตุรัสกันครับ
import turtle
t = turtle.Turtle()
# มุมที่ 1
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
# มุมที่ 2
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
# มุมที่ 3
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
# มุมที่ 4
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
ไปทางซ้าย กับ ทางขวา
import turtle
t = turtle.Turtle()
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
t.right(90) # หันไปทางซ้าย ทำมุม 90 องศาจากมุมเดิม
t.forward(100)
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
เรามาใส่สีให้กับสีทั้ง 4 มุมกันครับ
import turtle
t = turtle.Turtle()
# มุมที่ 1
t.color('red') # ใส่สีแดง ให้กับเส้น
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
# มุมที่ 2
t.color('green') # ใส่สีเขียว ให้กับเส้น
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
# มุมที่ 3
t.color('yellow') # ใส่สีเหลือง ให้กับเส้น
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
# มุมที่ 4
t.color('blue') # ใส่สีน้ำเงิน ให้กับเส้น
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
นำการลูป for ของภาษา Python มาใช้วาดรูปสี่เหลี่ยมจัตุรัส
import turtle
t = turtle.Turtle() # สร้างพื้นที่สำหรับเล่น turtles
for c in ['red', 'green', 'yellow', 'blue']: # ลูปค่าตัวแปร c ตามสี
t.color(c) # กำหนดสีตามค่าที่ลูปได้จากตัวแปร c
t.forward(90) # ลากเส้นตรงไปข้างหน้า 90 พิกเซล
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
สรุปคำสั่ง
- turtle.Turtle() เป็นคำสั่งสำหรับดึงคำสั่งต่าง ๆ ที่เกี่ยวกับการวาดรูปมาทำงาน มักใช้ตัวแปรแทนคำสั่งนี้
- turtle.forward() ลากเส้นตรงไปข้างหน้ามีหน่วยเป็นพิกเซล
- turtle.left() หันไปทางขวา ทำมุมตามองศาที่กำหนดจากมุมเดิม
- turtle.right() หันไปทางซ้าย ทำมุมตามองศาที่กำหนดจากมุมเดิม
- turtle.color() เป็นคำสั่งกำหนดสีให้กับเส้น (ชื่อสีในภาษาอังกฤษ)
- turtle.mainloop() เป็นคำสั่งลูปค้างหน้าจอไว้สำหรับรอวาดรูปต่อ
ใส่ เต่า turtle
เราสามารถใช้ตัวละครแทนลูกศรอันน่าเบื่อได้ง่าย ๆ ตามนี้ครับ
- คำสั่ง turtle.shape() สามารถใส่ตัวละคร เช่น “arrow”, “turtle”, “circle”, “square”, “triangle”, “classic” ลงไป
- คำสั่ง turtle.pensize() เป็นคำสั่งสำหรับใช้กำหนดขนาดตัวละครของเราและขนาดของเส้นเป็น พิกเซล
เมื่อใส่ตัวละครเต่า turtle ลงไปในการวาดรูปสี่เหลี่ยมจัตุรัส
import turtle
t = turtle.Turtle() # สร้างพื้นที่สำหรับเล่น turtles
t.shape("turtle") # ใส่ตัวละครเต่า turtle ลงไป
t.pensize(3) # กำหนดขนาด 90 พิกเซล
for c in ['red', 'green', 'yellow', 'blue']: # ลูปค่าตัวแปร c ตามสี
t.color(c) # กำหนดสีตามค่าที่ลูปได้จากตัวแปร c
t.forward(90) # ลากเส้นตรงไปข้างหน้า 90 พิกเซล
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
คำสั่ง turtle.Screen()
หากเราต้องการกำหนดหัวข้อหน้าต่าง กำหนดสีให้กับหน้าต่าง ต้องใช้
- คำสั่ง turtle.Screen() เป็นคำสั่งตั้งค่าหน้าต่างให้วัตถุ ต้องใช้คำสั่งนี้ก่อนคำสั่ง turtle.Turtle()
- คำสั่ง Screen.title() เป็นคำสั่งกำหนดหัวข้อ
- คำสั่ง Screen.bgcolor() เป็นคำสั่งกำหนดสีภาพพื้นหลัง (ชื่อเป็นภาษาอังกฤษ เช่น "yellow" เป็นต้น)
- คำสั่ง Screen.screensize(ความกว้าง ความสูง) เป็นคำสั่งกำหนดขนาดให้กับหน้าต่าง มีหน่วยเป็นพิกเซล
ทำให้เต่า turtle อยู่กับที่ตามที่กำหนด
ใช้คำสั่ง turtle.stamp() เป็นคำสั่งสั่งให้ตัวละครของเราอยู่กับที่ตามที่เรากำหนด เช่น
import turtle
Screen = turtle.Screen()
Screen.title("Hi") # กำหนดหัวข้อว่า Hi
Screen.bgcolor("white") # กำหนดให้หน้าต่างชื่อขาว
t = turtle.Turtle() # สร้างพื้นที่สำหรับเล่น turtles
t.shape("turtle") # ใส่ตัวละครเต่า turtle ลงไป
t.pensize(3) # กำหนดขนาด 90 พิกเซล
for c in ['red', 'green', 'yellow', 'blue']: # ลูปค่าตัวแปร c ตามสี
t.color(c) # กำหนดสีตามค่าที่ลูปได้จากตัวแปร c
t.forward(90) # ลากเส้นตรงไปข้างหน้า 90 พิกเซล
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.stamp()
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
จะพบว่า มีเต่าอยู่กับที่ 4 ตัว
กำหนดความเร็วในการลากเส้น
ใช้คำสั่ง turtle.speed() ใส่ค่า 0 - 10 แทนความเร็ว
import turtle
Screen = turtle.Screen()
Screen.title("Hi") # กำหนดหัวข้อว่า Hi
Screen.bgcolor("white") # กำหนดให้หน้าต่างชื่อขาว
t = turtle.Turtle() # สร้างพื้นที่สำหรับเล่น turtles
t.shape("turtle") # ใส่ตัวละครเต่า turtle ลงไป
t.pensize(3) # กำหนดขนาด 3
s = 0
for c in ['red', 'green', 'yellow', 'blue']: # ลูปค่าตัวแปร c ตามสี
t.color(c) # กำหนดสีตามค่าที่ลูปได้จากตัวแปร c
t.speed(s+3)
t.forward(90) # ลากเส้นตรงไปข้างหน้า 90 พิกเซล
t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมุมเดิม
t.stamp()
turtle.mainloop() # ลูปค้างหน้าจอไว้
ผลลัพธ์
จบแล้ว ? ยังไม่จบ รอภาค 2 ต่อครับ
อ่านเอกสารเพิ่มเติมได้ที่ https://docs.python.org/3/library/turtle.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
very good
ตอบลบgooddddddd
ตอบลบผมต้องแ้อะไรค้าบ
ตอบลบforcolor in rainbowcolors