- 註冊時間
- 2002-8-14
- 線上時間
- 523 小時
- 閱讀權限
- 50
- 積分
- 176
- 主題
- 28
- 精華
- 0
- 文章
- 198
TA的每日心情 | 開心 2011-10-7 19:08 |
|---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到 - 文章
- 198
|
引用如下,我只做了繁體中文化 " p) r* K! F- h- o) y
0 J" G0 w- |; k* u" y2 S3 h9 K% H
非常感謝UGLee老大寫出了這麼優秀的SugarMemo,只是U老大實在是工作太忙,暫時無暇更新,小弟前段時間剛好有點時間,所以幫U老大做了一點BugFix,本來想等U老大來發佈的,不過好久都沒在網上見到他了,因此幫U老大代為發佈一下
3 ]! ^6 S# }* s- x/ g 7 k% e! d5 q. T5 U3 g6 w
這是一個BugFix版本, 修正了以下Bug: ) j* G% Q7 w1 ], V
1. 改正了Detail界面中按Address出現崩潰的問題(還沒完全改好,不過崩潰的機遇比以前小了)
/ Y0 m; j2 s) L/ Z! _ 2. 去掉了生成多選項的時候自動過濾特殊字符(比如空白)的功能, 詞組學習和複習時不會出現混在一起的情況了 ) Q$ b) D9 U# U ^) G0 y# R
3. Updating之後刷新了生詞學習/複習單詞數的顯示,自動選取了第一個單詞庫
' {8 F9 B6 V. P2 b$ j f2 p 4. 加入了關閉程序時保存現場的功能, 重新進去後恢復現場,看起來更符合Palm的philosophy了
2 w! I" ^3 }8 _ 5. 改進了複習算法, 現將新的複習算法公佈如下 % v6 Y; r. {4 m8 b" T5 f
0 G0 j% D% h( f) o$ h8 F 忘了說明 ,為了支持更多字體,更改了一下字體設置,請重新設置一下各個詞庫的字體,才會正確顯示音標和大字
: _! E! E( k! p# @0 Z1 P- y 典型的設置為 Word - 特大字, Phonetic - 大音標, Tranlation - 特大字,設置在學習或者複習界面的菜單中 3 k0 s0 T# A' `% J/ l* \
1 s2 C3 f' U0 D; `* q 本學習軟件採用的是sm2算法,按照sm2算法,所有複習過的單詞按照難易程度分為六個級別,A/B/C/D/E/F,其中A代表記得最牢固,B次之,F表示根本記不得了 7 B4 q8 t- U4 A
用過SuperMemo的用戶都知道,在SuperMemo中是由用戶來選擇難易級別的,但是根據本人的使用經驗和大部分人的經驗來看,讓用戶自己選擇基本上是很難做到很準確的,然而這一點實際上又是保證科學安排複習時間的關鍵所在 " w! E1 h9 h3 R1 }+ H e n- D" E
所以在SugarMemo中,我們簡化了這種操作,只是讓用戶選擇Fail/Pass/Bingo,使這種判斷更趨於人性化,並且通過這些組合來試圖盡量科學的幫用戶來模擬A/B/C/D/E/F的難易級別
& G* `. d8 x8 e4 T 1 Z+ f' W+ _3 F- ?9 e
我們的實現原理是這樣的 , _8 j8 o5 {# N! |; t( u( s0 f7 O
設置了兩個狀態r1, r2以及tFail計數器來記錄複習過程
# n8 E/ N; q8 H r的取值範圍為NoRating,FailRating,PassRating,BingoRating / V7 V; c9 ?% S* ]- k$ h, ]
當一個單詞進入複習的時候的狀態, r1=r2=NoRating 5 {7 E% v# y, f% I7 s; m" ^
r1 - 記錄第一次的選擇
) h; B( ^6 X F) v r2 - 記錄後面的最有利的一次記憶狀態 ( U. o$ M5 r/ Y% P
tFail - 本次複習循環中的Fail總次數 ; C$ N5 L& P! t5 M
maxFail - 允許最大的Fail總次數,目前定義為8次 5 T( P2 h$ |% ]- X
5 V3 s5 N8 P. U6 O& d7 L
只有一種複習模式時,當選取Pass/Bingo的時候,將跳出本輪複習
0 t3 }1 z, E T5 \/ [ 多種模式複習時,Bingo的時候直接跳出複習,Pass則跳到下一種模式,當然如果是最後一次,那麼則跳出本輪複習
& l9 c; X- @" z: u 對於多選模式,選對了,則記錄為PassRating,選錯了記錄為FailRating,所以從科學複習的角度來說,請務必至少選擇回想模式
) L0 Q; @ \- ^/ } F的時候將單詞送回學習序列,重新進行學習
9 b' X2 v& ]* B- X2 p2 \' T6 h
9 D# N$ y, @+ p2 f3 R9 J A - (r1 = BingoRating 並且 r2 = BingoRating)
" q! j1 `. Y1 s+ Y+ @# J 或者 (r1 = BingoRating 並且 r2 = NoRating) 3 @5 ^" o- m9 Z9 ?2 y
B - (r1 = BingoRating 並且 r2 = PassRating)
1 S/ x) Y- O* n: I) t5 a 或者 (r1 = PassRating 並且 r2 = BingoRating) 0 m( j6 o+ v) g# u" \
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 1)
, e# b: ]8 X$ B9 {; b! G 或者 (r1 = PassRating 並且 r2 = NoRating)
( ]4 @# ^3 e/ B# S( K! N1 e' h C - (r1 = FailRating 並且 r2 = PassRating 並且 tFail = 1)
x. @% o( q8 d2 L9 y# M. F 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 2) ; M9 L! z' a# P. s/ M1 C
或者 (r1 = PassRating 並且 r2 = PassRating)
$ k: Z6 i4 m8 n7 |' r1 v/ m! W7 Y D - (r1 = FailRating 並且 r2 = PassRating 並且 tFail == 2)
: X5 o. A, M, I6 o. ` 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail > 2 並且 tFail < maxFail)
7 Q A) y4 X2 Z+ a, r E - (r1 = FailRating 並且 r2 = PassRating 並且 tFail > 2 並且 tFail < maxFail)
* z& e+ L! Z- G+ V# z F - (tFail >= maxFail)
: U5 m8 Y' z3 w- Z h5 C" Q0 u: u
; O2 @+ N5 M4 |. } 上述情況中盡可能的考慮到了所以可能出現的狀態,如果出現沒有考慮到的情況,將跳出一個Error對話框,如果在複習的時候出現Error對話框,請及時報告錯誤,我盡可能的保證不出現這種沒有考慮到的情況,但是錯誤有時總是難免的 ,謝謝 7 ^2 G, K- _1 f
* Y1 t6 S% T6 K8 k+ m
由於原來的算法中忘記清除測試狀態,所以做了一個特殊的版本用於清除測試狀態,此版本只需運行一次,會彈出一個標題為Reseting Testing Status的窗口,然後所有的詞庫都會自動清除測試狀態,在安裝使用0.59Beta之前,一定要運行一次這個版本,切記切記
* Z' f) F$ z$ P! M& ~) _
K0 v) P! u6 _: Z% ~# W 運行過之後,刪掉上面的版本,重新安裝以下的0.59Beta版本就可以正常使用了 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?免費註冊 
|