- 註冊時間
- 2002-8-14
- 線上時間
- 523 小時
- 閱讀權限
- 50
- 積分
- 176
- 主題
- 28
- 精華
- 0
- 文章
- 198
TA的每日心情 | 開心 2011-10-7 19:08 |
|---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到 - 文章
- 198
|
引用如下,我只做了繁體中文化 + O" n: h* N. ?+ |) W" \4 X
+ Q: H/ f8 W+ v1 ?. B8 E4 p
非常感謝UGLee老大寫出了這麼優秀的SugarMemo,只是U老大實在是工作太忙,暫時無暇更新,小弟前段時間剛好有點時間,所以幫U老大做了一點BugFix,本來想等U老大來發佈的,不過好久都沒在網上見到他了,因此幫U老大代為發佈一下 1 ]" @% c9 a" }9 A6 d
* n$ I$ ]9 A" x: A, [
這是一個BugFix版本, 修正了以下Bug: - d+ d: L0 F$ y9 Z
1. 改正了Detail界面中按Address出現崩潰的問題(還沒完全改好,不過崩潰的機遇比以前小了)
& ]" }. k; n* t0 w% d 2. 去掉了生成多選項的時候自動過濾特殊字符(比如空白)的功能, 詞組學習和複習時不會出現混在一起的情況了 / K" F3 Y* H! S1 Y' W! B$ J4 ?
3. Updating之後刷新了生詞學習/複習單詞數的顯示,自動選取了第一個單詞庫 1 r7 ~. y* A0 R# t7 ~; p# k
4. 加入了關閉程序時保存現場的功能, 重新進去後恢復現場,看起來更符合Palm的philosophy了 @) ^. r8 ]+ e. R, M6 `
5. 改進了複習算法, 現將新的複習算法公佈如下
# S: @; ~+ E$ e4 I& L
! B) R+ L) W2 T 忘了說明 ,為了支持更多字體,更改了一下字體設置,請重新設置一下各個詞庫的字體,才會正確顯示音標和大字
) @. @0 P/ n7 R6 m- I: a, I6 F 典型的設置為 Word - 特大字, Phonetic - 大音標, Tranlation - 特大字,設置在學習或者複習界面的菜單中
7 p' Z( Q! t! e) t/ s
; b8 M0 \- F# Y! F) Z 本學習軟件採用的是sm2算法,按照sm2算法,所有複習過的單詞按照難易程度分為六個級別,A/B/C/D/E/F,其中A代表記得最牢固,B次之,F表示根本記不得了 - d! M& x& u5 ^: v" M$ P
用過SuperMemo的用戶都知道,在SuperMemo中是由用戶來選擇難易級別的,但是根據本人的使用經驗和大部分人的經驗來看,讓用戶自己選擇基本上是很難做到很準確的,然而這一點實際上又是保證科學安排複習時間的關鍵所在
# ^6 m! r, t% {& i% O" }: u' L 所以在SugarMemo中,我們簡化了這種操作,只是讓用戶選擇Fail/Pass/Bingo,使這種判斷更趨於人性化,並且通過這些組合來試圖盡量科學的幫用戶來模擬A/B/C/D/E/F的難易級別
! g* Y' P5 l$ D; H 1 M% a: y) {* W3 U; t( w0 \
我們的實現原理是這樣的
& M! ?! c; c% H7 N9 a: F 設置了兩個狀態r1, r2以及tFail計數器來記錄複習過程 1 h% B3 M8 y( C. M+ J5 Z) Q
r的取值範圍為NoRating,FailRating,PassRating,BingoRating * l: [2 w% x" W _* p) o2 X
當一個單詞進入複習的時候的狀態, r1=r2=NoRating ! y% F2 u8 |" ]' g) `" y. }5 |
r1 - 記錄第一次的選擇 , w& \: n8 H0 L) V
r2 - 記錄後面的最有利的一次記憶狀態 + M# {3 H8 G% n" F' Z5 N5 C3 l
tFail - 本次複習循環中的Fail總次數 ~* O3 B+ P( D- O ]! Z4 |
maxFail - 允許最大的Fail總次數,目前定義為8次 & W' |1 @3 b% Q+ L) z( L9 a1 H% t
: y! u% u/ A1 P. h
只有一種複習模式時,當選取Pass/Bingo的時候,將跳出本輪複習
" W" _4 E- u- |" L# n( y" d) ]1 |( c 多種模式複習時,Bingo的時候直接跳出複習,Pass則跳到下一種模式,當然如果是最後一次,那麼則跳出本輪複習 + j, F- Q$ o7 q6 P5 O% r$ j
對於多選模式,選對了,則記錄為PassRating,選錯了記錄為FailRating,所以從科學複習的角度來說,請務必至少選擇回想模式 6 d' V7 L8 c$ V8 N9 J- _4 k
F的時候將單詞送回學習序列,重新進行學習
3 n* a& |; g: y2 H$ J$ t
8 {3 H. h+ z% `9 I4 v A - (r1 = BingoRating 並且 r2 = BingoRating)
9 d/ g" P$ z7 ?: Q 或者 (r1 = BingoRating 並且 r2 = NoRating)
$ J$ Z) P' q. Y/ Z5 P' } h B - (r1 = BingoRating 並且 r2 = PassRating)
- ^6 C' i% o$ h' P. l5 i f 或者 (r1 = PassRating 並且 r2 = BingoRating) ]6 x2 _3 q6 V, V- ?7 Y8 l
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 1) # z, A8 t3 _. n# }
或者 (r1 = PassRating 並且 r2 = NoRating)
5 V0 m7 ^6 m9 C+ v7 H( d8 s" h# j C - (r1 = FailRating 並且 r2 = PassRating 並且 tFail = 1)
% k+ H1 Z$ B5 g8 U 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 2)
& [+ i" Z4 f% ~2 r7 o 或者 (r1 = PassRating 並且 r2 = PassRating) ' z% {% ]4 \- Q# X' P- ^! M O7 T
D - (r1 = FailRating 並且 r2 = PassRating 並且 tFail == 2) 0 \- l! U$ i2 {* ? @
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail > 2 並且 tFail < maxFail) 4 B2 L- T1 |( }
E - (r1 = FailRating 並且 r2 = PassRating 並且 tFail > 2 並且 tFail < maxFail) / x/ V* b; s& Z. j$ N
F - (tFail >= maxFail) , V: m e+ b3 V, Z; o" ?+ u
; D. W L+ V' G3 f! z 上述情況中盡可能的考慮到了所以可能出現的狀態,如果出現沒有考慮到的情況,將跳出一個Error對話框,如果在複習的時候出現Error對話框,請及時報告錯誤,我盡可能的保證不出現這種沒有考慮到的情況,但是錯誤有時總是難免的 ,謝謝 ; f! @6 }2 Y8 L* s
& N) E% X' K; y$ Z, s 由於原來的算法中忘記清除測試狀態,所以做了一個特殊的版本用於清除測試狀態,此版本只需運行一次,會彈出一個標題為Reseting Testing Status的窗口,然後所有的詞庫都會自動清除測試狀態,在安裝使用0.59Beta之前,一定要運行一次這個版本,切記切記 2 L2 G2 Q, h/ J6 G. a
0 }+ o) z# u, o. H/ Z, U
運行過之後,刪掉上面的版本,重新安裝以下的0.59Beta版本就可以正常使用了 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?免費註冊 
|