網站名稱 | 人氣 | 所屬網頁 |
---|---|---|
1 資訊科學 編譯 Scratch 專案為 JavaScript 版本 | 1489 | 112 學年度 台南市進學國小資訊組 |
2 資訊科學 Scratch 專案比對工具 (diff) | 442 | 112 學年度 台南市進學國小資訊組 |
3 資訊科學 Micro:bit | 524 | 112 學年度 台南市進學國小資訊組 |
一、遊戲階段(等待至換階段)
二、角色
三、變數
四、音效
測試帽子積木 (Cap-blocks) 與分身的互動關係
https://scratch.mit.edu/projects/229458692/
參考資源:
https://scratch.mit.edu/projects/229134627/
參考資源:
使用繪圖方式介紹「函式」與「遞迴」,可以視覺化的方式觀察特徵,感受規律性。此處則以「落地反彈」的現象介紹函式與遞迴,嘗試理解函式積木的特色與優點,並且呈現遞迴的「重複效果」(Tail Recursion、尾遞迴)。函式為 Scratch 的進階功能,常見於多數的程式語言。函式的使用讓我們以更直覺的方式描述問題,解決問題,我們解決問題不再是逐一列舉,而是以規則和規律性來處理問題,而遞迴的使用則提供另一種更為簡潔的規則來處理問題。
電子書,Scratch 函式與遞迴:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=b83ccee183d642b7852ec1cad60ae82c
Scratch 範例,三種方式彈跳 (循序、重複、遞迴):
https://scratch.mit.edu/projects/225806763/
參考文件:
清單可視為變數的延伸,同樣具有「名稱」和「內容」。清單為彈性且連續的儲存空間,如同容器一般,不同的寫入與讀取順序,可以應用於不同的問題上。善用「清單」與「分身」,可以使用有限的程式來處理未知數量的問題。
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=aa504ba64b924fe5b3bb75bcd1769a42
Scratch 範例,抽籤紀錄與比對 (清單的運用):
https://scratch.mit.edu/projects/225756254/
鋼琴錄音
https://scratch.mit.edu/projects/225299150/
https://scratch.mit.edu/projects/225470347/
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=a2c9592177e0443bbbc1194101b8ee58
Scratch 範例:
由於各種平面的顏色與反光程度不一,單使用黑色軌跡不足以讓 mBot 順利循線前進。使用常見的「PVC絕緣膠帶」,選擇「黑」「白」兩色,以「黑白黑」或「白黑白」的交錯方式佈設,將 mBot 的循線範圍限制在外側兩線內,可適應於一般地面環境。
這裡我們嘗試運用外部感應器讓 mBot 自行走直線 (straight line),也就是利用感應器回傳的數值來修正 mBot 的行走方向。可運用的感應器有「羅盤 (compass)」、「陀螺儀 (gyroscope)」與「加速計 (accelerometer)」,三者的差異可參考「Difference between Accelerometer , Compass ,Gyros or Gyroscope」。
而「走直線」在此意味著盡可能讓 mBot 朝著初始位置 (initial position) 所指的方向前進。起初嘗試運用「電子羅盤」指引方向,但容易受到地球磁場以外的磁性物質干擾,不利於 mBot 正確找到方向。因此,選擇「陀螺儀」來偵測 mBot 車體偏移情形,及時轉向,回到初始指向的路線。
https://scratch.mit.edu/projects/205525319/
參考資源:
https://scratch.mit.edu/projects/205311495/
參考資源:
JavaScript 版本 (適合手機與行動裝置)
https://scratch.mit.edu/projects/199914174/
https://scratch.mit.edu/projects/200135871/
https://scratch.mit.edu/projects/200136851/
https://scratch.mit.edu/projects/200176510/
參考資源:
透過不同「深度」的「圖層」變化,越底層的背景移動速度越慢,藉以營造出距離玩家不同遠近的視覺效果。
範例中,技巧性的藏入一白色橫條,避免移動到畫面邊界時出現延遲的問題,增進畫面的平順。
https://scratch.mit.edu/projects/193202835/
參考文件:
https://gist.github.com/lyshie/70c5b759357da3f630348a8a510acba9
參考文件
s2m 是一個開放原始碼的 Python 程式。透過它我們可以運用 Micro:bit 豐富的控制功能,增加與 Scratch 間的互動,如當作「遊戲控制器」輸入,或輸出控制訊號至 Micro:bit。
感謝「自由」與「開放」的方式釋出程式碼,我們可以清楚了解程式運作原理,更可增加或改進程式功能,以求程式越趨完善。
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=463faaf394d54c2ea79a79d2e4083da8
參考資源:
SET 遊戲的初步實做,加入簡易的 set 判斷,另使用 Dr. Scratch 評估程式的內容程度。
行動裝置
https://phosphorus.github.io/app.html?id=183640221&turbo=false&full-screen=true
原始程式
Scratch 社群也就是官方網站,提供使用者創作與改作的平台,當中的創作者有小孩、家長、教師、成年人與專家等。
因為社群的開放,我們可以從別人的作品中獲得靈感、學習技巧,以及了解創作者的想法和創意。
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=5de2a3f0b52d479ba50504d504020f7d
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=8fb57d8bf47a49f28b27c2e7e7e75ae9
Scratch 創作中,我們有時候會重複的使用某些資源,像是程式、圖片與角色。
此時,也許是修改、擴充、再次創作、精緻化等不同用途。
透過不同程度的重複使用程式,可以讓我們快速而豐富的創作,甚至是協作與分工。
更進階程度的重複使用,包括「分身」、物件的繼承等應用與技巧。
輔助程式
https://github.com/lyshie/scratch-chinese-fonts
JavaScript 版本 (適合手機與行動裝置)
Scratch 遊戲設計除了系統字型外,大多數都以嵌入字元圖片(英文字母、符號)的方式來呈現額外的字型。
嵌入英文字母與符號大多僅需要不到100~200個字即可,也就是僅需要這些數量的圖片造型。
而中文字當然也可以此方式來呈現,但所需要的字元符號則是上萬個。本範例使用工具擷取出成語字典中
所用到的中文字,而非全部的中文字集。再使用 convert (ImageMagick) 程式將 TrueType 字型的字元輸出成 PNG 圖片。
最後以同名(字元名稱、檔案名稱、造型名稱)的方式匯入到 Scratch 中使用。
git clone --depth 0 https://github.com/BuzzAcademy/idioms-moe-unformatted-data
#!/bin/sh chars=$(cat 10.txt | fold -w1 | sort | uniq) for c in $chars; do convert -background none -fill red -font /opt/local/fonts/lyshie/TW-Kai-98_1.ttf -pointsize 64 label:"$c" "$c.png" done
JavaScript 版本 (適合手機與行動裝置)
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=530e2762d2004522a34d303ef00ff279
排序的應用在生活中相當常見,我們習以為常的排序方法該如何描述,而這個概念如何以 Scratch 實做出來。
此本電子書以選擇排序 (Selection Sort) 當基礎,以最直覺、最常見的方法為例來介紹排序方法的實做。
了解多數排序演算法的基礎在於比較,如何使用清單有效的存取數字、交換數字,在空間和時間上操作。
運用 Scratch 以視覺與聽覺方式體驗隨機的藝術之美,這個版本以隨機漫步的方式,只移動到鄰近的區域,表現出連續而非跳躍的形式,但移動方向卻是不固定的。
音樂也表現出方向性,不同位置的音頻和音調也不同,聽聽看是否可以猜出目前的位置。
如果複製多個角色,將會是多個同時演奏的音樂。
使用 http://editor.method.ac/ 精確繪製向量圖,原始尺寸為 60 * 60。
JavaScript 版本 (適合手機與行動裝置)
運用 Scratch 以視覺與聽覺方式體驗隨機的藝術之美。
使用 http://editor.method.ac/ 精確繪製向量圖,原始尺寸為 60 * 60。
JavaScript 版本 (適合手機與行動裝置)
電子書
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=b28f3be71a72475ab22140138c7dbf4a
創意影像處理 (Image Post-Processing)
https://scratch.mit.edu/projects/180018340/
視訊功能,請另外開啟 Scratch 網站,接受使用攝影機的權限。
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=bf0e645045fb4985a15a5e5db2ba7175
一種撲克牌遊戲,多用來讓初學者認識數字,考驗反應能力,以作為遊戲牌的入門。
JavaScript 版本 (適合手機與行動裝置)
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=3fb3bb2bc8ed4884b6939ce253d3f50b
此類應用稱為「文字轉語音」Text-to-Speech,在生活中相當常見。像是自動報時、捷運報站、公車報站、機器人交談或語言翻譯等。
想想看
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=179743175&turbo=false&full-screen=true
Scratch 遊戲設計─分數的量感 (真分數)
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=169299590&turbo=false&full-screen=true
Scratch 遊戲設計─高效版刮刮樂 (Scratch Card)
按住滑鼠左鍵刮開!
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=167670723&turbo=false&full-screen=true
Scratch 條件判斷常見問題─兩個互補的 IF-THEN 判斷式
以下左右兩側看似等價的條件判斷式,其實並不相等。
在未涉入時間因素(程式執行狀態隨時間變化)下,以上右側的條件判斷並不會出現錯誤。
右側兩個條件判斷,會進行兩次的條件評估(evaluation),可以先後涵蓋「大於5」與「不大於5」的所有情況,並執行對應的動作。
但右側為兩次獨立的條件判斷,且涉入時間因素。即前一個條件判斷式的對應動作,如果改變了「變數X」的值,隨後第二次條件判斷式,將不如預期可以涵蓋「不成立」的那一部份。
以下程式,特別凸顯左右兩側程式的差異及潛在的問題,應避免使用兩個互補的 IF-THEN 判斷式來代替單一的 IF-THEN-ELSE。
Scratch 訊息廣播接收 (同步與非同步執行)
Synchronous vs. Asynchronous Execution
Scratch 中內建許多像是程序 (procedure)、事件驅動 (event-driven)、並行 (concurrency) 與訊息廣播接收這類的溝通方式 (Synchronous and asynchronous execution) 等,都是程式執行流程的進階控制和策略,使用者卻可輕易的運用於設計中。
以下範例,嘗試以簡化的方式呈現出「同步」與「非同步」執行的概念。
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 事件處理方法比較
相同的問題,會有不同的解決方法。而相同的程式,也會有不同的設計方法。
依據每個人不同的經驗與看法,選擇自己擅用的工具,自然也就產生不同的策略來處理問題。
以下程式皆模擬物體自上方掉落,並碰觸其他物體。當中包含如下事件:
https://scratch.mit.edu/projects/164187196/
介紹以下三種方法,並說明其設計的主要特點:
一個系統 (Scratch 遊戲) 的設計與發展過程中,起初不見得會知道整個程式最後的全貌。而課本範例雖然是很好的學習材料,但一開始即完整定義系統功能,以及描述細節設計,此種策略 (Top-Down) 有時非出於自然,而是需要有經驗的設計者。
有些遊戲的初步概念,可能只是簡單的互動功能,而後才加入「計分」、「計時」與「難易度調整」等額外功能。對於初學者,或許可以先從局部功能實作出來 (Bottom-Up),再逐步加入其他功能,經過反覆的步驟而發展出一個完整的遊戲。
以下附件,嘗試以「新積木」方式,來包覆細節設計,讓系統可以著重在主要功能面,方便解釋與說明。
mBot 光源跟隨 (Light Following)
今天突發奇想 mBot 是否可以在黑暗中找到光源,邁向光明。分享此一實作結果,驗證想法。
改裝 mBot 光線感應器,侷限於接受特定方位的光源,使其成為指向性。偵測左右兩側光線差異,判定方向,逐步找尋光源。
使用 Scratch 創作您的指尖陀螺 (Hand Spinner)
設定旋轉中心,設計不同的造型,可以變化出豐富有趣的旋轉陀螺。
學生自行改裝 mBot 機器車,四輪 mBot 進行任務挑戰。
影片 | 影片名稱 |
---|---|
1 2017-04-28 使用滑鼠與鍵盤控制 mBot 行進方向 (方向燈與警示聲響) 使用滑鼠與鍵盤控制 mBot 行進方向 (方向燈與警示聲響) |
|
2 2017-04-28 Scratch 卷軸遊戲 (主角不動,背景移動) Scratch 卷軸遊戲 (主角不動,背景移動) |
|
3 2017-04-28 Scratch 卷軸遊戲 (主角移動,背景切換) Scratch 卷軸遊戲 (主角移動,背景切換) |
|
4 2017-04-28 Scratch 中如何繪製封閉多邊形? Scratch 中如何繪製封閉多邊形? |
|
5 2017-04-28 Scratch 如何使用線段繪製封閉多邊形? Scratch 如何使用線段繪製封閉多邊形? |
|
6 2017-04-28 mBot 實作射擊瞄準遊戲 mBot 實作射擊瞄準遊戲 |
|
7 2017-04-28 使用滑鼠與鍵盤控制 mBot 行進方向 (方向燈與警示聲響) 使用滑鼠與鍵盤控制 mBot 行進方向 (方向燈與警示聲響) |
|
8 2017-04-28 mBot 循線感應器計算轉速 mBot 循線感應器計算轉速 |
|
9 2017-04-28 觀察 mBot LED 燈變化與相機感光 觀察 mBot LED 燈變化與相機感光 |
|
10 2017-04-28 mBot 自動繞過障礙物 mBot 自動繞過障礙物 |
|
11 2017-04-28 mBot 以公轉方式繞圈 mBot 以公轉方式繞圈 |
|
12 2017-04-28 mBot 紙筆畫圓形 mBot 紙筆畫圓形 |
|
13 2017-02-19 中年級小朋友實作 mBot 精準走直線 |
|
14 2017-02-19 中年級小朋友 mBot 走直線嘗試失敗的歷程 |
|
15 2017-02-19 中年級小朋友實作 mBot 精準走直線與轉彎 |
|
16 2017-02-19 中年級小朋友實作 mBot 循線感應器應用 |
|
17 2017-02-19 中年級小朋友實作 mBot 循線自走 |
|
18 2017-02-18 mBot 循線自走 |
|
19 2017-02-18 mBot 自動避開路障 |
|
20 2017-02-18 mBot 自動避開路障 |
|
21 2017-02-18 mBot 精準走直線 |
|
22 2017-02-18 mBot 精準走直線 |
|
23 2017-02-18 mBot 精準走直線 |
|
24 2017-02-18 mBot循線感應器與軌道 |
|
25 2017-02-18 mBot循線感應器與軌道 |
|
26 2017-02-18 使用mBot設計體感遊戲 |
上傳日期 | 作品主題 | 人氣 | 所屬網頁 |
---|---|---|---|
2017-05-12 08:06:00 | 2017.05.11數字分堆挑戰(如果..否則..,條件判斷應用) | 383 | 112 學年度 台南市進學國小資訊組 |