2009年12月5日 星期六

Teaching : 英文單字高手 Flash 拼字測驗 spelling

十月初的時候,網友 glglace 在 Plurk 中問有沒有他理想中的英文單字拼字的 Flash 程式,同一個禮拜回老婆鹿港娘家,已經好久沒有寫新 Flash 程式的我,閒來沒事,就依 glglace 的需求寫了一個,也就是接來要介紹的「英文單字高手」。
英文單字高手的特點如下:
  • 可自行指定、維護題庫檔。
  • 可設定每題要抽考的字母數。
  • 可為單字指定聲音檔,只要將聲音檔放入指定的資料中,出題時會自動唸單字。
英文單字高手和我的其它 Flash 作品類似,主要包括一個選單設定檔,一個題庫檔目錄和題庫檔案所組成:
  • spelling.swf 或是 spelling2.swf (程式)
  • set.txt (選單設定檔)
  • data (資料夾,題庫檔案和聲音檔存放的目錄,名稱可由 set.txt 中指定)
下面是 set.txt 的範例:
&menuCount=12&datafolder=data&title=單字高手&
&menu1=Darbie3 U1,darbie3-1.txt&
&menu2=Darbie3 U2,darbie3-2.txt&
&menu3=Darbie3 U3,darbie3-3.txt&
&menu4=Darbie3 U4,darbie3-4.txt&
&menu5=Darbie3 U5,darbie3-5.txt&
&menu6=Darbie7 U1,darbie7-1.txt&
&menu7=Darbie7 U2,darbie7-2.txt&
&menu8=Darbie7 U3,darbie7-3.txt&
&menu9=Darbie7 U4,darbie7-4.txt&
&menu10=Darbie7 U5,darbie7-5.txt&
&menu11=動物,04.txt&
&menu12=樂器,02.txt&
設定檔中每一項設定均以 and 符號(&) 當分隔符號。所以前述範例中的第一行有三項設定(menuCount, datafolder, tiltle),除了第一行以外,其它的每一行都會是單字高手單元選單中的一項。
  • menuCount=12 表示有12個選單,設定時它們應該會叫 menu1, menu2, menu3, ...... menu12。
  • datafolder=data 指定了題庫檔案和聲音檔案儲存的資料夾名稱為 data
  • title 可以設定標題是什麼。
  • menu1=Darbie3 U1,darbie3-1.txt 設定了第一個選單(menu1)的內容,它包括兩個欄位,依序為:選單的項目名稱和題庫檔的檔案名稱,兩個欄位間要以一個半形的逗號(,)分隔開來。所以這一個選項(menu1)的名稱是「Darbie3 U1」,而它對應的題庫檔案名稱為「darbie3-1.txt」。
目前這種設定方法有點小缺點,menu1 , menu2 , ...... menu12 不能有重覆的名稱,不然,放在比較後面的應該會覆蓋前面的,而且必須連號,如果中間臨時要加一項選單,必須重新依序編號。

接著來看看題庫檔案。假設 menu1 的題庫檔案為 darbie3-1.txt ,它必須儲存在 data 目錄中,如果它的內容如下:
&line=2;six,六;seven,七;eight,八;nine,九;ten,十;eleven,十一;twelve,十二;thirteen,十三;fourteen,十四;fifteen,十五;plus,加上;sixteen,十六;seventeen,十七;eighteen,十八;nineteen,十九;twenty,二十;again,再次;got,了解;try,嘗試&
題庫檔案中以 「&line=」為開頭,以「&」結束,等號後面,第一個分號之前的數字是代表單字要抽考幾個字母。後面則以半形分號(;) 當每個單字的分隔符號,每個單字再以半形逗號(,) 當分隔符號來告訴程式英文單字、中文和聲音檔檔名。
以上面的範例來說:
  • 這裡的單字通通會抽掉 2 個字母後讓使用者填空。
  • 英文單字的部份 six 的中文是「六」; seven 的中文是「七」; ......
下面舉一個有聲音檔的題庫檔案 menu11 中的 04.txt
&line=2;dog,小狗;cat,貓;cow,牛;mouse,老鼠;chicken,雞,mp3/chicken.mp3;monkey,猴子,mp3/monkey.mp3;tiger,老虎;goat,羊;horse,馬;hippo,河馬&
題庫檔 04.txt 也是每個單字抽考二個字母,特別注意「chicken,雞,mp3/chicken.mp3」,這個單字它用三個欄位:
  • 英文單字: chicken
  • 中文:「雞」
  • 「mp3/chicken.mp3」表示這個單字的發音檔案為 mp3/chicken.mp3,因為是相對於 set.txt 所設定的 datafolder (資料目錄) ,所以綜合 set.txt 和 04.txt 的設定範例的來說,必須把這個單字的聲音檔的路徑應該是 data/mp3/chicken.mp3
    舉一反三, monkey 的聲音檔路徑應該是:data/mp3/monkey.mp3
至於 set.txt 和 data 資料夾下的題庫檔要用什麼工具來編寫呢?個人是習慣用 Notepad++ ,不然利用 Windows 附屬應用程式中的「記事本」也可以。不管用什麼工具,存檔時記得要用「UTF-8」的編碼方式儲存。用「記事本」編輯設定檔,第一次存檔時,就點選主功能表中的「檔案」→「另存新檔」,然後在另存新檔的對話框最下面的「編碼」中找「UTF-8」,再依一般存檔方式儲存至指定的資料夾即可。

綜合前述的例子,應該有的目錄結構如下:
單字高手目前有幾個問題待加強:
  • 選單所能容納的選項數有限,超過時應該要能分頁或其它處理方式。
  • 如果有計時器,可以提供限時測驗的功能。
  • 目前為單人測驗模式,在有電子白板的環境下,分組競賽模式會有另一種趣味。
  • 結合網路上的程式,由資料庫提供題目,並可留下使用者的測驗成績。
說要改版提了好久,也進行過,卻仍在硬碟的某一角落晾著。常覺得寫程式要一鼓作氣,斷斷續續的話,想法也支離破碎,讓人感覺沒了,也提不起勁了!


下載


相關文章



Change Log :
2010.03.20 另外寫了一個虛擬鍵盤中帶有數字鍵的版本,可供老師應用在答案帶有數字的拼字測驗。
2010.03.20 updated : 程式碼中加入將題庫換行字元去除的功能,以避免因為題庫中按了 Enter 鍵以後,解析錯誤。

10 則留言:

  1. 您好,看見您的作品,我立刻下載使用。學生反應普遍良好,只有少數學生因為程度差,會出現「卡關」的現象,一定要有老師在才能玩這個遊戲。因此建議此遊戲能有「提示」按鈕,讓程度差的學生也能順利玩下去,達到學習的目的。

    回覆刪除
  2. 抱歉,剛才的意見是我筆誤,可以刪除嗎?

    回覆刪除
  3. 您好..您開發的這個東西真的很好用..我有自己拿下來修改..希望您能繼續改版..加油

    回覆刪除
  4. 我可以跟你索取鎖虛擬鍵盤的方法嗎?
    可以寄到我的信箱嗎?edu8575@yahoo.com.tw
    謝謝你!

    回覆刪除
  5. 雄老師您好!
    發現雄老師新增了一個有數字的虛擬鍵盤,真是太好了! 這樣就可以讓學生們練習"漢語拼音+調號"~ 還能加上聲音檔,真的是太開心了!

    Erin還很感謝雄老師的詳細操作說明和提供測試用txt檔和聲音檔,好方便唷! ~感謝!

    有兩點建議,一、題目答對的可不可以在答對後,系統不要一個一個字母再跑一遍? 因為答對了就表示那位學生是記住了的,再跑一次已經會的內容,有些費時。二、答錯時系統顯示正確答案後,能不能直接再測試一次同一個題目,以求達到更好的學習效果。

    感謝雄老師的貢獻! 8888888...(數位掌聲:)

    回覆刪除
  6. 嘻,Erin再說一點喔!:P

    答錯時,目前的設計會告知正確答案,但是速度有些快地就進入下一題了,對於不會的學生來說,應該會來不及記住它,所以,是不是可以讓答錯後顯示的正確答案頁面停留,直到學生們按下"Try again"的按鈕,然後學生必須再回答同一題目,接著才進入另一題? ~ 謝謝雄老師:)

    回覆刪除
  7. Erin :
    謝謝您提供的寶貴意見,先收下,要等有空再改版囉~感恩~

    回覆刪除
  8. 雄老師好:
    知道雄老師這幾年會很忙,別擔心。~謝謝雄老師!:)
    Erin有想法時不先寫下來會忘記,僅供參考。那..Erin順便再提一下喔^^,Erin上面留言說到的按鈕應該叫"Go"或是其他什麼簡短一點的比較好。

    回覆刪除
  9. 老師,
    您好。感謝老師寫了這麼多好玩的遊戲來幫助小朋友快樂學習。
    請問英文單字高手的spelling2.swf要如何下載?感謝您!

    回覆刪除
    回覆
    1. mary您好:
      這篇文章是較舊的, 很久沒更新了。我在文末加了下載的連結了, 順便把較新的兩篇說明加在「相關文章」中給您參考。

      刪除

 
© 2009. Design by Pocket