Lập trình vẽ và tô màu sao vàng 5 cánh trong Scratch và Python
Lập trình vẽ và tô màu sao vàng 5 cánh trong Scratch và Python
Đây là một ví dụ về cách lập trình vẽ và tô màu sao vàng 5 cánh trong Python, sử dụng thư viện turtle
:
import turtle # Khởi tạo màn hình đồ họa screen = turtle.Screen() # Tạo đối tượng turtle pen = turtle.Turtle() # Độ dài cạnh của hình sao side_length = 100 # Góc quay giữa các cạnh của hình sao angle = 144 # Màu sắc cho hình sao star_color = "gold" # Vẽ và tô màu hình sao def draw_and_color_star(): pen.fillcolor(star_color) pen.begin_fill() for _ in range(5): pen.forward(side_length) pen.right(angle) pen.forward(side_length) pen.right(72 - angle) pen.end_fill() # Di chuyển con turtle đến vị trí vẽ hình sao pen.penup() pen.goto(-50, 0) pen.pendown() # Vẽ và tô màu hình sao draw_and_color_star() # Dừng chương trình khi nhấn vào màn hình đồ họa screen.exitonclick()
Kết quả:
Trong ví dụ này, chúng ta sử dụng module turtle
để vẽ và tô màu một hình sao vàng 5 cánh. Các bước cơ bản bao gồm:
- Khởi tạo màn hình đồ họa sử dụng
turtle.Screen()
. - Tạo đối tượng
turtle
sử dụngturtle.Turtle()
. - Định nghĩa độ dài cạnh của hình sao trong biến
side_length
. - Tính góc quay giữa các cạnh của hình sao bằng cách sử dụng góc nội tiếp của một hình chữ nhật (144 độ), và lưu vào biến
angle
. - Định nghĩa màu sắc cho hình sao trong biến
star_color
. - Viết một hàm
draw_and_color_star()
để vẽ và tô màu hình sao. Trong hàm này, chúng ta sử dụng một vòng lặp để di chuyển conturtle
tiến về phía trước theo độ dài cạnh, rẽ phải một gócangle
, di chuyển tiếp theo theo độ dài cạnh, và rẽ lại phải góc72 - angle
. Lặp lại quá trình này cho tất cả 5 cạnh của hình sao. Sau đó, chúng ta sử dụngpen.fillcolor()
vàpen.begin_fill()
để bắt đầu tô màu cho hình sao vàpen.end_fill()
để kết thúc quá trình tô màu. - Di chuyển con
turtle
đến vị trí muốn vẽ hình sao sử dụngpen.goto()
. - Gọi hàm
draw_and_color_star()
để vẽ và tô màu hình sao. - Sử dụng
screen.exitonclick()
để dừng chương trình khi nhấn vào màn hình đồ họa.
Trong ví dụ này, màu sắc của hình sao được đặt là “gold”. Bạn có thể thay đổi màu sắc bằng cách thay đổi giá trị biến star_color
thành màu sắc khác, ví dụ như “red”, “blue”, “green”, và nhiều màu sắc khác.
Lập trình vẽ và tô màu sao vàng 5 cánh trong Scratch
Để lập trình vẽ và tô màu sao vàng 5 cánh trong Scratch, bạn có thể làm theo các bước sau:
- Mở trình duyệt web và truy cập vào trang web Scratch (https://scratch.mit.edu).
- Tạo một dự án mới bằng cách nhấp vào nút “Create” trên thanh công cụ.
- Trong giao diện lập trình Scratch, bạn sẽ thấy một nhân vật mặc định (một con mèo). Bạn có thể xóa nhân vật này bằng cách nhấp vào biểu tượng “X” ở góc trên bên trái của nhân vật.
-
Tìm và kéo thả các khối lập trình sau vào khu vực lập trình (Script):
- Khối “when green flag clicked” (khi nhấp vào lá cờ xanh): Điều này sẽ thiết lập chương trình chạy khi bạn nhấp vào lá cờ xanh để bắt đầu.
- Khối “clear” (xóa màn hình): Điều này sẽ xóa mọi vẽ trên màn hình trước khi vẽ hình sao.
- Khối “pen down” (bút chạm xuống): Điều này sẽ đảm bảo rằng con trỏ bút sẽ chạm xuống mặt phẳng khi vẽ.
- Khối “set pen color to [color] ” (đặt màu bút thành [màu] ): Điều này sẽ đặt màu bút để tô màu hình sao. Bạn có thể thay đổi màu sắc bằng cách chọn màu từ hộp thoại hoặc nhập mã màu.
- Khối “repeat (5)” (lặp lại (5) lần): Điều này sẽ tạo một vòng lặp để vẽ hình sao. Bạn có thể thay đổi số lần lặp để thay đổi kích thước hình sao.
- Khối “move (length)” (di chuyển (độ dài)): Điều này sẽ di chuyển con trỏ bút đi một độ dài cụ thể. Bạn có thể thay đổi giá trị độ dài để điều chỉnh kích thước hình sao.
- Khối “turn right (144) degrees” (rẽ phải (144) độ): Điều này sẽ quay con trỏ bút một góc cụ thể. Hình sao 5 cánh có mỗi đỉnh là một góc 144 độ, do đó, ta sẽ quay 144 độ mỗi lần để vẽ các cạnh của hình sao.
- Khối “end” (kết thúc): Điều này sẽ kết thúc chương trình.
- Điều chỉnh các giá trị trong các khối lập trình để thay đổi kích thước và màu sắc của hình sao.
- Nhấp vào lá cờ xanh để chạy chương trình và xem hình sao được vẽ và tô màu trong khu vực diễn đạt Scratch.
Lưu ý rằng Scratch là một môi trường lập trình trực quan và không sử dụng ngôn ngữ Python. Việc lập trình trong Scratch sẽ dựa vào kéo và thả các khối lập trình để tạo thành các chuỗi lệnh.