第四章 第四節 Scratch3.0過程的嵌套


正如我們前面提到的,過程應當執行單一的、明確定義的任務。但是為了執行多個任務,通常都希望在過程中調用其他過程,這在Scratch中是完全可行的。過程的嵌套提高了程序在結構化和組織上的靈活性。

我們通過畫兩個有趣的圖形為例來學習本節的內容。

首先定義一個畫正方形的過程

其次定義一個畫多個正方形的過程(調用上面的過程)
          

最后定義一個旋轉正方形的過程(調用上面的過程)

繪制的圖形如下

 

過程的嵌套是不是非常強大呢?

我們再看一個案例。這次仍從Square過程開始,最終繪制一個棋盤。

首先創建繪制一排正方形的過程Row,如下圖所示。注意,正方形的個數使用參數count指定。為了讓程序簡單,我們規定正方形的邊長為20,當然也可以將其作為過程Row的第二個參數。

 

上圖右展示了當過程RoW的參數為4的繪制結果,其中調用了四次 Square 20 steps。每繪制一個正方形,角色的位置會向右移動20步,從而為下一次繪制做好准備。在四個正方形全部繪制完后,最后一塊積木命令角色回到最初的位置。
若要繪制上圖所示的下一排正方形,只需要將角色向下移動20步后調用過程Row即可。因此,重復調用過程Row就能繪制任意行數,如下圖所示的過程Checkers。

 過程 Checkers有兩個參數:行數和列數。當某行繪制完畢后,角色向下移動20步,為繪制下一行做好准備。本節的例子說明了程序划分為更小、更易管理的片段的重要性。對復雜的程序來說,我們可以復用已經編寫好並通過測試的過程,甚至在其基礎上繼續構建過程,而不需要過分擔心底層是如何實現的。這樣便能將自己的精力放在最需要解決的問題上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM