旋轉的多邊形(也稱作五彩萬花筒)是在簡單旋轉圖形的基礎上的升級。我們將學習制作根據回答畫出2-9邊形并旋轉的程序。
程序開始詢問“請輸入2-9之間你喜歡的數字”,以輸入的數字確定幾邊形,并通過旋轉一周形成漂亮的圖案。如果輸入的數字超出范圍,比如10邊形以上就和圓形差不多了。這時就要求重新輸入(圖1)。

繪制前要確定幾點:在確定旋轉點(0,0),旋轉顏色(自定義還可以變色),以及旋轉的方向(順時針)后,根據輸入的邊數和邊長(固定為65)首先繪制出一個正多邊形,然后按照旋轉點順時針旋轉15次。就可得出我們的旋轉后的圖形了。在繪制的過程中要合理使用廣播功能和自定義積木搭建,能提高程序效率。
程序分為詢問和繪畫兩個過程,在程序開始運行后,發出廣播:詢問。詢問過程要保存用戶輸入的多邊形邊數,用于繪制。
收到詢問的廣播后,首先對輸入數字進行判斷,看是否在要求范圍內。如果符合就將回答的數字賦值給記錄答案,然后停止這個腳本(圖2)。

當收到繪制的廣播后,便開始繪制過程。
初始化:使用畫筆工具,面向90°方向,設置旋轉點為(0,0),設置好粗細和顏色(為了實現每次旋轉的顏色不重復,可以把顏色設置為隨機數,在50和100之間任意取值)。
初始化后,開始執行旋轉,這里嵌套了一個外循環重復執行15次(固定值),在繪制一個多邊形后,順時針方向旋轉15次,角度固定使用(360/15)。還可以根據正多邊形的邊數進行旋轉,將15改為“記錄答案”的變量即可,旋轉的角度也需相應換算(圖3)。

繪制各種正多邊形是必須掌握的基本技巧,根據邊數(輸入值),邊長為固定值65(可自定義)。創建自制積木“繪制正多邊形”,包含兩個變量邊數n和邊長s。
根據邊數進行重復循環執行n次,在循環中首先根據邊長移動,再進行角度的旋轉,根據正多邊形外角和為360度,轉動角度為(360/n)。直到旋轉完成后形成正多邊形,便完成繪制(圖4)。

通過繪制不同的圖形,可以鍛煉對于循環的理解,通過對比程序實際運行效果和自己預估效果之間的異同也能更好地提高對于編程語言的敏感度。