# 從 Scratch 學寫程式 ## 從 Scratch 學寫程式 Scratch 是一個可視化的學習編程網頁,由劍橋所開發,他是用直覺式的操作介面,讓人們可以輕鬆的學習寫程式的邏輯架構。 我也利用這個網頁撰寫了一個陽春的"[與貓玩小遊戲 Cat-day](https://scratch.mit.edu/projects/677075189/)",這個網頁也讓我在練習的過程中,同時學習到一些程式的邏輯,希望可以運用在之後的程式撰寫上。 ## 從生活中觀察各個事件 先從大方向開始著手,確認目標後,將目標細分為多個小任務(每一個單一目標都可以再細分成一連串的步驟)。 ### 建立程式碼的步驟 - 定義目標 - 設計程式碼 - 可以使用流程圖或是心智圖來輔助 - 編寫程式步驟 - 使用程式語言描寫步驟 ### 生活模擬練習 - 如果一台車從發動到熄火,可能會經過哪些步驟? 1. 解鎖 1. 拿起車鑰匙 2. 對準車子 3. 按下解鎖鍵(車輛鎖由鎖住改為開啟) 2. 打開車門 1. 握住手把 2. 把手把往外拉 3. 打開車門(車門由關上改為打開) 3. 坐在駕駛座 4. 啟動車輛 1. 腳踩煞車 2. 拿出鑰匙 3. 插入鑰匙孔 4. 順時鐘轉動鑰匙 5. 啟動車輛(車輛由關閉改為啟動,引擎發出聲音) 5. 行駛前檢查 1. 確認油量充足 2. 調整後照鏡 3. 確認胎壓 4. 確認電池 5. 開啟大燈(大燈由關閉改為開啟,儀表板會顯示大燈開啟) 6. 加速 1. 手握方向盤 2. 將檔位打成 D 檔(檔位由 P 檔 改為 D 檔儀表板會顯示目前檔位) 3. 踩下油門(速度由 0 開始往上提升,儀表板會顯示目前速度) 7. 停車 1. 腳踩煞車(速度開始往下減少,儀表板會顯示目前速度) 2. 將檔位打成 P 檔(檔位由 D 檔改為 P 檔,儀表板會顯示目前檔位) 3. 轉動鑰匙 4. 熄火(車輛由啟動改為關閉,引擎聲音消失) 5. 關大燈(大燈由開啟改為關閉,儀表板會顯示大燈關閉) 當事件發生時,物件的特性也會跟著改變,就像是踩下油門,車速會隨之提升。這也可以應用到網頁上,當有人將一件衣服加入購物車,則購物車內的數量就會增加 1,同時庫存數量減少 1 ; 當有人預訂一間飯店時,空房數也會減少 1。 可以設想一下,事件的發生與發生的情境為何,需要什麼方法才能夠觸發這個事件,事件發生後,會改變什麼特性?