# 00.คำสั่งต่างๆใน python turtle

```python

#การตั้งค่าเริ่มต้น
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()  # สิ้นสุดการเติมสีลวดลาย




```

>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://krootee.gitbook.io/python-turtle/1.example01-10/00.-python-turtle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
