2011-05-16 96 views
0

好吧,這裏是故事...如何實現這個邏輯流?

我有3個文本框,讓用戶選擇....

[文本框A] [文本框B] [文本框C]

和確認按鈕,用戶需要添加三個文本框,之後,用戶需要點擊確認按鈕....但是根據不同的選擇順序,結果不同,例如: A> B> C,我會顯示紅。 當用戶按以下順序選擇時: B> A> C我會顯示綠色。 當用戶按該順序選擇: C> B> AI將顯示顏色藍色....

基於不同的用戶選擇的訂單上,它會顯示不同的顏色.... 但問題是,當我添加越來越多的文本框時,我該如何實現這個邏輯? 首先,我設計了一個數組,當用戶選擇一個文本字段時,我將textfield id存儲到數組中,當用戶選擇第二個時,我將存儲在數組中,直到用戶單擊確認,我讀回數組以顯示顏色.... 但我認爲它會變得非常大,&凌亂時,越來越多的文本框被添加,任何更好的想法?謝謝。

+0

這是不大不小的問題,但由於一般有N = N *(N-1)* ... * 1個排列n個元素!這意味着,對於n = 4,你將有24個排列,對於n = 5 120 ... – ascanio 2011-05-16 12:22:34

回答

2

這有點破解,但我傾向於將選擇存儲在一個字符串中,該字符串會被附加到每個時間(當然是從空字符串開始),然後修剪到最右邊的x個字符。然後你可以做一個簡單的開關/案例語句來確定顏色。例如(C#片段,差不多)

string selectStr = string.Empty; 

void Select(string btn) { 
    selectStr += btn; 
    selectStr = selectStr.Remove(0, btn.Length - 3); 
} 

void Confirm() { 
    switch (selectStr) { 
    case "ABC" : /* make red */ break; 
    case "BAC" : /* make green */ break; 
    // etc. 
    } 
}