2021年9月21日 星期二

習題1. 畫Pokemon 精靈球

任務:參考影片的繪圖步驟,自行完成本頁的範例程式,繪製一顆Pokemon精靈球
解答:在本頁的底部。


"""
subject: draw a Pokemon Ball
程式設計:wuhinco@gmai.com 
"""
#匯入程式庫
import turtle
#設定螢幕尺寸、螢幕物件、畫筆物件
turtle.setup(800, 600)
wn = turtle.Screen()
t = turtle.Turtle()
#1.設定背景顏色或影像檔。例如:t.bgcolor("skyblue") 或是t.bgpic("pokemon.png")

#2.設定球的半徑為一變數,並指定值。例如: radius = 200

#3.設定動畫速度, 利用t.speed(數值)。數值範圍:0~10

#4.提筆, 利用t.penup()

#5.起點的y座標下降一倍半徑,利用t.sety(radius)

#6.設定區塊的顏色,利用t.color("畫筆顏色","區塊顏色")。例如:t.color("gray", "white")

#7.下筆,利用t.pendown()

#8.開始填色,利用t.begin_fill()

#9.畫圓,利用t.circle(半徑,角度), 半徑設為radius

#10.結束填色,利用t.end_fill()

#11.再移動90度, 利用t.circle(半徑,角度)

#12.設定前景和背景顏色。利用t.color(前景,背景)

#13.開始填色,利用t.begin_fill()

#14.畫半圓,利用t.circle(半徑,角度), 半徑設為radiuns, 角度設為180
 
#15.左轉90度。利用t.left(角度)

#16.前進兩倍半徑

#17.結束填色,利用t.end_fill()

#18.設定畫筆顏色為黑色"black"。利用t.pencolor("顏色")

#19. 設定畫筆尺寸為 radius / 7。利用t.pensize(radius/7)

#20. 提筆。利用t.penup()

#21.設定及移動新x座標。利用t.setx(x)。可修正線條過長問題

#22.下筆,利用t.pendown()

#23.後退兩位半徑 radius * 2或更小(radius*14/15)*2。利用t.back(長度)

#24.回到中心點。利用t.home()

#25.依序由大到小畫出3個圓,並加上不同的顏色。利用t.dot("尺寸","顏色")
# 顏色英文:灰色 "gray", 黑色 "black", 白色 "white", 紫色"purple", 藍色"blue"

#26.隱藏畫筆。利用t.hideturtle()

#顯示文件。利用t.write(文字,字體)
t.penup()
t.sety(100)
t.pendown()
t.write("Pokemon GO!", font=("Arial", 24, "normal"))
# 執行事件迴圈
wn.mainloop()
#20. 提筆。利用t.penup()

#21.設定及移動新x座標。利用t.setx(x)。可修正線條過長問題

#22.下筆,利用t.pendown()

#23.後退兩位半徑 radius * 2或更小(radius*14/15)*2。利用t.back(長度)

#24.回到中心點。利用t.home()

#25.依序由大到小畫出3個圓,並加上不同的顏色。利用t.dot("尺寸","顏色")
# 顏色英文:灰色 "gray", 黑色 "black", 白色 "white", 紫色"purple", 藍色"blue"

#26.隱藏畫筆。利用t.hideturtle()

#顯示文件。利用t.write(文字,字體)
t.penup()
t.sety(100)
t.pendown()
t.write("Pokemon GO!", font=("Arial", 24, "normal"))
# 執行事件迴圈
wn.mainloop()



============
習題參考答案
============
"""
subject: draw a Pokemon Ball
作者(班級+座號): 
"""
#匯入程式庫
import turtle
#設定螢幕尺寸、螢幕物件、畫筆物件
turtle.setup(800, 600)
wn = turtle.Screen()
t = turtle.Turtle()
#1.設定背景顏色或影像檔。例如:t.bgcolor("skyblue") 或是t.bgpic("pokemon.png")
wn.bgcolor("skyblue")
#wn.bgpic("pokemon.png")
#2.設定球的半徑為一變數,並指定值。例如: radius = 200
radius = 200
#3.設定動畫速度, 利用t.speed(數值)。數值範圍:0~10
t.speed(2)
#4.提筆, 利用t.penup()
t.penup()
#5.起點的y座標下降一倍半徑,利用t.sety(radius)
t.sety(-radius)
#6.設定區塊的顏色,利用t.color("畫筆顏色","區塊顏色")。例如:t.color("gray", "white")
t.color("gray", "white")
#7.下筆,利用t.pendown()
t.pendown()
#8.開始填色,利用t.begin_fill()
t.begin_fill()
#9.畫圓,利用t.circle(半徑,角度), 半徑設為radius
t.circle(radius)
#10.結束填色,利用t.end_fill()
t.end_fill()
#11.再移動90度, 利用t.circle(半徑,角度)
t.circle(radius, 90)
#12.設定前景和背景顏色。利用t.color(前景,背景)
t.color("gray", "red")
#13.開始填色,利用t.begin_fill()
t.begin_fill()
#14.畫半圓,利用t.circle(半徑,角度), 半徑設為radiuns, 角度設為180
t.circle(radius, 180) 
#15.左轉90度。利用t.left(角度)
t.left(90)
#16.前進兩倍半徑
t.forward(radius*2)
#17.結束填色,利用t.end_fill()
t.end_fill()
#18.設定畫筆顏色為黑色"black"。利用t.pencolor("顏色")
t.pencolor("black")
#19. 設定畫筆尺寸為 radius / 7。利用t.pensize(radius/7)
t.pensize(radius/7)
#20. 提筆。利用t.penup()
t.penup()
#21.設定及移動新x座標。利用t.setx(x)。可修正線條過長問題
t.setx(radius * 14 / 15)
#22.下筆,利用t.pendown()
t.pendown()
#23.後退兩位半徑 radius * 2或更小(radius*14/15)*2。利用t.back(長度)
t.back((radius*14/15)* 2)
#24.回到中心點。利用t.home()
t.home()
#25.依序由大到小畫出3個圓,並加上不同的顏色。利用t.dot("尺寸","顏色")
# 顏色英文:灰色 "gray", 黑色 "black", 白色 "white", 紫色"purple", 藍色"blue"
t.dot(radius / 2, "black")
t.dot(radius / 3, "white")
t.dot(radius / 5, "gray")
#26.隱藏畫筆。利用t.hideturtle()
t.hideturtle()
#顯示文件。利用t.write(文字,字體)
t.penup()
t.sety(100)
t.pendown()
t.write("Pokemon GO!", align="center", font=("Arial", 24, "normal"))
# 執行事件迴圈
wn.mainloop()


沒有留言:

張貼留言

習題1. 畫Pokemon 精靈球

任務:參考影片的繪圖步驟,自行完成本頁的範例程式,繪製一顆Pokemon精靈球 解答:在本頁的底部。 """ subject: draw a Pokemon Ball 程式設計:wuhinco@gmai.com  """...