Mục tiêu: Hiểu khái niệm "Thư viện" (Library) trong Python và điều khiển đồ họa bằng code.
Khái niệm mới: Thư viện turtle (Đồ họa chú rùa) — cách mượn công cụ có sẵn để vẽ tranh.
Các lệnh điều khiển tư duy không gian: * forward(100): Đi thẳng 100 bước.
left(90) / right(90): Rẽ trái/phải 90 độ (Ôn tập kiến thức góc hình học ở trường cực tốt!).
color("red"): Đổi màu bút vẽ.
Dự án thực hành tại lớp:
Mức độ 1: Vẽ hình vuông, hình tam giác đều, ngôi sao 5 cánh.
Mức độ 2 (Kết hợp vòng lặp for bài trước): Tạo ra các hoa văn hình học lặp đi lặp lại siêu đẹp (Vòng xoáy ma thuật).
Hôm nay, chúng ta sẽ tạm biệt màn hình dòng lệnh đen trắng để bước vào thế giới của màu sắc và hình khối.
Trong bài này, các con sẽ được mượn một công cụ có sẵn cực kỳ nổi tiếng của Python gọi là Turtle (Chú rùa họa sĩ). Hãy tưởng tượng có một chú rùa mang theo một cây bút màu ở đuôi, các con ra lệnh cho rùa đi đâu, rùa sẽ vẽ một đường sắc màu đến đó!
Để sử dụng những công cụ không có sẵn, chúng ta cần dùng lệnh import. Các con mở file mới đặt tên là bai6_turtle.py, gõ và chạy 3 dòng code ma thuật này:
import turtle # Mượn thư viện rùa họa sĩ
rua = turtle.Turtle() # Tạo ra một chú rùa và đặt tên là 'rua'
rua.shape("turtle") # Đổi hình dáng từ mũi tên thành một chú rùa dễ thương
turtle.done() # Dòng này luôn để ở cuối cùng để giữ màn hình vẽ không bị tắt
Khi bấm Run: Một cửa sổ mới sẽ hiện ra, và một chú rùa nhỏ xíu đang nằm im ở chính giữa màn hình (tọa độ $0, 0$) để chờ lệnh của con!
📐 Bước 2: Học các lệnh điều khiển Rùa (Ôn tập hình học)
Bố hãy giải thích cho các con: "Muốn rùa vẽ hình, mình phải ra lệnh bằng tiếng Anh". Có 4 lệnh cơ bản nhất:
rua.forward(số_bước): Đi thẳng về phía trước.
rua.backward(số_bước): Đi lùi về phía sau.
rua.left(số_góc): Xoay người sang bên trái bao nhiêu độ.
rua.right(số_góc): Xoay người sang bên phải bao nhiêu độ.
Bố hãy đố các con: "Hình vuông có 4 cạnh bằng nhau, và 4 góc đều bằng $90^\circ$. Làm sao để điều khiển rùa vẽ được một hình vuông cạnh 100 bước?"
Bố hướng dẫn con gõ đoạn code này vào giữa (trên dòng turtle.done() nhé):
# Vẽ cạnh thứ 1
rua.forward(100)
rua.left(90)
# Vẽ cạnh thứ 2
rua.forward(100)
rua.left(90)
# Vẽ cạnh thứ 3
rua.forward(100)
rua.left(90)
# Vẽ cạnh thứ 4
rua.forward(100)
rua.left(90)
for (Bài 4)Khi thấy con vẽ xong hình vuông, "Các con thấy không, mình phải viết lặp đi lặp lại lệnh đi thẳng và rẽ trái 4 lần. Ở Bài 4 mình học vòng lặp rồi, hãy dùng for để rút gọn code nào!"
Con xóa đoạn code cũ đi và thay bằng đoạn code siêu gọn này:
# Thêm màu sắc cho rùa vẽ đỡ chán nhé
rua.color("blue") # Bút màu xanh dương
rua.pensize(5) # Nét bút dày 5 pixel cho rõ
# Vòng lặp chạy 4 lần để vẽ 4 cạnh hình vuông
for i in range(4):
rua.forward(100)
rua.left(90)
Để các con thấy được sức mạnh thực sự của lập trình đồ họa, hai bố con hãy cùng tạo ra một kiệt tác nghệ thuật bằng cách cho rùa vẽ nhiều hình vuông lệch nhau một chút liên tục nhé!
Các con gõ đoạn code này :
import turtle
rua = turtle.Turtle()
rua.shape("turtle")
rua.speed(11) # Cho rùa chạy với tốc độ tối đa (vèo vèo!)
# Danh sách màu sắc để vòng xoáy rực rỡ
cac_mau = ["red", "purple", "blue", "green", "orange", "yellow"]
# Cho rùa vẽ 60 hình vuông liên tiếp!
for i in range(60):
# Tự động đổi màu bút vẽ theo vòng lặp
rua.color(cac_mau[i % 6])
# Vẽ 1 hình vuông
for j in range(4):
rua.forward(100)
rua.left(90)
# Sau khi vẽ xong 1 hình vuông, rùa nhích xoay sang phải 6 độ rồi vẽ tiếp
rua.right(6)
turtle.done()
Hiệu ứng: Các con sẽ thấy chú rùa chạy thoăn thoắt tạo nên một bông hoa hoặc một vòng xoáy hình học cực kỳ đẹp mắt và rực rỡ sắc màu.
Sau khi các con trầm trồ với vòng xoáy, bố hãy tung ra một thử thách để các con tự "hack" tư duy:
Thử thách vẽ Tam Giác Đều: "Đố hai con sửa code để rùa vẽ một hình tam giác đều (3 cạnh). Gợi ý: Tam giác có 3 cạnh nên vòng lặp chạy 3 lần, nhưng đố các con biết rùa phải rẽ trái bao nhiêu độ? (Không phải $60^\circ$ đâu nhé, rùa phải quay góc ngoài là $120^\circ$ đấy!)"
Thử thách Ngôi Sao 5 Cánh: "Nếu muốn vẽ ngôi sao 5 cánh, vòng lặp sẽ chạy 5 lần, và góc rẽ thần kỳ của rùa là $144^\circ$. Các con thử tự làm xem sao nhé!"
Bài học này rất trực quan, con đoán sai góc một cái là hình sẽ chạy lung tung ngay, giúp các con tự sửa sai rất vui. Hãy cùng con đón xem chú rùa "múa" trên màn hình nhé!