【Scratch】利用清單功能簡化角色對話的程式積木
在使用Scratch製作角色動畫時經常會有需要兩個角色甚至是多個角色之間對話的場景,許多同學都是透過廣播的方式,讓角色一個對話一個對話地進行,如果對話的內容很多,經常都會造成積木的數量過多,而且也不好管理。但是,因為兩個角色之間的對話其實就是一連串的字串顯示,透過清單和迴圈,可以大大地簡化程式積木的數量,也可以讓程式更好理解。
在使用Scratch製作角色動畫時經常會有需要兩個角色甚至是多個角色之間對話的場景,許多同學都是透過廣播的方式,讓角色一個對話一個對話地進行,如果對話的內容很多,經常都會造成積木的數量過多,而且也不好管理。但是,因為兩個角色之間的對話其實就是一連串的字串顯示,透過清單和迴圈,可以大大地簡化程式積木的數量,也可以讓程式更好理解。
和上一篇文章中所介紹的交換兩個變數內容不太一樣的地方是,清單變數裡面有許多資料項,要指定到資料項取出內容時要指定其索引值(也就是哪一個位置),並使用清單的專有函數積木才可以,但是在交換過程中需要用來暫存資料的變數則是使用一般的變數就可以了。
有一些操作(例如在排序的時候)會用到把兩個變數的內容交換的操作,有一些程式語言支援了交換變數內容的命令(例如BASIC的SWAP),也有一些語言直接在語法上操作就可以達成(例如Python的 a, b = b, a),但是如果都沒有這些支援的時候,該如何用變數的操作來達成交換兩個變數內容的目的呢?
同樣都是找出最大值和最小值,但是和前面那個範例不一樣的地方在於,前一個例子是在輸入資料時一邊放入資料,一邊就在判斷最大值以及最小值了,但是在這個例子中,我們假設清單的資料是一開始就已經有的,我們是要透過一個迴圈到清單中去找出最大值和最小值。
在學習如何排序之前,讓我們先來瞭解清單的應用,以及如何透過角色來輸入清單所需要的資料。
近期留言