00.คำสั่งต่างๆใน python turtle
#การตั้งค่าเริ่มต้น
import turtle # นำเข้าโมดูล turtle เพื่อใช้งานฟังก์ชันที่เกี่ยวข้องกับกราฟิก
#การสร้างและตั้งค่าหน้าจอ
screen = turtle.Screen() # สร้างหน้าจอวาดรูป
screen.bgcolor("white") # ตั้งค่าสีพื้นหลังของหน้าจอเป็นสีขาว
#การสร้างและตั้งค่ากระดองเต่า (Turtle)
t = turtle.Turtle() # สร้างวัตถุเต่าสำหรับวาด
t.shape("turtle") # ตั้งรูปร่างของกระดองเต่าเป็นรูปเต่า
t.color("black") # ตั้งค่าสีของกระดองเต่าเป็นสีดำ
t.speed(3) # ตั้งค่าความเร็วในการเคลื่อนที่ของกระดองเต่า (1-10)
#คำสั่งเคลื่อนที่และหมุน
t.forward(100) # เคลื่อนที่ไปข้างหน้า 100 หน่วย
t.backward(50) # เคลื่อนที่ไปข้างหลัง 50 หน่วย
t.right(90) # หมุนกระดองเต่าไปทางขวา 90 องศา
t.left(45) # หมุนกระดองเต่าไปทางซ้าย 45 องศา
#คำสั่งควบคุมเส้นวาด
t.penup() # ยกปากกา ไม่วาดเส้นเมื่อเคลื่อนที่
t.pendown() # วางปากกา วาดเส้นเมื่อเคลื่อนที่
t.pensize(3) # ตั้งความหนาของเส้นเป็น 3 หน่วย
t.pencolor("blue") # ตั้งค่าสีเส้นเป็นสีฟ้า
#คำสั่งวาดรูป
t.circle(50) # วาดวงกลมที่มีรัศมี 50 หน่วย
t.dot(20, "red") # วาดจุดที่มีขนาด 20 หน่วยและสีแดง
t.begin_fill() # เริ่มการเติมสีภายในรูปทรง
t.end_fill() # สิ้นสุดการเติมสีภายในรูปทรง
t.goto(0, 0) # ย้ายกระดองเต่าไปที่จุด (0, 0)
t.setheading(90) # ตั้งมุมของกระดองเต่าให้หันไปในทิศทางที่ 90 องศา
#คำสั่งควบคุมหน้าจอ
screen.clear() # ล้างหน้าจอ
screen.bye() # ปิดหน้าจอและหยุดโปรแกรม
#การวนลูป
for _ in range(4): # ลูป 4 ครั้ง
t.forward(100) # เคลื่อนที่ไปข้างหน้า 100 หน่วยในแต่ละรอบ
t.right(90) # หมุนไปทางขวา 90 องศาในแต่ละรอบ
#คำสั่งเพิ่มเติม
t.hideturtle() # ซ่อนกระดองเต่า
t.showturtle() # แสดงกระดองเต่า
t.stamp() # ประทับรูปกระดองเต่าที่ตำแหน่งปัจจุบัน
t.write("Hello", font=("Arial", 16, "normal")) # เขียนข้อความ "Hello" ด้วยฟอนต์ Arial ขนาด 16
#การรักษาหน้าจอเปิดไว้
turtle.done() # ใช้เพื่อให้หน้าจอเปิดอยู่จนกว่าจะปิดเอง
#การควบคุมตำแหน่งและทิศทาง
t.setpos(50, 100) # ย้ายกระดองเต่าไปยังตำแหน่ง (50, 100) บนหน้าจอ
t.setx(100) # ย้ายกระดองเต่าไปที่ตำแหน่ง x = 100 โดยไม่เปลี่ยนตำแหน่ง y
t.sety(-50) # ย้ายกระดองเต่าไปที่ตำแหน่ง y = -50 โดยไม่เปลี่ยนตำแหน่ง x
t.home() # นำกระดองเต่ากลับไปที่จุดเริ่มต้น (0, 0) และตั้งทิศทางเป็น 0 องศา (หันไปทางขวา)
t.heading() # คืนค่ามุมปัจจุบันของกระดองเต่า
t.towards(100, 100) # คืนค่ามุมที่กระดองเต่าต้องหมุนไปหาจุด (100, 100)
t.setheading(t.towards(100, 100)) # ตั้งมุมกระดองเต่าให้หันไปทางจุด (100, 100)
#การควบคุมทิศทางเพิ่มเติม
t.right(180) # หมุนกระดองเต่าไปทางขวา 180 องศา
t.left(45) # หมุนกระดองเต่าไปทางซ้าย 45 องศา
t.circle(100, 180) # วาดเส้นครึ่งวงกลมด้วยรัศมี 100 หน่วย
t.circle(-100, 90) # วาดเส้นส่วนโค้ง 90 องศา ในทิศทางทวนเข็มนาฬิกาด้วยรัศมี 100 หน่วย
#การควบคุมปากกาเพิ่มเติม
t.pen(pencolor="green", fillcolor="yellow", pensize=5, speed=9) # ตั้งค่าปากกาด้วยสีเส้น สีเติม ความหนา และความเร็ว
t.isdown() # คืนค่า True ถ้าปากกาวางอยู่ (พร้อมวาดเส้น)
t.isvisible() # คืนค่า True ถ้ากระดองเต่าแสดงอยู่บนหน้าจอ
t.resizemode("user") # กำหนดโหมดการปรับขนาดเต่าให้เป็นแบบกำหนดเอง (มี "auto", "user", "noresize")
#การควบคุมกราฟิกเพิ่มเติม
turtle.bgcolor("lightblue") # เปลี่ยนสีพื้นหลังของหน้าจอเป็นสีฟ้าอ่อน
turtle.bgpic("background.gif") # ตั้งค่าภาพพื้นหลังจากไฟล์รูปภาพที่กำหนด
turtle.clear() # ลบการวาดทั้งหมดบนหน้าจอ แต่ไม่ลบกระดองเต่า
turtle.reset() # ล้างการวาดและรีเซ็ตการตั้งค่าของกระดองเต่า
turtle.screensize(800, 600) # กำหนดขนาดของพื้นที่การวาด
turtle.title("My Turtle Program") # ตั้งชื่อหน้าต่างโปรแกรมเป็น "My Turtle Program"
#การใช้สีและรูปแบบเส้นเพิ่มเติม
t.fillcolor("orange") # ตั้งค่าสีสำหรับการเติมภายในรูปทรง
t.begin_fill() # เริ่มการเติมสีภายในรูปทรงที่กำลังวาด
t.circle(50) # วาดวงกลมรัศมี 50 หน่วย
t.end_fill() # สิ้นสุดการเติมสีภายในรูปทรงที่กำลังวาด
#การควบคุมหน้าจอเพิ่มเติม
turtle.delay(10) # กำหนดเวลาหน่วง (delay) ระหว่างการวาดแต่ละขั้นตอนเป็น 10 มิลลิวินาที
turtle.tracer(8, 25) # ตั้งค่าอัตราการแสดงผลของหน้าจอและดีเลย์ (ใช้เพื่อเร่งความเร็วการวาด)
turtle.update() # อัพเดทหน้าจอการวาด เมื่อใช้ tracer(0) จำเป็นต้องเรียกใช้ update() เพื่อแสดงผล
#การจัดการเหตุการณ์
def move_forward():
t.forward(100) # ฟังก์ชันที่จะเคลื่อนที่ไปข้างหน้า 100 หน่วยเมื่อถูกเรียกใช้
screen.onkey(move_forward, "Up") # ตั้งค่าให้เรียกฟังก์ชัน move_forward เมื่อกดปุ่มลูกศรขึ้น
screen.listen() # เริ่มการฟังเหตุการณ์การกดปุ่มบนคีย์บอร์ด
#คำสั่งลูปและเงื่อนไข
for i in range(36):
t.forward(100)
t.right(170) # สร้างลวดลายดอกไม้ด้วยการวนลูป 36 ครั้ง
if t.isdown(): # ตรวจสอบว่าปากกาวางอยู่หรือไม่
t.penup() # ยกปากกาขึ้นถ้ามันวางอยู่
#การสร้างรูปทรงหลายเหลี่ยมและรูปทรงเรขาคณิต
for i in range(5): # ลูป 5 ครั้งเพื่อสร้างรูปดาว
t.forward(100) # เคลื่อนที่ไปข้างหน้า 100 หน่วย
t.right(144) # หมุนไปทางขวา 144 องศา เพื่อสร้างรูปดาว
#การใช้การซ้ำ (Recursion)
def recursive_square(length, depth):
if depth > 0:
for _ in range(4):
t.forward(length)
t.right(90)
recursive_square(length / 2, depth - 1) # เรียกใช้ฟังก์ชันตัวเองเพื่อลดความลึก
#การใช้พารามิเตอร์และการประยุกต์กับฟังก์ชัน
def draw_star(size, color):
t.color(color) # ตั้งค่าสีเส้นเป็นสีที่รับเข้ามาในฟังก์ชัน
for _ in range(5):
t.forward(size)
t.right(144)
draw_star(100, "blue") # วาดรูปดาวขนาด 100 หน่วย ด้วยสีฟ้า
#การใช้โหมด Turtle แบบต่าง ๆ
turtle.mode("logo") # ตั้งค่าโหมดเป็น 'logo' ซึ่งเริ่มที่ 0 องศา (ขึ้นด้านบน)
turtle.mode("standard") # ตั้งค่าโหมดเป็น 'standard' ซึ่งเริ่มที่ 0 องศา (ไปทางขวา)
t.tilt(45) # หมุนกระดองเต่าในแนวแกน Z เป็น 45 องศา
t.tiltangle(30) # ตั้งมุมการเอียงของกระดองเต่าในแนวแกน Z เป็น 30 องศา
#การควบคุมตำแหน่งและการกำหนดพิกัดเพิ่มเติม
t.setpos(150, 200) # ย้ายกระดองเต่าไปยังตำแหน่ง (150, 200)
t.getx() # คืนค่าพิกัด x ปัจจุบันของกระดองเต่า
t.gety() # คืนค่าพิกัด y ปัจจุบันของกระดองเต่า
t.distance(0, 0) # คืนค่าระยะห่างจากตำแหน่งปัจจุบันไปยังตำแหน่ง (0, 0)
#การควบคุมปากกาและสีขั้นสูง
t.pencolor("purple") # เปลี่ยนสีปากกาเป็นสีม่วง
t.pensize(10) # ตั้งความหนาของเส้นเป็น 10 หน่วย
t.fillcolor("yellow") # ตั้งค่าการเติมสีภายในเป็นสีเหลือง
t.color("red", "green") # ตั้งค่าสีปากกาเป็นสีแดง และการเติมสีภายในเป็นสีเขียว
#การสร้างลวดลายที่ซับซ้อน
def draw_spiral():
for i in range(50):
t.forward(i * 10)
t.right(144)
draw_spiral() # วาดลวดลายเกลียวด้วยการวนลูป
t.begin_fill() # เริ่มการเติมสีสำหรับลวดลายที่กำลังวาด
draw_star(100, "orange") # วาดดาวขนาด 100 หน่วยด้วยสีส้ม
t.end_fill() # สิ้นสุดการเติมสีลวดลาย
Last updated