尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
點擊上方「程序人生」,選擇「置頂公眾號」
第一時間關注程序猿(媛)身邊的故事
最近我媳婦每天晚上吃飯時候也拿手機看,上廁所也在看。
看著看著還會笑?WTF?你在幹嘛呢?
沒錯,她在看美隊……
這男人比我帥?……
比我有錢?……
還是比我有腔調?……
答案很明顯,我相信你們的眼睛都是雪亮的。
那問題來了,作為一個男人,怎麼能忍?雖然是個明星,雖然是假的,雖然已經挽回不了敗局了……那我就送個美隊的盾牌給你吧……
這篇文章不是Turtle的入門篇,所以關於基本的畫筆使用小胖不在這篇里贅述了。有興趣的可以後台留言,我會根據你們的反饋來寫一篇或者一個系列。
先來看一個效果圖:
用過Turtle的都知道,畫筆是需要抬手和落筆的。這一點一定要理解,因為計算機是很死板的,你的每一個動作都必須告訴他,包括GC。
所以你的畫筆一旦落下,經過的每一處都會留下字跡。如果希望隔開一段距離就需要經過「抬筆」->「移動畫筆」->「落筆」。
所以我們先把這個動作封裝成一個函數:
defsetpen(x, y): # 抬筆 t.penup() # 移動畫筆到(x, y) t.goto(x, y) # 落筆 t.pendown() t.setheading(0)
接下來就來畫盾牌.
盾牌的話,注意觀察美隊盾牌,顏色是「紅」->「白」->「紅」->「藍」。
這里有一個技巧,就是後面填充的圓圈背景色是可以覆蓋之前畫的圓圈的背景色。
defcircle(x, y, r, color): # 為了保證畫出的圓夠圓,所以我們把圓的邊設置的多一些 n =36 angle =360/ n pi =3.1415926 # 周長 c =2* pi * r # 每條邊的長度 l = c / n # 起始位置 start_x = x - l /2 start_y = y + r # 移動畫筆 setpen(start_x, start_y) # 選擇畫筆顏色 t.pencolor(color) # 選擇背景色 t.fillcolor(color) # 填充 t.begin_fill() foriinrange(n): t.forward(l) t.right(angle) t.end_fill()
接下來就是畫里面那個白色的五角星了,這里就不註釋了,因為和畫圈的過程差不多。
deffive_star(l): setpen(0,0) t.setheading(162) t.forward(150) t.setheading(0) t.fillcolor('WhiteSmoke') t.begin_fill() t.hideturtle() t.penup() foriinrange(5): t.forward(l) t.right(144) t.end_fill()
主函數:
defsheild(): circle(0,0,300,'red') circle(0,0,250,'white') circle(0,0,200,'red') circle(0,0,150,'blue') five_star(284)if__name__ =='__main__': sheild() # 結束烏龜圖 turtle.done()
好啦,今天的內容就到這了,歡迎留言說說你的想法~
– The End –
「若你有原創文章想與大家分享,歡迎投稿。」
加編輯微信ID,備註#投稿#:
程序 丨 druidlost
小七 丨 duoshangshuang
快來參與免費送書線上分享
掃描下方海報二維碼,添加小助手,回復「分享」,小助手會邀你進群。免費聽《工程師的成長課》該書作者安曉輝的分享。
同時,作者還會在群里和大家交流互動,為你個人在未來職業規劃上的問題和困惑指明方向。
分享結束後,會在群內抽出3名互動積極用戶,免費送出作者著作一本!
上期精彩內容