總網頁瀏覽量

2021年12月12日 星期日

期待由 S4A 推廣的 OSEP SCRATCH 為 SCRATCH 教學打開新的視野.

除了硬體中介之外,多個實用的擴充積木讓功能趨於完整,特別是 JSON 與 GOOGLE 試算表的部分,讓採集數據後的保存與應用,在原有 SCRATCH 雲端變數之外另闢蹊徑;同時 JSON 積木也透過 API 與開放數據接軌,欣見軟硬皆通,真是學子們 SCRATCH 進階的好選擇.

例如硬體數據採集數據能透過GOOGLE表單共作,產生原程式之外的更大效益. 純軟體的應用,可以透過 JSON 獲取公開資料後處理應用,如範例影片,只需簡單幾行程式,便可透過 API 獲得 COVID-19 最新數據,數據解析後即可作成最新看板顯示,這類應用已經廣泛存在生活之中,如 公車,看診,停車位...,期待因此能漸漸讓這些應用能力內化成學生的基本功.

#感謝 S4A 諸位老師的奉獻.

#影片範例下載 https://drive.google.com/file/d/164lnLL1sBKaV3zlwgx1Ll3PkZNoGsT58/view?usp=sharing

#DEMO SITE  https://junliaw.github.io/osep_web_serial/app/



 OSEP SCRATCH + OPEN DATA 之 單一路線公車預估到站時間 實作練習

目標:使用 OSEP JSON 積木,擷取開放資料並解析後,再使用 SCRATCH 設計顯示 UI.

開放資料網站有設定每日上限,可以先寫程式定時採集並存放於清單後,當成測試資料. 當程式完成後,即可改為讀取線上即時資料.

引導學生學習閱讀 API 使用文件,耐心解析數據,整合多個 API 的數據後, 再將各站牌的預估到站資料以顏色與文字標示.


開放資料來源

https://ptx.transportdata.tw/MOTC#/

OSEP 測試連結 (訪問後上傳以下範例)

https://junliaw.github.io/osep_web_serial/app/

範例連結

https://drive.google.com/file/d/13ENQ5Sh45-3xi8x6-NlBzcL8oTuga6QH/view?usp=sharing

OSEP SCRATCH 學習資源-Scratch 與外部感應器教師專業成長研習

https://youtu.be/fiCg9rtsb9E

#範例數據採集間隔30秒,演示顯示間隔2秒





2018年8月1日 星期三

Scratch 基礎班 課程 8


Scratch 基礎班 課程 8

作業名稱 : A8_自訂_YourName

準備工作 : 練習上台分享作業.

8-1 擴充遊戲
8-2 解說一 分數 : 說明如何加入一個變數 [分數]
8-3 解說二 敵人 : 說明程式內容
8-4 解說三 碰撞 : 說明程式內容及 等待直到 積木的用法

8-5 製造分身               : 請同學下載範例,這有三條魚,但程式都一樣,有沒有辦法改得比較簡單呢? 如何利用 分身 積木來改?
8-6 製造分身 解說一  : 說明如何運用 分身 積木,將程式修改成只要一個角色,就可以創造出10隻,100隻的魚.
8-7 製造分身 解說二  : 說明如何加入變數來檢查最多能創造幾個分身.

想想看,如何利用分身積木,將 1-4 WaterSlide 合併角色?

8-8 作業 : 將遊戲加上新的關卡,敵人,分數,計時等機制. 讓遊戲更有趣.



2018年7月16日 星期一

Scratch 基礎班 課程 7



Scratch 基礎班 課程 7

作業名稱 : A7_MyGame_YourName

作業要求 : 創作一個遊戲 (可以參考或自己想一個遊戲,難易是其次,請不要 REMIX 其他作業)

課程之前,請說說看!

什麼是 REMIX?
什麼是 條件?
什麼是 Boolean?
什麼是 True/False?
什麼是 在 1 到 10 間隨機選一個數?
六角形 在積木中有什麼特別意義?

課程說明 :

7-1 利用方向鍵做移動及 Reset 的觀念.
7-2 如何製作迷宮.
7-3 迷宮中行進
7-4 碰碰球
7-5 碰碰球解說 (利用滑鼠座標控制角色移動)

方向與移動,請參考這篇貼文 https://scratchworkshoptwn.blogspot.com/2018/07/blog-post_15.html

7-6 捲動螢幕
7-7 捲動螢幕 解說 (利用分身產生不同關卡)
7-8 作業 : 創作一個遊戲

2018年7月15日 星期日

從 角度與移動 到 打磚塊遊戲

補充 : 從 角度與移動 到 打磚塊遊戲

Scratch 角色除了用 X,Y 座標定位外,也可以透過 改變角度+移動 * 步 來移動位置.

首先,先來看看角色的方向定義,預設角色的方面為 90. 我們可以開啟一個新專案,觀察角色的預設方向是否為 90 度. 這也是將來自己設計角色時的參考.







預設 90 度,因此直接移動會往右走, 想要改變移動方向,就需要先改變方向再移動.


如上圖範例,說明一個角色的方向角度,右側為 0 ~ 180,左側為 0 ~ -180.
一個球在 90 度方向做記號,每次轉 45  度後的方向如下,


當設定方向後,就可按記號方向移動. 一般角色雖沒有記號標示,但原理想同.
* 角色的角度可以按角色左上的藍色 i 圖標,角度會出現在右側區域,有數字及圖示.





基於這個方法,我們就可以讓球在螢幕中持續移動與反彈,只要改變方向,配合碰到邊緣反彈即可.





接下來,我們要加上讓球反彈的木板,還有球碰到就結束遊戲的紅線.

新增一個木板角色,讓它只在一個高度上隨著滑鼠左右移動.



球和木板相碰後,應該要由誰來處理呢?
木板從頭到尾只負責跟著滑鼠移動位置.
球卻要在碰到木板後反彈,因此我們由球來處理這段程式.

我們觀察到球落下時的方向角度,分別是 -135度 及 135 度. 而依據入射角等於反射角的設計,我們要分別將方向角度在碰撞後調整成 -45度 及 45度.


在程式中,我們加入對木板的偵測,當球碰到木板時,判斷球當時落下的方向角度,再將方向角度做對應的反射調整.



再來,我們要在底線加入紅線,當球碰到紅線就代表遊戲結束.

紅線從頭到尾只固定不動.
球卻要在碰到紅線後結束遊戲,因此我們由球來處理這段程式.

當偵測到碰到紅線時,說出 LOSE!!! ,並將程式結束.



操作過程,請參考視頻




接下來,我們試著加入三個星星,

星星被球碰到會隱藏.
三顆星星都隱藏後,判定玩家獲勝. 但如何不使用變數來累計隱藏星星數量.

利用背景切換來計數,當綠旗開始,將背景切成第一張背景,當星星被碰到後隱藏並將背景切換到下一個,當三顆星星都隱藏後,此時背景也被切到第四張,遊戲由玩家獲勝.

想想看,還有角色的那些變化可以當成一種紀錄,讓程式可以用來判斷呢? 應該有不少方法才對,請試試看!


2018年7月7日 星期六

SCRATCH 基礎班 課程 6



Scratch 基礎班 課程 6

作業名稱 : A6_自訂_YourName

作業要求 :

在學同學 :

請以你曾在學校遇到的 海報設計/科展報告/節慶活動推廣...等議題,特別是 環保議題,

 ** 請自行繪製角色,

這是針對貓咪杯的一個模擬練習,當你不能用外部圖面去修圖做素材時,就是要展現自己繪圖能力的時候.
請注意,音效也只能用內建或是自己配音.

我們會在  5-6 課 針對在學同學要求做這個練習,如果你 A5 已經想好題材,那就 A6 在做這個練習.


其他同學 :

可自行決定題目,包含 故事,寓言,笑話,卡片,海報.....

作業繳交地址 : https://scratch.mit.edu/studios/5141100/

課程之前,請說說看!

更多積木能做什麼?  定義自己的積木.
廣播訊息是什麼?      廣播訊息除了通知外,可以產生 "平行" .(多個接收訊息)

6-1 REMIX REMIX 是站在巨人肩膀上,從別人的作業得到靈感,再創造不同的專案.
6-2 條件 透過條件的判斷,我們可以針對不同的狀況以不同的程式對應,例如偵測是否有碰到? 有則應該回應,沒有則繼續偵測.



6-3 True/False 分別是 真/成立 ,假/不成立 之意.
6-4 Boolean 在條件積木的六角形空格要填入 Boolean 值. 以下四個積木都會判斷空格內的 Boolean 值,來決定應該採取什麼步驟.



6-5~8 畫筆繪圖 畫筆積木的使用



6-9 運算子 一般運算,如 加 減 乘 除 或是 字串運算;而邏輯運算,如 > < = 或 且 不成立 .



6-10~13 運算積木 運算積木探索與解說,Scratch 也內建一些數學函數可做較複雜運算.
6-14 作業