2015年10月19日 星期一

Multiplication Chessboard的更新紀錄





在10月上旬將這個程式Share出去之後,有許多老師同好對「九九乘法遊戲板」感到興趣,所以我儘可能地快速Update它到我認為較完整的版本,主要就是加入對戰紀錄分析,我個人認為這可比遊戲本身更重要,也加入了一點音效…
加入可以逐手討論的區塊
若有大人或老師,在某場遊戲結束之後,引導小朋友(對戰者或其他人)一起來「回顧」每一手紀錄,這可以讓小朋友長智慧,因為不僅是單純的背熟九九乘法這麼陽春,它還包含觀察對方的局勢做出是要「進攻」或是「阻止」的決定!
以程式的角度來說,就是要在遊戲進行中,不斷地留下紀錄,所以我讓程式在啟始時,在使用者的電腦裡檢查並建一個目錄,就在C:\cw_cheesboard,遊戲進行時,程式會截取盤勢畫面及寫下使用者動作的log,最後在程式中增加一個區塊→「對戰分析區」
每一次的對戰會被以時間為標記留下來
選了對戰紀錄後,就可以進入那一場的檢討畫面。
在這一次的Update中,有鑑於目前螢幕或是單槍都是16:10的比例,且解析度也都不錯,便加出一版使用1200X800的版面,並用KIOSK模式(全螢幕遮蔽),結果老師們也大都認為不錯。
KIOSK模式執行的程式
不久之後(才釋出程式一二天),有位新市國小的大紅帽老師來商談,希望能改一版適合他的「全黑板投影」,還很認真地提出了他的需求,想說如果不要太費時,就舉手之勞一下…

原來現在有一些老師認為原本的教室投影模式(單槍投在布幕上)太不清楚,所以就投在黑板上,這樣還可以用粉筆加上去,算是一種巧思,也有書商的數位教材光碟也提供了所謂的「黑板投影模式」,其實很多年前,我去台北開會或研所上課時,就有教授把畫面直接投在白板上,加上白板筆說明課程,用黑板的話,在目前的教室應是不錯的啦,因為教室配的投影幕都是4:3的居多,早就跟不上時代了,只不過認真的老師,仍免不了要吃些「粉筆灰」…

投影在黑板上有二個重點:1.黑板是狹長型的。2.投影在黑板上對於內容的顏色是有限制的
還有,大紅帽老師希望利用鍵盤來控制程式…,嗯…這些要求對我來說也還算可以啦,不過我也沒太多時間就是了,而且看來他使用雙螢幕在玩(這麼有衝勁的老師現在也不多了),所以我也加了一個螢幕來試程式效果。
這時筆電是主螢幕,另一個就是副螢幕(二個解析度可設為不同)

發現程式一開始會執行於主螢幕,由於寬長於螢幕解析會被截斷,拖到副螢幕也不會自己恢復

加上二行程式就解決了

就下指令要求視窗重繪就是了
經過與大紅帽老師一番來來返返,整個程式也差不多了!他應該還能接受吧!畫面就像下面一樣,程式的版面是1580X426,在執行時,大紅帽老師打算把控制區留在主螢幕上,只有遊戲區拖到副螢幕上,而他的副螢幕就是他的單槍。
因應黑板投影所使用的顏色大概就幾種

我讓數字盤面隨著目前的玩家移動

整個程式應還算可行
※若您也此樂趣想要一試,可以在下面的連接下載到這個版本:
http://163.26.23.3/app/multiplication_chessboard/MultiplicationChessboard_v117.exe
附記:
◆大紅帽老師提供了幾種適合於黑板投影時使用的色彩,我想這應該是經驗法則,而且每個人的看法會有不同的。我把提供的16進位順便轉換成RGB模式表示在下面這個網站可以轉換
http://www.ifreesite.com/color/color-code-converter.htm
紫圓:#9600E1 RGB150,0,255
藍圓:#005AE1 RGB0,90,225
紅圓:#FF0066 RGB255,0,102
綠圓:#368700 RGB54,135,0
黃字:#FFFF00 RGB255,255,0
紅字:#E90080 RGB233,0,128
紫字:#6E00A5 RGB110,0,165

藍字:#00F0B0 RGB0,240,176
◆關於留下玩家每一手的對單紀錄,我用方法是讓程式去截取程式數字盤的影像存成jpg檔,這個部份其實很有程式難度,不過很幸運地,以前在開發論譠有一位厲害的荷蘭工程師SSIDE釋出了涵式作法,這需要dotNet2.0以上的支援,以前我就曾用在我的論文所開發的系統中,現在win7以上都內建.net framework,所以這部份能順利解決。
◆大紅帽老師所需要的鍵盤控制功能,在程式的實作上並不難達成,主要是將程式碼寫在ON key這一個event中就行了,當然得判斷一下使用者是按了哪個鍵?而電腦鍵盤的每個按鍵原本就有特定的代碼能讓程式截取
Decimal
Hex
Character
8
8
Backspace
9
9
Tab
13
D
Enter
16
10
Shift (both)
17
11
Ctrl (both)
18
12
Alt (both)
19
13
Pause
20
14
Caps Lock
27
1B
Esc
32
20
Spacebar
33
21
Page Up
34
22
Page Down
35
23
End
36
24
Home
37
25
(left arrow)
38
26
(up arrow)
39
27
(right arrow)
40
28
(down arrow)
45
2D
Insert
46
2E
Delete
48
30
0
49
31
1
50
32
2
51
33
3
52
34
4
53
35
5
54
36
6
55
37
7
56
38
8
57
39
9
65
41
A or a
66
42
B or b
67
43
C or c
68
44
D or d
69
45
E or e
70
46
F or f
71
47
G or g
72
48
H or h
73
49
I or i
74
4A
J or j
75
4B
K or k
76
4C
L or l
77
4D
M or m
78
4E
N or n
79
4F
O or o
80
50
P or p
81
51
Q or q
82
52
R or r
83
53
S or s
84
54
T or t
85
55
U or u
86
56
V or v
87
57
W or w
88
58
X or x
89
59
Y or y
90
5A
Z or z
91
5B
(left Windows key)
92
5C
(right Windows key)
93
5D
(application key - located between
the right Windows and Ctrl keys
on most keyboards)
96
60
0 (numpad with Num Lock on)
97
61
1 (numpad with Num Lock on)
98
62
2 (numpad with Num Lock on)
99
63
3 (numpad with Num Lock on)
100
64
4 (numpad with Num Lock on)
101
65
5 (numpad with Num Lock on)
102
66
6 (numpad with Num Lock on)
103
67
7 (numpad with Num Lock on)
104
68
8 (numpad with Num Lock on)
105
69
9 (numpad with Num Lock on)
106
6A
* (numpad)
107
6B
+ (numpad)
109
6D
- (numpad)
110
6E
. (numpad)
111
6F
/ (numpad)
112
70
F1
113
71
F2
114
72
F3
115
73
F4
116
74
F5
117
75
F6
118
76
F7
119
77
F8
120
78
F9
121
79
F10
122
7A
F11
123
7B
F12
144
90
Num Lock
145
91
Scroll Lock
186
BA
;
187
BB
=
188
BC
,
189
BD
-
190
BE
.
191
BF
/
192
C0
`
219
DB
[
220
DC
\
221
DD
]
222
DE
'
※還有一點可以提醒自己的,程式若是用到onkey的,在開始執行後一定要記得給一個命令focus住畫面上某一個物件,如此鍵盤的截取才會開始運作,還有當鍵盤模式處於中文狀態,不管按哪個鍵,返回值都會是229

2015年10月10日 星期六

開發Multiplication Chessboard紀錄

中秋節連假前的星期五(2015.9.25),我們利用下午沒有課務的時段,在圖書館辦了一場校內的研習:「桌遊在教學上的運用」,參加的就是幾位平時對於桌遊很有興趣的老師,像是内人(Spring Wu)和女兒(Irene Zheng)就是桌遊長期以來的支持者。所以在這小小的研習中,老婆帶了許多之前買的桌遊和其他老師及小朋友分享,也分享了最近在溫老師備課party中看到的資訊:有位邱老師分享了九九乘法盤遊戲的作法,大人和小孩都覺得效果很好。
剛好本人會寫點小程式,心想可以把這「寓教於樂」的想法化成程式,或二人玩或投影,若有電子白板的教室,豈不美事一件,就立刻動手…
※寫程式對自己也是很有幫助的,它可以促進腦細胞快速運動,讓一個人即使夜深了也不會累…哈哈!是隔天才會累
第一件事就是看著人家這張設計,想一下人家建議的玩法
分析原本構思者的想法很重要,它將成為程式最基本的樣子,這方面我算是還可以啦!過去也累積了許多經驗。

一開始先把想像中的畫面做出來
既為「程式」,程式碼才是最重要的,接下來就是思考畫面上的各種功能要如何佈置及靠程式碼去實現,這過程中充滿了腦海中對於未來運作程序的順序模擬,事件及動作,如果怎樣就怎樣…英文就是event→function→if xxx then else xxx,我寫程式的速度算是蠻快的(如果慢下來放著,就會不想寫了),很快地我就完成了基本樣式(約莫一二天中的空餘時間),也不能全部時間都拿來做這事,還是要上課、打球、家務事、也得睡覺…
第一階段最費腦袋的應該就是如何判斷所有三連環的情形,一想之下,情形真多…如何把它化為公式判斷是很重要的,像下方這樣:
function chk_line(user,point)
  if user == "user_green" then
    if String.Find(txt_user_green, "|" .. n-6 .. "|", 1, false) ~= -1 and String.Find(txt_user_green, "|" .. n+6 .."|", 1, false) ~= -1 then
      victory = true;
    end
  elseif user == "user_red" then
    if String.Find(txt_user_red, "|" .. n-6 .. "|", 1, false) ~= -1 and String.Find(txt_user_red, "|" .. n+6 .."|", 1, false) ~= -1 then
      victory = true;
    end
end
這大概花了我最多的時間來思考吧!
還有我也希望程式能吸引小朋友,剛好我家女兒很喜歡「Angry Birds」,所以裡頭如果能用Angry Birds圖案就不錯,但會不會有版權問題呢?上網找了一下,Angry Birds Playing CardDeck and Vector Characters,很棒的外國作者的作品,以創用CC 3.0釋出,看來應該可以使用

在程式中我也用了女兒(Irene Zheng)的手繪作品,寫程式的人特權就是愛用什麼素材就用什麼素材,可以完全客製化
玟琳喜歡畫Angry Birds(其中一張)
這個夠活化腦細胞的
經過一番努力,我完成了所謂的Beta版,迫不及待地請老婆女兒當首席測試員,看看有沒有什麼問題,果然就有問題,竟然出現了該獲勝,程式卻沒反應的情形,當然就是有Bug啦!
這程式是耍呆嗎?
這其實很平常啦!「哪有人吃燒誁餅不掉芝麻的!」寫程式哪有沒bug的,但這可又要想一下了,快速地掃視一下程式碼,果然原本的想法裡有漏洞,通常我會做筆記把情形寫下
這東西應該只有我自己看得懂
很幸運地!很快看出問題出在哪兒,就可以快速修正它,所有的邏輯思考到此應算完成了,接下來我就想為程式加些原本沒有的想法,免得遊戲太陽春了,所以我加入了進階版亂數盤面的功能和限時的功能,以及讓玩家能選擇代表圖的功能。
跑起來的畫面
先這樣吧!就Release了,這程式我放在http://163.26.23.3/app/multiplication_chessboard/,讓有興趣的同好們一起玩玩看,過二天有空,我還會繼續Update它,最終我想讓它和「兒童學習網」連接,取得學生的資訊,並可以上傳對戰歷程。
以下是一些程式中用到的畫面:都是用女兒畫的圖來做的



這是我個人最喜歡的咖菲貓

2015年9月6日 星期日

被雨水泡濕的遙遠筆記

前陣子迪迪颱風來襲,風強雨大,想不到舊家漏水了,很多放在那兒的東西就被泡到了,由於平時有點忙,搬到新家後就比較少到舊家(雖然才50公尺之遙),都是老爸在那兒整理東西、照顧他栽種的植物…
這次泡水了,出太陽後拿出來曬,一看,有幾本我以前寫的筆記本,我從學生時代就蠻喜歡寫筆記的,透過作筆記的時候可以把所學到的東西再整理一次,也當作打發時間…
泡到水了,曬太陽就變成這樣…
其實,我覺得做筆記這件事,重點在於寫的時候,我很少回頭看自己的筆記,我是透過寫筆記時,把知識再做一次的整理然後就記在腦子裡了,所以筆記本成了觀賞的用品,我不知道別人是否也這樣,但我個人的情形是如此…,也許有人會反覆地查看自己的筆記。
都是音樂相關的筆記

雖然本人的字不好看,但筆記倒不差
這是我剛去月眉時寫的

回想起來,我也還算蠻認真的
現在我仍常做筆記,可能是因為老了,所以筆記不再做完不看,反而是常常得拿出來看,也可能是因為話題不同的關係,電腦類的知識過於繁雜,有時不得不看一下,否則步驟太多記不住,我常跟小朋友說做筆記對於學東西的好處,尤其是學電腦知識…
現在的工具很多,不僅是手寫筆記,還可以輔以像是心智繪圖的方法來做筆記,當然囉!雖我不斷地鼓吹,但未必每個學生都能聽進去…

2015年5月4日 星期一

經營線上的獎品網

我想,經營店面著實不是件簡單的事,當然我說的是「認真經營」的前提下。這二天要來整理一下獎品網的獎品,有些之前建置的,店家已經沒貨了,要刪掉,有些當季的新鮮貨,我和主任前些日子去拍了許多,還帶了玟琳一起去,相機由她掌鏡。在做這些事務的同時也會發現程式管理介面不順手的地方,當下就修改程式以符合自己想要的功能…
找了玟琳來當小志工負責拍獎品照~給她Canon 550D

說起兒童學習網的緣由,十來年前因著迷於學習寫網路程式,整天東想西想可以發展成為程式的有用話題,當時流行起一種「虛擬幣」的風潮,靈光一閃,這種概念可以拿來運用於學校學生的學習激勵制度。
最近必須整理起獎品網,準備讓小朋友可以換獎,獎品的汰舊換新也是件工程
對於學生的好表現,不論功課上或是行為上,一般學校的手段就是給予獎勵,期待好的表現能夠強化或發展,而這也是大家普遍能接受的一種概念。學校有時給獎狀,有時給獎品,有時口頭讚美一下,小朋友就覺得非常受用了,但是「船過水無痕~」,大到足以有獎狀的好表現之外,小朋友更常有的是很多很多的小的好表現,可以收集起來嗎?這成為我發展「兒童學習網」的起始想法。
再者,以前學校總要儲存許多的存貨當學生的網品,我心想:是不是可以來個「買空賣空」,於是就有了線上獎品網的想法,只要找到固定的商家,談好概念,獎品就不用買來備著了,取而代之的是「拍照」,而且在網路上,學生可以看到的選擇可以更多樣化,有什麼不好呢?若要說不好處,就是要有個老師去「經營」這個「獎品網」!(當獎品越來越多,清除舊的、增加新的、尋找小朋友喜歡的又有意義的…),我可以體會網路上經營商品買賣的的店家辛苦之處,但人家是在賺錢,我們可沒錢賺!(學生換獎所衍生出來的經費是由家長會全部吸收的,實在感謝家長會,要不然是玩不下去的)
隨著我寫程式能力的進步,我以零件模式發展這組程式,套句小朋友的話,就是主核心程式產生後,其他的子程式區都是「外掛」,這組程式越來越ok,也能實際運用。但最大的難處其實並不在於寫程式的焚膏繼晷,而是我自認用這種方式可以帶給學校及學生貢獻,但事實上卻可能成為某些教學者的惡夢,主要是這個吧→「為什麼得做這種多餘的事!」,我知道我在做的這件事是學校經營者、家長、學生、少數老師都會大表認同且按讚的,但顯然很難討好另一群人…,當然沒有人是錯的,因為沒有人「犯法」!
志工家長及退休老師花那麼多時間做來贊助獎品網

退休的淑妃老師每次都提供很多作品

志工老師的手工作品很精美

根據以前的經驗,小朋友很喜歡換這些手工好物

我常在想的一件事是:如果你自己有孩子,你希望他(她)在怎樣的學習環境學習;你希望他(她)遇到怎樣的老師來教他(她),我們自己就應該去成為那樣的老師,努力地去建置好的教學場域,不是嗎?
之前我做了個簡報想要說服大家~











2015年4月26日 星期日

用手機寫日記

現在的手機真是方便好用,輕鬆簡單就可以把活動以故事的方式紀錄下來~
這個手機用的app就是Magisto 免費影片剪輯軟體自動魔法,可說是貓也會的威力導演,免費影片剪輯軟體中有些也可幫你加上各種過場特效,並且操作非常簡單。但今天介紹的這款 Android、 iOS、 Web App 跨平台的免費軟體:「 Magisto 」十分與眾不同,它不僅可以快速幫你手機上的多段影片進行後製剪輯,加上特效與音樂,而且這個過程是「完全自動化的」。
也就是說即使你完全不會編輯影片也沒關係,只要在這款「 Magisto 」中一直按下一步,那麼一部有趣、精采,看起來彷彿威力導演效果的家庭電影就會立刻誕生!就算是貓也可以做出一部小電影。
「 Magisto 」可以透過智能分析來「自動剪輯」你需要的影片(最新版也可以結合照片),由它來判斷影片中的人物出場與重要橋段,由它調整影片時間,然後依據你想要的主題氛圍:節日?慶祝?旅行?紀念?幫你「從頭到尾」完成這部影片,而你完全不需要做任何麻煩的編輯設定或調整!
它同時有Android和ios二版,可以免費下載安裝,但是免費版會有一些限制,比 如影片品質較差,也不能把做好的影片下載回來,想要變成專業版,每個月要180元,或一年600元


2015年4月20日 星期一

參加資訊小組後的第一門課

所有參加資訊小組的小朋友,都是老師上五年級電腦課時,在課堂中觀察操作能力及學習態度較好同學,再透過邀請的方式,經過小朋友本人、家長及班級導師的同意才加入。
加入這個小組後,第一件事便是提升「中英文打字」的速度,因為這是電腦最基礎的能力,而且培養起來之後,打字的速度就會一定保持在某一個水準。
但是,在老師指導正確的打字觀念及手指頭和鍵盤位置之後,這還是需要小朋友自己努力練習才能進步。
以目前來說,大部份的小組成員在中打的速度上都能在10分鐘30個字以上,這也是老師所要求的最低標準,還達不到的小朋友,往後仍必須利用自己的時間去練習。
這張截圖是2014年的五年級
※我們用來測試小朋友打字速度的工具是蠻標準的,所以測出來的成績應也是有可信度的,練習一陣子之後,有小朋友可以達到10分鐘五十幾個字,算是很不錯了,當然還是有些人要再努力一下!

關於心智圖法的正確觀念


如同標題的名稱心智圖「法」是一種思考方法,不是一種美術作品圖!
為什麼要學這心智圖法呢?因為這種方法很有效且非常地便利,所以我很希望我的學生都懂得這個方法。
這就像你平時在想一件事的時候會拿支筆在紙上塗鴉一般,不同的是,若你能注意一下中心主題原則,分支原則和分幾個色彩來畫,如此可很有效地幫助自己思慮細密且幫助自己的記憶能力…
※唯有一點:不要讓畫心智圖反而成為一種壓力,那一定是觀念不對了,再強調一次→不是在畫美術作品!
※有的小朋友已經了解到這一點了,就會發現這個「方法」可很有效幫助思考、回想,增強記憶及分析事情的能力…
※如果您自己是老師而去要求學生畫心智圖,那請您務必自己涉略一下這門學問並給學生正確的觀念,由於心智圖是個人的思考筆記,所以著重於看待它是否有層次、有想法,不要用漂不漂亮那種美術思維去要求作品;而看不懂人家的心智圖也是很常有的事;或是學生突然想法不多那也是可接受的…。如果學生用不對的觀念來畫心智圖,那反而變成了一場浩劫及災難~
※以我自己來說,剛開始教學生這個方法時,我會要求他們畫來給我看看,目的就是了解學生懂不懂!等確認他們懂了,我就不會要他們交了,因為這不是一種「作業」!能善用的學生會自己畫在筆記本上給自己看用的,考試複習…構思活動…