- 註冊時間
- 2002-8-14
- 線上時間
- 523 小時
- 閱讀權限
- 50
- 積分
- 176
- 主題
- 28
- 精華
- 0
- 文章
- 198
TA的每日心情 | 開心 2011-10-7 19:08 |
|---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到 - 文章
- 198
|
引用如下,我只做了繁體中文化 7 v! {0 V+ `* r6 y0 q( a: i. R; \) I
! R' M" S0 a0 S+ o* h 非常感謝UGLee老大寫出了這麼優秀的SugarMemo,只是U老大實在是工作太忙,暫時無暇更新,小弟前段時間剛好有點時間,所以幫U老大做了一點BugFix,本來想等U老大來發佈的,不過好久都沒在網上見到他了,因此幫U老大代為發佈一下 ' h1 V# c4 D5 U) s, Q2 K
3 d! y2 ], \. e1 t# g; U: B
這是一個BugFix版本, 修正了以下Bug: 6 @1 m; G$ ~ l; b8 t
1. 改正了Detail界面中按Address出現崩潰的問題(還沒完全改好,不過崩潰的機遇比以前小了) $ [3 e( k/ f5 c2 n, C# i
2. 去掉了生成多選項的時候自動過濾特殊字符(比如空白)的功能, 詞組學習和複習時不會出現混在一起的情況了
V% i" V, I3 L4 p. Q! y- j 3. Updating之後刷新了生詞學習/複習單詞數的顯示,自動選取了第一個單詞庫
_9 z+ Q& ~& I' A3 e; [ 4. 加入了關閉程序時保存現場的功能, 重新進去後恢復現場,看起來更符合Palm的philosophy了 0 |* s1 _% d$ a D. N: C
5. 改進了複習算法, 現將新的複習算法公佈如下 3 x* y/ f$ Q9 z+ w8 V( B, u
$ p w2 ?) c* H" I2 b0 _9 W
忘了說明 ,為了支持更多字體,更改了一下字體設置,請重新設置一下各個詞庫的字體,才會正確顯示音標和大字
9 U+ |! a7 n% h3 w7 ^# z# a4 |$ N 典型的設置為 Word - 特大字, Phonetic - 大音標, Tranlation - 特大字,設置在學習或者複習界面的菜單中 # Y. C7 G9 ]8 I. Q
6 _6 B& O9 Z* L. ^! B. C) \
本學習軟件採用的是sm2算法,按照sm2算法,所有複習過的單詞按照難易程度分為六個級別,A/B/C/D/E/F,其中A代表記得最牢固,B次之,F表示根本記不得了
% `. B; ]6 N; y' Z" H4 u 用過SuperMemo的用戶都知道,在SuperMemo中是由用戶來選擇難易級別的,但是根據本人的使用經驗和大部分人的經驗來看,讓用戶自己選擇基本上是很難做到很準確的,然而這一點實際上又是保證科學安排複習時間的關鍵所在 1 `- |' o6 J+ s; w( Y
所以在SugarMemo中,我們簡化了這種操作,只是讓用戶選擇Fail/Pass/Bingo,使這種判斷更趨於人性化,並且通過這些組合來試圖盡量科學的幫用戶來模擬A/B/C/D/E/F的難易級別
, D; c2 U. i: g% r / H* N" {9 `) M1 J" u1 s2 }4 W
我們的實現原理是這樣的 U) S; [0 \; B$ D
設置了兩個狀態r1, r2以及tFail計數器來記錄複習過程 ! _8 u- ^2 x0 i1 c6 A
r的取值範圍為NoRating,FailRating,PassRating,BingoRating
; V* b& v! ^) U) b1 U 當一個單詞進入複習的時候的狀態, r1=r2=NoRating 7 e( ]2 d- R5 P7 S
r1 - 記錄第一次的選擇 $ S: ^5 d8 R$ N( `& r! L5 k$ h! I0 @
r2 - 記錄後面的最有利的一次記憶狀態
3 y9 V Q* ?2 ]2 V, v% X tFail - 本次複習循環中的Fail總次數 % q: H; W$ K+ a0 J" G
maxFail - 允許最大的Fail總次數,目前定義為8次 # \" z6 |/ t- d/ G( n t+ Q
" n8 v4 ?; C3 `& D6 X) b. n 只有一種複習模式時,當選取Pass/Bingo的時候,將跳出本輪複習
: E+ V0 O. X$ ?1 M7 o 多種模式複習時,Bingo的時候直接跳出複習,Pass則跳到下一種模式,當然如果是最後一次,那麼則跳出本輪複習 8 H; x8 P1 s1 O; r9 k
對於多選模式,選對了,則記錄為PassRating,選錯了記錄為FailRating,所以從科學複習的角度來說,請務必至少選擇回想模式
. G4 C( \: C7 V1 E6 q5 { F的時候將單詞送回學習序列,重新進行學習
2 |0 y/ D5 g+ c; z7 y' O
w7 R/ C/ i* b A - (r1 = BingoRating 並且 r2 = BingoRating)
. g1 v, w0 t, r; ~; R; g8 k 或者 (r1 = BingoRating 並且 r2 = NoRating) " J$ ^8 @ E7 h) h
B - (r1 = BingoRating 並且 r2 = PassRating)
+ z6 f# G) G7 \& t8 o' |1 T/ S 或者 (r1 = PassRating 並且 r2 = BingoRating)
9 s1 F7 J# G) o/ ` 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 1) # x u d5 F" `; g# r. i
或者 (r1 = PassRating 並且 r2 = NoRating)
/ Y! }! U5 B) D6 @5 m( a" q C - (r1 = FailRating 並且 r2 = PassRating 並且 tFail = 1)
* `' Q! O" k% N/ L2 R, ?* G; e 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 2)
0 S1 L7 f0 b& j" H& a Y( A 或者 (r1 = PassRating 並且 r2 = PassRating)
8 u* z( H% l9 u7 w0 i2 F D - (r1 = FailRating 並且 r2 = PassRating 並且 tFail == 2)
! t7 B/ U9 z. I$ C1 G 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail > 2 並且 tFail < maxFail)
( c' p7 J1 L# r6 R E - (r1 = FailRating 並且 r2 = PassRating 並且 tFail > 2 並且 tFail < maxFail)
0 M* ~, F- ]& I F - (tFail >= maxFail) . F' B/ D3 E3 B- M4 n, G
) n# m* t5 ]0 K8 r 上述情況中盡可能的考慮到了所以可能出現的狀態,如果出現沒有考慮到的情況,將跳出一個Error對話框,如果在複習的時候出現Error對話框,請及時報告錯誤,我盡可能的保證不出現這種沒有考慮到的情況,但是錯誤有時總是難免的 ,謝謝
$ M+ g, y0 [3 l1 ]6 i e
! d! O) j( h, T 由於原來的算法中忘記清除測試狀態,所以做了一個特殊的版本用於清除測試狀態,此版本只需運行一次,會彈出一個標題為Reseting Testing Status的窗口,然後所有的詞庫都會自動清除測試狀態,在安裝使用0.59Beta之前,一定要運行一次這個版本,切記切記
& @' j' X( h6 l( K8 H' @ x/ ? $ C( r9 v# K) g: Z
運行過之後,刪掉上面的版本,重新安裝以下的0.59Beta版本就可以正常使用了 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?免費註冊 
|