網站名稱 | 人氣 | 所屬網頁 |
---|---|---|
1 資訊科學 Micro:bit | 524 | 112 學年度 台南市進學國小資訊組 |
使用繪圖方式介紹「函式」與「遞迴」,可以視覺化的方式觀察特徵,感受規律性。此處則以「落地反彈」的現象介紹函式與遞迴,嘗試理解函式積木的特色與優點,並且呈現遞迴的「重複效果」(Tail Recursion、尾遞迴)。函式為 Scratch 的進階功能,常見於多數的程式語言。函式的使用讓我們以更直覺的方式描述問題,解決問題,我們解決問題不再是逐一列舉,而是以規則和規律性來處理問題,而遞迴的使用則提供另一種更為簡潔的規則來處理問題。
電子書,Scratch 函式與遞迴:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=b83ccee183d642b7852ec1cad60ae82c
Scratch 範例,三種方式彈跳 (循序、重複、遞迴):
https://scratch.mit.edu/projects/225806763/
參考文件:
Scratch 遊戲設計─高效版刮刮樂 (Scratch Card)
按住滑鼠左鍵刮開!
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=167670723&turbo=false&full-screen=true
Scratch 遊戲設計─顏色辨識大考驗
這是一個顏色辨識的遊戲,原始構想來自以下社群媒體網站。
http://tw.vonvon.me/quiz/1298?utm_viral=88
這只是一個簡單的遊戲雛形,遊戲玩法為選出與其他顏色不同的物件。
可調整以下參數,改變難易程度。
遊戲設計使用以下技巧與功能:
https://scratch.mit.edu/projects/167168175/
Scratch 視覺短期記憶遊戲設計─小猴吃香蕉
這是一個視覺短期記憶的遊戲,原始構想來自以下網站。
http://www.abcya.com/baby_chick_maze.htm
電子書
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=de309644afce45d38bca047b96c08fed
這只是一個簡單的遊戲雛形,遊戲玩法如下:
遊戲設計使用以下技巧與功能:
Scratch 中邏輯判斷 (AND、OR、NOT) 的替代寫法
條件判斷中需要正確的陳述條件,將所需的範圍表示出來,或排除在外。
在未俱備邏輯運算的概念前,可以透過條件式本身的結構和順序來達成同樣的效果。
下列三個範例,分別提供對應的替代語法。左式為進階的邏輯運算,右式為簡單的條件判斷。在教學上可以相輔相成,便於說明概念。
有時,也可以解釋 Short-circuit evaluation (短路求值)。
Scratch 終極密碼猜數字完整教案
整裡出本學期當中的一個主題式遊戲教學,幾乎涵蓋了大部份的基礎概念。
教學過程中學生的問題與想法,也忠實的紀錄下來,藉以提供教學者省思,做為概念澄清的參考。
https://class.tn.edu.tw/uploads/tad_web/1384/news/file/guess_number.pdf
一個系統 (Scratch 遊戲) 的設計與發展過程中,起初不見得會知道整個程式最後的全貌。而課本範例雖然是很好的學習材料,但一開始即完整定義系統功能,以及描述細節設計,此種策略 (Top-Down) 有時非出於自然,而是需要有經驗的設計者。
有些遊戲的初步概念,可能只是簡單的互動功能,而後才加入「計分」、「計時」與「難易度調整」等額外功能。對於初學者,或許可以先從局部功能實作出來 (Bottom-Up),再逐步加入其他功能,經過反覆的步驟而發展出一個完整的遊戲。
以下附件,嘗試以「新積木」方式,來包覆細節設計,讓系統可以著重在主要功能面,方便解釋與說明。
mBot 光源跟隨 (Light Following)
今天突發奇想 mBot 是否可以在黑暗中找到光源,邁向光明。分享此一實作結果,驗證想法。
改裝 mBot 光線感應器,侷限於接受特定方位的光源,使其成為指向性。偵測左右兩側光線差異,判定方向,逐步找尋光源。
學生自行改裝 mBot 機器車,四輪 mBot 進行任務挑戰。
Scratch 中使用堆疊實作函數回傳值模擬遞迴 (費氏數列)
Fibonacci Number 範例,使用堆疊 (Stack) 實作函數回傳值。
To Iterate is Human, To Recurse, Divine
請使用 Turbo Mode。按 Shift 加綠色旗子。
Scratch 基礎概念,如果..否則..我的判斷正確嗎?
Scratch 中使用「如果..就」可以做簡單的條件判斷,遇到更複雜的條件判斷時請使用「如果..否則」。
電子書
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=cd06efa12fd843b3b1912f554218dbe7
以下左右兩側的條件判斷程式,有什麼差別?左側的程式有問題嗎?
Scratch 中重複執行的流程結構─迴圈(Loop)有以下三種類型:
以下,利用「條件迴圈」來達成「無限迴圈」,但更具有彈性。只要隨時改變變數 stop 的內容,就可以結束離開「重複執行」,有機會「歡呼」。
閱讀完這麼多的內容,為自己執行一個「歡呼」指令吧!
Code.org - 課程 4: 終極挑戰:綜合應用 #5
https://studio.code.org/s/course4/stage/22/puzzle/5
12~13 行解,出奇的簡單喔!
影片 | 影片名稱 |
---|---|
1 2018-09-29 Scratch Scratch with Micro:bit BLE controller 歡樂夾娃娃機 (claw crane) - YouTube 專案說明: http://class.tn.edu.tw/modules/tad_web/news.php?WebID=1384&NewsID=13458 Scratch project https://scratch.mit.edu/projects/229134627/ Scratch2 - Micro:bi... |