運算思維入門
第四課:清單(List)
範例3: 智慧型穿搭
選購畫面。按左右箭頭,可分別選擇上衣、褲子;點擊「購物車」,切換至確認畫面


確認畫面。確認購買後,前往結帳畫面;取消回選購畫面
結帳畫面。可繼續購買 或 結束程式。


新建專案,設定專案名稱, 如SmartOutfitter
SmartOutfitter
從「使用者介面」、「介面配置」拖曳組建,如圖(1/3)
螢幕Screen1: 選購畫面


從「使用者介面」、「介面配置」拖曳組建,如圖(2/3)
螢幕Order: 確認購買畫面


改名
從「使用者介面」、「介面配置」拖曳組建,如圖(3/3)
NextStep: 確認購買畫面


改名
為組件改名,如圖右,組件名稱將用於程式設計(1/3)



注意「畫面」與「組件列表」各組件的對應關係是否正確



為組件改名,如圖右,組件名稱將用於程式設計(2/3)



為組件改名,如圖右,組件名稱將用於程式設計(3/3)
Screen1 各組件的屬性設定如下(1/3)




Screen1 各組件的屬性設定如下(2/3)




上衣_向右按鈕
right.png


褲子_向左按鈕


褲子_向右按鈕
right.png
Screen1 各組件的屬性設定如下(3/3)




Order畫面 各組件的屬性設定如下(1/3)



Order畫面 各組件的屬性設定如下(2/3)




Order畫面 各組件的屬性設定如下(3/3)



填滿...
填滿...
NextStep畫面 各組件的屬性設定如下(1/3)




NextStep畫面 各組件的屬性設定如下(2/3)



20比例

20比例...
NextStep畫面 各組件的屬性設定如下(3/3)



程式設計階段
「變數」用於記憶,以便後續計算與使用。此處,需要多少變數?(1/4)


1. 必須記憶
選取的上衣(編號)
選取的褲子(編號)
2. Optional
上衣清單
褲子清單
3. 畫面之間溝通用!
上衣、褲子選取編號(傳送)
選取編號(接收)
傳送編號
接收編號
(上衣3,褲子2) ➔ (上衣3,褲子2)
(3, 2) ➔ (3, 2)
「變數」用於記憶,以便後續計算與使用。此處,需要多少變數?(2/4)

1. 必須記憶
選取的上衣(編號)
選取的褲子(編號)
2. Optional
上衣清單
褲子清單

先建立空清單,再以程式載入所有清單項目
什麼是清單(List)

歡迎詞

年齡
變數用來儲存「字串」、「數字」資料;每個變數都有自己的名字。
萬一,要儲存資料很多,怎麼辦?

圖片來源: code.org
清單是一般變數的「變形」

年齡
圖片來源: code.org
當需要儲存「一個」年齡數值時,使用一般變數
清單是一般變數的「變形」
年齡
圖片來源: code.org

當需要儲存「很多」年齡數值時,改用「清單」
還是只有一個名稱
但是多了很多附屬的「元素」
每個「元素」有不一樣的編號
每個清單元素都有不同的「索引值」
年齡
圖片來源: code.org

同樣的清單名稱+不同索引值 ➔ 不同變數
還是只有一個名稱
元素
索引值
索引值
索引值
元素
元素
索引值是往上遞增的數字,從1開始算起!
目前清單長度=3
可繼續增加
1
2
3
清單的使用方式: 首先必須建立清單


建立時,內容可有可無,後續可增加
清單的使用方式: 增加清單項目
圖片來源: code.org


上衣清單
1
2
3
"shirt01.png"
"shirt02.png"
"shirt03.png"
指定清單名稱
設定項目內容
清單的使用方式: 取得某個項目
圖片來源: code.org


上衣清單
1
2
3
"shirt01.png"
"shirt02.png"
"shirt03.png"
指定清單名稱
設定項目內容
若「上衣索引值」是2,則複製出...

"shirt02.png"
清單的使用方式總結
圖片來源: code.org
取得項目內容
圖片來源: code.org
年齡

清單長度=2
1
2
3
增加項目
建立
改變項目內容
刪除項目

20
30
「變數」用於記憶,以便後續計算與使用。此處,需要多少變數?(3/4)




在初始化時建立清單內容
「變數」用於記憶,以便後續計算與使用。此處,需要多少變數?(4/4)

3. 畫面之間溝通用!
上衣、褲子選取編號(傳送) 選取編號(接收)


傳送編號
Screen 1
Order
接收編號
程式運作邏輯



按左右箭頭,可分別選擇上衣、褲子
最先開始的事件:Screen 1 初始化(1/4)

全域變數

上衣清單
褲子清單
設定圖像
Screen1畫面
Screen 1 上衣向左、向右按鈕(2/4)

Screen1畫面

索引值>1 嗎?
是
索引值=5
否
是
索引值-1
索引值<5 嗎?
是
索引值=1
否
是
索引值+1
Screen 1 褲子向左、向右按鈕(3/4)

Screen1畫面

索引值>1 嗎?
是
索引值=5
否
是
索引值-1
索引值<5 嗎?
是
索引值=1
否
是
索引值+1
Screen 1 褲子向左、向右按鈕(4/4)
Screen1畫面

傳送編號

建立清單內容
Order畫面 全部程式碼
Order畫面

接收參數
根據參數設定圖片
取消:回前畫面
確認:下一畫面
NextStep畫面 全部程式碼
NextStep畫面
繼續購買:回Screen1
結束程式

第四課:清單
By Leuo-Hong Wang
第四課:清單
- 332