決策和變量相輔相成。程序需要能夠根據(jù)情況改變課程。例如,下面是繪制螺旋的框架。它有一個(gè)循環(huán),是前面顯示的重復(fù)的變體,循環(huán)的主體供我們填寫。
to spiral
make "n 1
while [:n < 100] [
make "n :n + 5
fd :n rt 90
]
end
上面的代碼展示了 MSW Logo 語(yǔ)法的幾個(gè)新特性。我們通過鍵入make
將一個(gè)變量設(shè)置為一個(gè)新值,然后變量的名稱前面是雙引號(hào)"
而不是冒號(hào):
,如下所示。
make "n 1
不過,我們使用了一個(gè)變量,在它的名稱前有一個(gè)冒號(hào):
。
while [:n < 100]
while [condition]
后括號(hào)內(nèi)的代碼被執(zhí)行,而條件為真。當(dāng)它不再為真時(shí),因?yàn)椋ㄔ谶@種情況下):n
的值增長(zhǎng)大于 100,執(zhí)行括號(hào)后面的代碼。
以下屏幕截圖顯示了上述代碼的執(zhí)行和輸出。
現(xiàn)在,我們將討論if 語(yǔ)句的使用,它具有僅在給定條件為真時(shí)才會(huì)執(zhí)行的代碼。
它還顯示了一個(gè)生成隨機(jī)數(shù)的內(nèi)置徽標(biāo)。語(yǔ)句random 3在隨機(jī)序列中任意生成任意數(shù)字 0 或 1 或 2。然后程序決定“隨機(jī)”走哪條路。生成的隨機(jī)數(shù)將保存在 r
中,稍后將根據(jù)變量r
的值執(zhí)行 if 語(yǔ)句之一,這將滿足條件。因此,如果:
r
的值為 0,則將執(zhí)行[fd 20]。r
的值為 1,則將執(zhí)行[rt 90 fd 20]。r
的值為 2,則將執(zhí)行[lt 90 fd 20]。以下屏幕截圖顯示了上述討論的執(zhí)行和輸出。
更多建議: