在10月上旬將這個程式Share出去之後,有許多老師同好對「九九乘法遊戲板」感到興趣,所以我儘可能地快速Update它到我認為較完整的版本,主要就是加入對戰紀錄分析,我個人認為這可比遊戲本身更重要,也加入了一點音效…
加入可以逐手討論的區塊 |
以程式的角度來說,就是要在遊戲進行中,不斷地留下紀錄,所以我讓程式在啟始時,在使用者的電腦裡檢查並建一個目錄,就在C:\cw_cheesboard,遊戲進行時,程式會截取盤勢畫面及寫下使用者動作的log,最後在程式中增加一個區塊→「對戰分析區」
每一次的對戰會被以時間為標記留下來 |
在這一次的Update中,有鑑於目前螢幕或是單槍都是16:10的比例,且解析度也都不錯,便加出一版使用1200X800的版面,並用KIOSK模式(全螢幕遮蔽),結果老師們也大都認為不錯。
KIOSK模式執行的程式 |
原來現在有一些老師認為原本的教室投影模式(單槍投在布幕上)太不清楚,所以就投在黑板上,這樣還可以用粉筆加上去,算是一種巧思,也有書商的數位教材光碟也提供了所謂的「黑板投影模式」,其實很多年前,我去台北開會或研所上課時,就有教授把畫面直接投在白板上,加上白板筆說明課程,用黑板的話,在目前的教室應是不錯的啦,因為教室配的投影幕都是4:3的居多,早就跟不上時代了,只不過認真的老師,仍免不了要吃些「粉筆灰」…
投影在黑板上有二個重點:1.黑板是狹長型的。2.投影在黑板上對於內容的顏色是有限制的
還有,大紅帽老師希望利用鍵盤來控制程式…,嗯…這些要求對我來說也還算可以啦,不過我也沒太多時間就是了,而且看來他使用雙螢幕在玩(這麼有衝勁的老師現在也不多了),所以我也加了一個螢幕來試程式效果。
這時筆電是主螢幕,另一個就是副螢幕(二個解析度可設為不同) |
發現程式一開始會執行於主螢幕,由於寬長於螢幕解析會被截斷,拖到副螢幕也不會自己恢復 |
加上二行程式就解決了 |
就下指令要求視窗重繪就是了 |
因應黑板投影所使用的顏色大概就幾種 |
我讓數字盤面隨著目前的玩家移動 |
整個程式應還算可行 |
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 | ' |
沒有留言:
張貼留言