Web Title:112 學年度 台南市進學國小資訊組112 學年度 台南市進學國小資訊組

2017-06-29 Scratch 遊戲設計─高效版刮刮樂 (Scratch Card)

資訊教育

Scratch 遊戲設計─高效版刮刮樂 (Scratch Card)

按住滑鼠左鍵刮開!

  • 運用分身當作遮罩(Mask),透過隨機亂數產生不同造型的遮罩
  • 使用「幻影」調整透明度,模擬刮開的效果
  • 運用隱藏及廣播驅動等技巧,增進執行效能

JavaScript 版本 (適合手機與行動裝置)

https://phosphorus.github.io/app.html?id=167670723&turbo=false&full-screen=true

https://scratch.mit.edu/projects/167670723/

2017-06-26 於 dcs.tn.edu.tw 安裝 Let's Encrypt 憑證設定

網路管理

於 dcs.tn.edu.tw 安裝 Let's Encrypt 憑證設定

概念上是透過可以執行網頁服務的主機,來處理 Let's Encrypt 的 challenge。使用 FTP 方式掛載 dcs.tn.edu.tw 的檔案系統,讓 dehydrated 程式可以寫入到 dcs.tn.edu.tw 主機的 .well-known 目錄,以利後續 challenge 動作。最後,將產出的私鑰與憑證相關檔案轉換成 *.pfx 格式,匯入至 cloud.tn.edu.tw 平台。

  1. curlftpfs 掛載 dcs.tn.edu.tw 目錄 (以下使用 autofs 自動掛載)

    # vim /etc/auto.misc
    chpsxoops       -fstype=fuse,rw,umask=002       :curlftpfs#ftp\://chpsxoops\\chpsadmin\:密碼\@ftp.dcs.tn.edu.tw
    
    
  2. 建立 .well-known 資料夾,提供放置 challenge 檔案
    # mkdir -p /misc/chpsxoops/site/wwwroot/.well-known/acme-challenge/
    
  3. 設定 .well-known 目錄下的檔案型態為純文字
    # vim /misc/chpsxoops/site/wwwroot/web.config
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <staticContent>
                <mimeMap fileExtension="." mimeType="text/plain" />
            </staticContent>
        </system.webServer>
    </configuration>
    
    
  4. 下載 dehydrated 工具 (原 letsencrypt.sh)
    # cd /etc
    # git clone https://github.com/lukas2511/letsencrypt.sh.git
    
  5. 編輯 config,指定 .well-known 資料夾,並執行 dehydrated 程式
    # vim /etc/letsencrypt.sh/dcs.config
    WELLKNOWN=/misc/chpsxoops/site/wwwroot/.well-known/acme-challenge
    
    # /etc/letsencrypt.sh/dehydrated -c -d chpsxoops.dcs.tn.edu.tw --config /etc/letsencrypt.sh/dcs.config
    # INFO: Using main config file /etc/letsencrypt.sh/dcs.config
    Processing chpsxoops.dcs.tn.edu.tw
     + Checking domain name(s) of existing cert... unchanged.
     + Checking expire date of existing cert...
     + Valid till Sep 24 02:17:00 2017 GMT (Longer than 30 days). Skipping renew!
    
  6. 轉換為 *.pfx 供匯入使用
    # cd /etc/letsencrypt.sh/certs/chpsxoops.dcs.tn.edu.tw
    
    # openssl pkcs12 -export -out /tmp/xoops.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
    
  7. 匯入憑證 xoops.pfx,包含輸入密碼
  8. 重新啟動 dcs.tn.edu.tw

2017-06-26 Scratch 條件判斷常見問題─兩個互補的 IF-THEN 判斷式

資訊教育

Scratch 條件判斷常見問題─兩個互補的 IF-THEN 判斷式

以下左右兩側看似等價的條件判斷式,其實並不相等。

  • 左側:IF (條件一) THEN (動作一) ELSE (動作二)
  • 右側:
    IF (條件一) THEN (動作一)
    IF (條件一不成立) THEN (動作二)

在未涉入時間因素(程式執行狀態隨時間變化)下,以上右側的條件判斷並不會出現錯誤。

右側兩個條件判斷,會進行兩次的條件評估(evaluation),可以先後涵蓋「大於5」與「不大於5」的所有情況,並執行對應的動作。

但右側為兩次獨立的條件判斷,且涉入時間因素。即前一個條件判斷式的對應動作,如果改變了「變數X」的值,隨後第二次條件判斷式,將不如預期可以涵蓋「不成立」的那一部份。

以下程式,特別凸顯左右兩側程式的差異及潛在的問題,應避免使用兩個互補的 IF-THEN 判斷式來代替單一的 IF-THEN-ELSE。

 

https://scratch.mit.edu/projects/167233857/

2017-06-25 Scratch 訊息廣播接收 (同步與非同步執行) Synchronous vs. Asynchronous Execution

資訊科學

Scratch 訊息廣播接收 (同步與非同步執行)

Synchronous vs. Asynchronous Execution

https://stackoverflow.com/questions/748175/asynchronous-vs-synchronous-execution-what-does-it-really-mean

Scratch 中內建許多像是程序 (procedure)、事件驅動 (event-driven)、並行 (concurrency) 與訊息廣播接收這類的溝通方式 (Synchronous and asynchronous execution) 等,都是程式執行流程的進階控制和策略,使用者卻可輕易的運用於設計中。

以下範例,嘗試以簡化的方式呈現出「同步」與「非同步」執行的概念。

  1. 連續快速按下「空白鍵」,因採用非同步 (async) 方式,箭頭尚為完成移動過程,又回到初始;
  2. 連續快速按下「右鍵」,因採用同步 (sync) 方式,需等待箭頭完成移動過程,才能回到初始。

https://scratch.mit.edu/projects/167210857/

2017-06-24 Scratch 遊戲設計─顏色辨識大考驗

資訊教育

Scratch 遊戲設計─顏色辨識大考驗

這是一個顏色辨識的遊戲,原始構想來自以下社群媒體網站。
http://tw.vonvon.me/quiz/1298?utm_viral=88

這只是一個簡單的遊戲雛形,遊戲玩法為選出與其他顏色不同的物件。

可調整以下參數,改變難易程度。

  1. 顏色的變異範圍
  2. 顏色的亮度變異範圍
  3. 與其他多數物件不同顏色的差異程度

遊戲設計使用以下技巧與功能:

  1. 建立大量色塊
    運用「分身」建立大量相同物件,透過計算排列成二維矩陣。
  2. 運用外觀「顏色」與「亮度」,產生顏色差異,調整遊戲難易度。
  3. 運用「物件區域變數」,記錄物件編號,判斷答案是否正確。

https://scratch.mit.edu/projects/167168175/

 

2017-06-24 Scratch 視覺短期記憶遊戲設計─小猴吃香蕉

資訊教育

Scratch 視覺短期記憶遊戲設計─小猴吃香蕉

這是一個視覺短期記憶的遊戲,原始構想來自以下網站。
http://www.abcya.com/baby_chick_maze.htm

電子書

http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=de309644afce45d38bca047b96c08fed

這只是一個簡單的遊戲雛形,遊戲玩法如下:

  1. 遊戲開始,障礙物會閃示然後隱藏。
  2. 點選香蕉,避開隱藏的障礙物,直到小猴拿到香蕉。

遊戲設計使用以下技巧與功能:

  1. 閃示障礙物
    運用外觀中的「亮度」效果,讓障礙物逐漸的消失,但不是真的隱藏起來。
  2. 放置障礙物
    障礙物的放置,運用「分身」產生大量障礙物;運用「隨機」分散放置障礙物。
  3. 使用全域變數控制程式狀態,協調物件運作。

https://scratch.mit.edu/projects/167143127/

2017-06-21 Scratch 學生特色作品─小星星亮晶晶 (Shining Star)

資訊教育

Scratch 學生特色作品─小星星亮晶晶 (Shining Star)

運用分身 (clone) 成就大數量的個體,個體間展示與眾不同的特色,看似一致卻又具有細微差異,正如同存在於大自然間的萬事萬物。

https://scratch.mit.edu/studios/4122362/

2017-06-19 TinkerCAD 3D物件進階組合技巧

資訊教育

TinkerCAD 3D物件進階組合技巧

  • Complementary Separation (互補分割)
    A + (~B) = C
    A + (~C) = D


     
  • Intersection & Separation (交集與分離)
    A + (~B) = C
    (~A) + B = D
    A + (~C) = E
    B + (~D) = E


     

2017-06-18 Scratch 中邏輯判斷 (AND、OR、NOT) 的替代寫法

資訊教育

Scratch 中邏輯判斷 (AND、OR、NOT) 的替代寫法

條件判斷中需要正確的陳述條件,將所需的範圍表示出來,或排除在外。

在未俱備邏輯運算的概念前,可以透過條件式本身的結構和順序來達成同樣的效果。

下列三個範例,分別提供對應的替代語法。左式為進階的邏輯運算,右式為簡單的條件判斷。在教學上可以相輔相成,便於說明概念。

有時,也可以解釋 Short-circuit evaluation (短路求值)。

  • 和 (AND)
  • 或 (OR)
  • 不成立 (NOT)

2017-06-18 Scratch 終極密碼猜數字完整教案

資訊教育

Scratch 終極密碼猜數字完整教案

整裡出本學期當中的一個主題式遊戲教學,幾乎涵蓋了大部份的基礎概念。

教學過程中學生的問題與想法,也忠實的紀錄下來,藉以提供教學者省思,做為概念澄清的參考。

https://class.tn.edu.tw/uploads/tad_web/1384/news/file/guess_number.pdf

  • slider image 1
  • slider image 2
  • slider image 3
  • slider image 4
  • slider image 5
  • slider image 6
  • slider image 7
  • slider image 8
  • slider image 9
  • slider image 10
  • slider image 11
  • slider image 12
  • slider image 13
  • slider image 14

準備全國紫錐花盃反毒機器人競賽