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